sdarwin.nagios
Rôle Ansible : Nagios
Installe Nagios, NRPE (à la fois client et serveur) et configure automatiquement Nagios en fonction de l'inventaire existant des hôtes d'Ansible.
L'objectif est d'avoir un système de supervision Nagios complet dans un seul rôle Ansible, sans nécessiter trop de configuration manuelle.
Prérequis
Assurez-vous que la résolution de noms DNS ou /etc/hosts fonctionne. Par exemple, vous devez pouvoir faire un ping sur web3 à web3.example.com.
Un e-mail est un prérequis recommandé, avec des choix comme Exim, Postfix, et d'autres.
Variables du rôle
Toutes les variables dans le dossier defaults/ peuvent être remplacées ou modifiées.
Contacts/Utilisateurs :
Ajoutez les utilisateurs qui devraient pouvoir se connecter à l'interface web de Nagios dans la variable nagios_users :
nagios_users :
- user: nagiosadmin
pass: Password1change
email: nagiosadmin@example.com
Une autre méthode, meilleure, pour ajouter à la fois les contacts Nagios et les administrateurs Nagios est la variable users, compatible avec https://github.com/mivok/ansible-users
Ce playbook recherchera des utilisateurs dans le groupe sysadmin, et ceux-ci deviendront des administrateurs Nagios.
Créez la variable users, un bon emplacement étant group_vars/all. Voici un exemple :
users :
- username: foo
name: Foo Barrington
groups: ['sysadmin']
uid: 1001
ssh_key :- "ssh-rsa AAAAA.... foo@machine"
- "ssh-rsa AAAAB.... foo2@machine"
htpasswd: $apr1$SheSL4Et$xry6RljdWWvUVrh42s7OA0
nagios :
pager: "nagiosadmin_pager@example.com"
email: "nagiosadmin@example.com"
D'où vient cette valeur htpasswd ? Générez les htpasswd manuellement, puis collez-les dans users.
htpasswd -n mario
mario:$apr1$SheSL4Et$xry6RljdWWvUVrh42s7OA0
Vous devez configurer au moins un utilisateur sysadmin, comme expliqué précédemment, sinon les contacts Nagios ne fonctionneront pas.
Commandes Nagios :
Les commandes Nagios se trouvent dans la variable nagios_commands, voir defaults/main.yml. Vous pouvez ajouter plus de commandes en ajoutant à ou en remplaçant la variable.
Services Nagios :
Les services Nagios se trouvent actuellement dans les "checks" par groupe d'hôtes dans nagios_host_groups, voir defaults/main.yml. Vous pouvez ajouter plus de services en ajoutant à ou en remplaçant la variable.
Les vérifications de services par hôte sont gérées de manière similaire dans la variable nagios_hosts de defaults/main.yml.
Hôtes Nagios :
Les hôtes Ansible du groupe 'all' sont convertis en hôtes surveillés par Nagios. Aucune configuration requise.
Groupes d'hôtes Nagios :
Les groupes Ansible sont convertis en groupes d'hôtes Nagios. Aucune configuration requise.
Ignorer des hôtes et des groupes d'hôtes
Les valeurs suivantes sont définies dans defaults/main.yml :
nagios_hosts_ignore : ""
nagios_groups_ignore : ""
Elles peuvent être remplacées pour inclure des hôtes ou des groupes d'hôtes qui devraient être complètement ignorés. Exemples :
nagios_hosts_ignore :
- host1_skip_this_host
nagios_groups_ignore :
- hostgroup_dev_to_skip
- and_this_one
Cela détermine quels hôtes le serveur Nagios ignorera/omettra, car ces hôtes seront exclus des configurations.
Une autre considération est de savoir si le playbook Ansible doit s'exécuter sur tous les serveurs. Le playbook exemple default.yml a "- hosts: all", ce qui installe le client Nagios sur tous les serveurs connus. Vous pouvez ajuster votre playbook de niveau supérieur et définir une autre directive "hosts : ". Cependant, il est probablement bon d'installer le client de surveillance sur tous les serveurs.
Exemple de Playbook
Consultez default.yml à la racine de ce rôle.
Pour installer le client :
roles :
- { role : 'sdarwin.nagios', run_nagios_client : true }
Pour installer le serveur :
roles :
- { role : 'sdarwin.nagios', run_nagios_server : true }
Ajoutez des serveurs Nagios au groupe monitoring-servers dans l'inventaire Ansible. Exemple :
[monitoring-servers]
monitor.example.com
L'URL Nagios aura ce format : http://monitor.example.com/nagios/
Licence
BSD
Informations sur l'auteur
Par Sam Darwin, 2016. Basé sur des rôles existants, voir le fichier ACKNOWLEDGEMENTS.md.
Commentaires et rapports de bogues sont les bienvenus.
ansible-galaxy install sdarwin.nagios