CoffeeITWorks.ansible_nagios4_server_config

Statut de Construction

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

À propos du projet

Configure nagios, prepared to be compatible with thruk, pnp4nagios, nagios_plugins. Has feature to clone nagios config from git repos.

Installer
ansible-galaxy install CoffeeITWorks.ansible_nagios4_server_config
Licence
mit
Téléchargements
474
Propriétaire
IT Works group