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 :

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 :

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.

Analytics

À propos du projet

Install Nagios 4.x on Ubuntu or CentOS

Installer
ansible-galaxy install sdarwin.nagios
Licence
isc
Téléchargements
539
Propriétaire