dorancemc.ansible_nagioscore
Nagios Core
Rôle pour déployer Nagios Core
Exigences
Aucune
Variables du rôle
Les objets sont définis dans des fichiers yaml et convertis en fichiers de configuration à partir de modèles.
Vous pouvez consulter plus de détails sur les variables dans le dossier default/main.
Les variables définies par système d'exploitation se trouvent dans le dossier vars/.
Remplacez les valeurs par défaut dans le fichier vars.yaml et cryptez ce fichier.
Pour modifier les données de variable, copiez le dossier nagios situé dans le dossier principal vers votre dossier d'inventaire local, de préférence dans le dossier group_vars/ ou host_vars/.
- Hôtes et Services
Les hôtes et les services peuvent être définis dans une seule variable ou par fichier.
Dans localhost.yaml, vous trouverez un exemple pour définir de nouveaux hôtes.
Copiez le dossier files/nagios dans votre emplacement préféré.
Vous pouvez créer des fichiers par hôte pour définir des hôtes et des services. Créez le dossier et mettez à jour la variable pour indiquer l'emplacement des fichiers.# nagios_hosts_path: inventory/nagios_hosts
Dans le dossier d'inventaire, créez un fichier comme ceci :
_host:
host_name: nom_hôte # requis
address: 192.168.0.1 # s'il n'est pas défini, il est remplacé par le nom
alias: Description du serveur
use: template # s'il n'est pas défini, la variable nagios_host_template_default est le modèle par défaut
_services:
nom_service: commande_service!arguments # défini avec 'nagios_service_template_default' comme modèle de service
nom_service-autre:
use: service_template
check_command: commande_service!arguments!arguments # syntaxe : <nom_commande>!$ARG1$!$ARG2$
# consultez le fichier commands.yaml pour valider la commande de service et les paramètres
Définissez les groupes d'hôtes et les groupes de services dans les variables nagios_hostgroups
et nagios_servicegroups
, puis vous pouvez ajouter si un hôte et un service y appartiennent.
- Contacts
Consultez le fichiers contacts.yaml pour plus de détails sur les variables.
Pour vous assurer que l'utilisateur a été supprimé du fichier htpasswd, ajoutez la donnée state: absent
dans la définition du contact, l'utilisateur sera supprimé de la définition des contacts et du fichier htpasswd.
- Groupes de Contacts
Les groupes de contacts sont le meilleur moyen de gérer les notifications, de créer un contact et de rejoindre des groupes. Si un contact_group est défini sur l'hôte, tous les services héritent du même groupe de contacts, ou vous pouvez définir un groupe de contacts par service.
Dépendances
Aucune
Exemple de Playbook
Définissez votre groupe nagios et incluez tous vos serveurs nagios là-dedans
[nagios]
nagios.example.com ansible_host=192.168.243.220
Incluez ceci dans votre playbook par défaut :
- hosts: nagios
roles:
- { role: dorancemc.ansible-nagioscore, tags: [ nagioscore ] }
Exécutez votre playbook pour appliquer ce rôle
ansible-playbook --limit ubuntu playbook.yaml --tags nagioscore
Si vous souhaitez appliquer seulement la configuration, appliquez simplement le tag nagios_config
ansible-playbook --limit ubuntu playbook.yaml --tags nagios_config
Grafana
Ce déploiement prend en charge l'intégration avec Grafana. Après le déploiement, vous pouvez installer Grafana manuellement
et suivre ces instructions pour compléter l'intégration.
https://support.nagios.com/kb/article/nagios-core-using-grafana-with-pnp4nagios-803.html#Grafana_Config
Ou utilisez la recette ansible et configurez ces variables pour compléter l'intégration.
https://github.com/cloudalchemy/ansible-grafana
grafana_plugins:
- sni-pnp-datasource
grafana_datasources:
- name: PNP
type: sni-pnp-datasource
isDefault: true
access: proxy
url: 'http://127.0.0.1/pnp4nagios/'
basicAuth: false
Licence
BSD
Informations sur l'auteur
Dorance Martinez @dorancemc
Role to install Nagios Core and run hosts configuration
ansible-galaxy install dorancemc.ansible_nagioscore