dorancemc.ansible_nagioscore
Nagios Core
Rolle zur Bereitstellung von Nagios Core
Anforderungen
Keine
Rollenvariablen
Objekte sind in YAML-Dateien definiert und werden aus Vorlagen in Konfigurationsdateien umgewandelt.
Weitere Details zu den Variablen finden Sie im Verzeichnis default/main.
Variablen, die pro Betriebssystem definiert sind, befinden sich im Verzeichnis vars/.
Ersetzen Sie die Standardwerte in der Datei vars.yaml und verschlüsseln Sie diese Datei.
Um Variablen zu ändern, kopieren Sie den Ordner nagios, der sich im Hauptverzeichnis befindet, in Ihr lokales Inventarverzeichnis, vorzugsweise in den Ordner group_vars/ oder host_vars/.
- Hosts und Dienste
Hosts und Dienste können in einer Variablen oder pro Datei definiert werden.
In der localhost.yaml finden Sie ein Beispiel zur Definition neuer Hosts.
Kopieren Sie den Ordner files/nagios an Ihren bevorzugten Ort.
Sie können Dateien pro Host erstellen, um Hosts und Dienste zu definieren. Erstellen Sie den Ordner
und aktualisieren Sie die Variable, um den Pfad für die Dateien anzugeben.# nagios_hosts_path: inventory/nagios_hosts
Erstellen Sie im Inventarverzeichnis eine Datei wie diese:
_host:
host_name: hostname #erforderlich
address: 192.168.0.1 #wenn nicht definiert, wird durch den Namen ersetzt
alias: Serverbeschreibung
use: template #wenn nicht definiert, ist nagios_host_template_default die Standardvorlage
_services:
servicename: servicecommand!arguments # wird mit 'nagios_service_template_default' als Dienstvorlage definiert
servicename-other:
use: service_template
check_command: servicecommand!arguments!arguments #Syntax: <command_name>!$ARG1$!$ARG2$
#überprüfen Sie die Datei commands.yaml, um den servicecommand und die Parameter zu validieren
Definieren Sie die Hostgruppen und Dienstgruppen in den Variablen nagios_hostgroups
und nagios_servicegroups
,
dann können Sie hinzufügen, ob ein Host und ein Dienst dort enthalten sind.
- Kontakte
Überprüfen Sie die contacts.yaml, um mehr Details zu den Variablen zu erhalten.
Um sicherzustellen, dass der Benutzer aus der htpasswd-Datei gelöscht wurde, fügen Sie die Daten state: absent
in die Kontaktdaten ein,
der Benutzer wird aus der Kontaktdatenliste und der htpasswd-Datei gelöscht.
- Kontaktgruppen
Kontaktgruppen sind der beste Weg, um Benachrichtigungen zu verwalten, erstellen Sie einen Kontakt und fügen Sie Gruppen hinzu. Wenn eine Kontaktgruppe beim Host definiert ist, erben alle Dienste dieselbe Kontaktgruppe, oder Sie können eine Kontaktgruppe pro Dienst definieren.
Abhängigkeiten
Keine
Beispiel-Playbook
Definieren Sie Ihre Nagios-Gruppe und fügen Sie dort alle Ihre Nagios-Server hinzu:
[nagios]
nagios.example.com ansible_host=192.168.243.220
Fügen Sie dies in Ihr Standard-Playbook ein:
- hosts: nagios
roles:
- { role: dorancemc.ansible-nagioscore, tags: [ nagioscore ] }
Führen Sie Ihr Playbook aus, um diese Rolle anzuwenden:
ansible-playbook --limit ubuntu playbook.yaml --tags nagioscore
Wenn Sie nur die Konfiguration anwenden möchten, wenden Sie einfach das Tag nagios_config
an:
ansible-playbook --limit ubuntu playbook.yaml --tags nagios_config
Grafana
Diese Bereitstellung unterstützt die Integration mit Grafana. Nach der Bereitstellung können Sie Grafana manuell installieren
und diesen Anweisungen folgen, um die Integration abzuschließen.
https://support.nagios.com/kb/article/nagios-core-using-grafana-with-pnp4nagios-803.html#Grafana_Config
Oder verwenden Sie das Ansible-Rezept und konfigurieren Sie diese Variablen, um die Integration abzuschließen.
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
Lizenz
BSD
Autoreninformationen
Dorance Martinez @dorancemc
Role to install Nagios Core and run hosts configuration
ansible-galaxy install dorancemc.ansible_nagioscore