tobias_richter.librenms_agent
tobias_richter.librenms_agent
Ce rôle configure SNMP et les extensions sur les agents qui peuvent ensuite être interrogés par LibreNMS. Consultez également tobias_richter.librenms pour la configuration de LibreNMS.
Ce rôle a été testé avec les extensions SNMP suivantes (et peut fonctionner avec d'autres) :
- osupdate
- distro
- entropy
- apache-stats.py
- mysql
- certificate.py
- fail2ban
- ntp-client.sh
- ntp-server.sh
- pi-hole
- ups-nut.sh
- smart
- postfixdetailed (avec https://github.com/tobias-richter/librenms-agent)
- postfix-queues (avec https://github.com/tobias-richter/librenms-agent)
- raspberrypi
- redis.py (avec https://github.com/librenms/librenms-agent/pull/327 ou https://github.com/tobias-richter/librenms-agent)
Outre les extensions SNMP, le rôle a été testé avec les extensions checkmk suivantes (et peut fonctionner avec d'autres) :
- dpkg
- apache
- proxmox
Exigences
Ce rôle nécessite Ansible 2.7 ou une version supérieure.
Variables de rôle
Consultez defaults/main.yml pour les variables de rôle documentées.
Les variables obligatoires sont :
librenms_agent_snmp_user
librenms_agent_snmp_password
librenms_agent_snmp_encryption
Configurer les extensions SNMP
Voici l'ensemble complet des options de configuration :
# nom personnalisé, doit être unique
- name: pi-hole
# doit correspondre à un script disponible sur https://github.com/tobias-richter/librenms-agent/tree/master/snmp
script: pi-hole
# contrôle le drapeau de force de la tâche de copie
copy_force: no
# un simple commentaire
comment: activer pi-hole dans LibreNMS
# arguments personnalisés qui sont passés à l'appel du script
args: -c
# paquets personnalisés qui doivent être présents pour le script
packages:
- jq
Exemples d'extensions SNMP :
librenms_agent_snmp_extensions:
- name: osupdate
script: osupdate
comment: activer les mises à jour du système d'exploitation dans LibreNMS
- name: ".1.3.6.1.4.1.2021.7890.1 distro"
script: distro
comment: activer la distribution
- name: entropy
script: entropy.sh
comment: surveiller l'entropie
- name: apache
script: apache-stats.py
comment: activer les stats d'Apache pour LibreNMS
- name: certificate
script: certificate.py
comment: activer la vérification des certificats pour LibreNMS
- name: mysql
script: mysql
comment: activer MySQL dans LibreNMS
- name: fail2ban
script: fail2ban
comment: activer les stats de fail2ban pour LibreNMS
args: -c
- name: pi-hole
script: pi-hole
copy_force: no
comment: activer pi-hole dans LibreNMS
packages:
- jq
- name: raspberry
script: raspberry.sh
script_prefix: "/usr/bin/sudo /bin/sh "
comment: activer Raspberry dans LibreNMS
- name: smart
script: "smart"
args: "-c /etc/snmp/snmpd.d/smart.config"
comment: activer smart dans LibreNMS
- name: ntp-server
script: ntp-server.sh
comment: activer les stats du serveur NTP pour LibreNMS
- name: ntp-client
script: ntp-client
comment: activer les stats du client NTP pour LibreNMS
- name: ups-nut
script: ups-nut.sh
comment: activer la surveillance pour l'UPS
Exemples d'extensions checkmk :
librenms_agent_check_mk_extensions
- script: dpkg
- script: apache
- script: proxmox
Exemple de Playbook
Ce playbook configure un agent snmpd pour LibreNMS avec les extensions osupdate, distro et dpkg.
- hosts: librenms_agent
roles:
- role: tobias_richter.librenms_agent
librenms_agent_snmp_extensions:
- name: osupdate
script: osupdate
comment: activer les mises à jour du système d'exploitation dans LibreNMS
- name: ".1.3.6.1.4.1.2021.7890.1 distro"
script: distro
comment: activer la distribution
librenms_agent_check_mk_extensions:
- script: dpkg
Ansible Role for setting up and managing librenms clients.
ansible-galaxy install tobias_richter.librenms_agent