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

Über das Projekt

Role to install Nagios Core and run hosts configuration

Installieren
ansible-galaxy install dorancemc.ansible_nagioscore
GitHub Repository
Lizenz
Unknown
Downloads
84