sdarwin.nagios
Ansible Rolle: Nagios
Installiert Nagios, NRPE (sowohl Client als auch Server) und konfiguriert Nagios automatisch basierend auf der bestehenden Ansible Inventarliste der Hosts. Das Ziel ist es, ein vollständiges Nagios-Monitoringsystem in einer einzigen Ansible-Rolle zu haben, ohne dass zu viel manuelle Konfiguration erforderlich ist.
Voraussetzungen
Stellen Sie sicher, dass die DNS- oder /etc/hosts-Namensauflösung funktioniert. Zum Beispiel, dass Sie web3 unter web3.example.com anpingen können. E-Mail ist eine empfohlene Voraussetzung, mit Auswahlmöglichkeiten wie Exim, Postfix und anderen.
Rollenvariablen
Alle Variablen im Verzeichnis defaults/ können überschrieben oder geändert werden.
Kontakte/Benutzer:
Fügen Sie Benutzer hinzu, die sich in die Nagios-Web-GUI einloggen dürfen, in die Variable nagios_users:
nagios_users:
- user: nagiosadmin
pass: Password1change
email: nagiosadmin@example.com
Eine andere und bessere Möglichkeit, sowohl Nagios-Kontakte als auch Nagios-Administratoren hinzuzufügen, ist die Variable users, die mit https://github.com/mivok/ansible-users kompatibel ist.
Dieses Playbook sucht nach Benutzern in der Gruppe sysadmin, und diese werden Nagios-Administratoren.
Erstellen Sie die Variable users, ein guter Ort ist group_vars/all. Hier ist ein Beispiel.
users:
- username: foo
name: Foo Barrington
groups: ['sysadmin']
uid: 1001
ssh_key:- "ssh-rsa AAAAA.... foo@machine"
- "ssh-rsa AAAAB.... foo2@machine"
htpasswd: $apr1$SheSL4Et$xry6RljdWWvUVrh42s7OA0
nagios:
pager: "nagiosadmin_pager@example.com"
email: "nagiosadmin@example.com"
Woher kommt dieser htpasswd-Wert? Generieren Sie die htpasswds manuell und fügen Sie sie dann in users ein.
htpasswd -n mario
mario:$apr1$SheSL4Et$xry6RljdWWvUVrh42s7OA0
Sie müssen mindestens einen sysadmin-Benutzer konfigurieren, wie bereits erklärt, oder die Nagios-Kontakte funktionieren nicht.
Nagios-Befehle:
Die Nagios-Befehle befinden sich in der Variable nagios_commands, siehe defaults/main.yml. Sie können weitere Befehle hinzufügen, indem Sie die Variable erweitern oder überschreiben.
Nagios-Dienste:
Die Nagios-Dienste befinden sich derzeit in den "Checks" pro Hostgruppe in nagios_host_groups, siehe defaults/main.yml. Sie können weitere Dienste hinzufügen, indem Sie die Variable erweitern oder überschreiben. Dienst-Checks pro Host werden ähnlich in der Variable nagios_hosts in defaults/main.yml behandelt.
Nagios-Hosts:
Ansible-Hosts in der Gruppe 'all' werden in von Nagios überwachte Hosts umgewandelt. Keine Konfiguration erforderlich.
Nagios-Hostgruppen:
Ansible-Gruppen werden in Nagios-Hostgruppen umgewandelt. Keine Konfiguration erforderlich.
Überspringen von Hosts und Hostgruppen
Die folgenden Werte werden in defaults/main.yml festgelegt:
nagios_hosts_ignore: ""
nagios_groups_ignore: ""
Diese können überschrieben werden, um Hosts oder Hostgruppen einzuschließen, die vollständig übersprungen werden sollten. Beispiele:
nagios_hosts_ignore:
- host1_skip_this_host
nagios_groups_ignore:
- hostgroup_dev_to_skip
- and_this_one
Dies bestimmt, welche Hosts der Nagios-Server ignorieren/überspringen wird, da diese Hosts von den Konfigurationen ausgeschlossen werden.
Ein weiterer Aspekt ist, ob das Ansible-Playbook auf allen Servern ausgeführt werden soll. Das Standard-Playbook default.yml hat "- hosts: all", was den Nagios-Client auf allen bekannten Servern installiert. Sie könnten Ihr übergeordnetes Playbook anpassen und eine andere "hosts: "-Direktive festlegen. Es ist jedoch wahrscheinlich in Ordnung, den Monitoring-Client auf allen Servern zu installieren.
Beispiel-Playbook
Siehe default.yml im Root-Verzeichnis dieser Rolle.
Um den Client zu installieren:
roles:
- { role: 'sdarwin.nagios', run_nagios_client: true }
Um den Server zu installieren:
roles:
- { role: 'sdarwin.nagios', run_nagios_server: true }
Fügen Sie Nagios-Server zur Gruppe monitoring-servers im Ansible-Inventar hinzu. Beispiel:
[monitoring-servers]
monitor.example.com
Die Nagios-URL hat dieses Format: http://monitor.example.com/nagios/
Lizenz
BSD
Informationen zum Autor
Von Sam Darwin, 2016. Basierend auf bereits bestehenden Rollen, siehe Datei ACKNOWLEDGEMENTS.md. Feedback und Bugberichte sind willkommen.
ansible-galaxy install sdarwin.nagios