CoffeeITWorks.ansible_nagios4_server_config
Nom du Rôle
Rôle qui configure Nagios et synchronise la configuration de Nagios à partir de dépôts Git. Ce rôle est préparé et compatible avec d'autres plugins de rôles Nagios d'ansiblecoffee, l'interface Thruk, pnp4nagios, etc.
Exigences
Aucune exigence, il suffit de garder votre système à jour. Il est testé uniquement sur Ubuntu 14.04 pour le moment.
Support de Distribution du Rôle
Ubuntu : ok
RedHat : Pas prêt
Variables du Rôle
Consultez toutes les variables dans defaults/main.yml
Ajoutez à vos host_vars ou group_vars :
Options de configuration Nagios supplémentaires
Et ajoutez à readonly :
nagios_cgi_authorized_for_read_only : user1, user2
Ou modifiez les permissions spécifiées :
nagios_cgi_authorized_for_system_information : nagiosadmin
nagios_cgi_authorized_for_configuration_information : nagiosadmin
nagios_cgi_authorized_for_system_commands : nagiosadmin
nagios_cgi_authorized_for_all_services : nagiosadmin,user1,user2
nagios_cgi_authorized_for_all_hosts : nagiosadmin,user1,user2
nagios_cgi_authorized_for_all_service_commands : nagiosadmin
nagios_cgi_authorized_for_all_host_commands : nagiosadmin
Désactivez les notifications sur les hôtes non requis en utilisant host_vars/hostname
nagios_config_enable_notifications : 0
Fonctionnalité de clonage de dépôts
Si vous le souhaitez, vous pouvez configurer un dépôt Git pour cloner la configuration dans un sous-répertoire spécifié, c'est une excellente fonctionnalité de ce rôle. Vous pouvez avoir plusieurs dépôts, par exemple :
- Dépôt réseau, dir : "net"
- Dépôt de serveurs, dir : "servers"
- Dépôt de services de serveurs, dir : "services"
Vous pouvez ensuite réutiliser seulement quelques-uns de ceux-ci ou ajouter une configuration différente pour cette variable à d'autres hôtes comme :
- Hôte distant sans vérification de services
- Serveur de test avec dépôt de test, dir : "testing" et tous les dépôts précédents.
Vous pouvez utiliser le tag : "config_nagios" dans votre tâche ansible-playbook pour synchroniser tous vos serveurs chaque fois que vous mettez à jour les dépôts.
Encore mieux : Utilisez quelque chose comme un hook Git Jenkins pour exécuter automatiquement la tâche qui appelle le tag : config_nagios et tous vos serveurs seront automatiquement synchronisés chaque fois que vous poussez quelque chose de nouveau dans vos dépôts Nagios avec une nouvelle configuration.
Exemple :
nagios_config_cfg_dirs_git:
- { repo: "http://server/user/repo.git", version: "master", dir: "repo"}
- { repo: "http://users:password@server/user/repo2.git", version: "master", dir: "repo2"}
Vous pouvez également utiliser une autre variable avec une clé ssh :
D'abord, créez le répertoire pour les clés sur le serveur distant pour l'utilisateur distant ansible
cd
mkdir keys
Ensuite, générez les clés et enregistrez sous nagios_key_rsa
nagios_config_cfg_dirs_git_rsa:
- { repo: "git@server:user/repo.git", version: "master", dir: "repo"}
Lorsque la variable nagios_config_cfg_dirs_git_rsa existe, le rôle cherchera /home/remoteuser/keys/nagios_key_rsa pour l'utiliser.
Dépendances
Une liste d'autres rôles hébergés sur Galaxy devrait aller ici, ainsi que des détails concernant les paramètres qui peuvent devoir être définis pour d'autres rôles, ou des variables qui sont utilisées d'autres rôles.
Exemple de Playbook
Liste complète des rôles :
- name: appliquer les paramètres de Nagios
hosts: nagios4_servers
become: yes
become_method: sudo
roles:
- { rôle: nagios4_server, tags: ["install", "nagios4_server_all", "nagios4_server"] }
- { rôle: nagios4_server_plugins, tags: ["install", "nagios4_server_all", "nagios4_server_plugins"] }
- { rôle: nagios4_server_pnp4nagios, tags: ["install", "nagios4_server_all", "nagios4_server_pnp4nagios"] }
- { rôle: nagios4_server_snmptrap, tags: ["install", "nagios4_server_all", "nagios4_server_snmptrap"] }
- { rôle: ANXS.mysql, tags: ["install", "nagios4_server_all", "nagios4_server_thruk", "ANXS.mysql"] }
- { rôle: nagios4_server_thruk, tags: ["install", "nagios4_server_all", "nagios4_server_thruk"] }
- { rôle: postfix_client, tags: ["install", "nagios4_server_all", "postfix_client"] }
# Tags supplémentaires : rôle/tag
# nagios4_server - config_nagios
# nagios4_server - nagios4_server_main_config
# nagios4_server - config_nagios_cron
# nagios4_server_plugins - config_nagios_plugins
# nagios4_server_plugins - test_nagios_plugins
# nagios4_server_pnp4nagios - test_nagios_pnp4nagios
# nagios4_server_thruk - config_nagios_thruk_cron
# nagios4_server_thruk - test_nagios_thruk
# nagios4_server_thruk_git - config_nagios_thruk_git_cron
tags :
nagios4_server_main_config
nagios_config
config_nagios_cron
Derrière les Pare-feux
Pour les clients vers des hôtes protégés par un pare-feu, vous devez ouvrir ces ports :
TCP :
- Ping : vérification de l'hôte
- 5666 : nrpe (Windows et Linux)
- 1248 : nsclient (Windows uniquement)
- 9666 : nrpe personnalisé lorsque 5666 est utilisé
- 22 : vérifications SSH
- 80,443 : vérifications http, https
UDP :
- 161 : vérifications SNMP
Licence
BSD
Informations sur l'Auteur
Auteurs principaux : Diego Daguerre, Pablo Estigarribia.
Site : https://github.com/ansiblecoffee
Configure nagios, prepared to be compatible with thruk, pnp4nagios, nagios_plugins. Has feature to clone nagios config from git repos.
ansible-galaxy install CoffeeITWorks.ansible_nagios4_server_config