CoffeeITWorks.ansible_nagios4_server_config

Build-Status

Rollenname

Rolle, die Nagios konfiguriert und die Konfiguration von Nagios aus Git-Repositories synchronisiert. Diese Rolle ist vorbereitet und kompatibel mit anderen AnsibleCoffee Nagios Rollenerweiterungen, Thruk-Interface, PNP4Nagios usw.

Anforderungen

Es sind keine speziellen Anforderungen nötig, halten Sie einfach Ihr System aktuell. Bisher wurde es nur auf Ubuntu 14.04 getestet.

Unterstützung für Rollenverteilung

Ubuntu: in Ordnung
RedHat: Noch nicht bereit

Rollenvariablen

Siehe alle in defaults/main.yml

Fügen Sie zu Ihren host_vars oder group_vars hinzu:

Zusätzliche Nagios-Konfigurationsoptionen

Und fügen Sie zu readonly hinzu:

nagios_cgi_authorized_for_read_only: user1, user2

Oder ändern Sie die angegebenen Berechtigungen:

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

Deaktivieren Sie Benachrichtigungen für Hosts, die nicht benötigt werden, indem Sie host_vars/hostname verwenden.

nagios_config_enable_notifications: 0

Funktion zum Klonen von Repositories

Wenn Sie möchten, können Sie ein Git-Repository einrichten, um die Konfiguration im angegebenen Unterverzeichnis zu klonen. Diese Funktion ist ein hervorragendes Merkmal dieser Rolle. Sie können beispielsweise mehrere Repositories haben:

  • Netzwerk-Repository, Verzeichnis: "net"
  • Server-Repository, Verzeichnis: "servers"
  • Serverservices-Repository, Verzeichnis: "services"

Sie können dann nur einige dieser Repositories wiederverwenden oder zusätzliche unterschiedliche Konfigurationen für diese Variable auf anderen Hosts hinzufügen, zum Beispiel:

  • Remote-Host ohne Dienstüberprüfung
  • Testserver mit Test-Repository, Verzeichnis: "testing" und all den vorherigen Repos.

Sie können dann das Tag: "config_nagios" in Ihrer Ansible-Playbook-Aufgabe verwenden, um alle Ihre Server jedes Mal zu synchronisieren, wenn Sie die Repositories aktualisieren.

Noch besser: Verwenden Sie etwas wie Jenkins Githook, um automatisch die Aufgabe auszuführen, die das Tag: config_nagios aufruft, und alle Ihre Server werden jedes Mal automatisch synchronisiert, wenn Sie etwas Neues in Ihre Nagios-Repositories mit neuer Konfiguration pushen.

Beispiel:

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"}

Sie können auch eine andere Variable mit SSH-Schlüssel verwenden:

Zuerst das Verzeichnis für Schlüssel auf dem entfernten Server für den Ansible-Remote-Benutzer erstellen:

cd
mkdir keys

Dann die Schlüssel generieren und als nagios_key_rsa speichern:

nagios_config_cfg_dirs_git_rsa:
  - { repo: "git@server:user/repo.git", version: "master", dir: "repo"}

Wenn die Variable nagios_config_cfg_dirs_git_rsa existiert, sucht die Rolle nach /home/remoteuser/keys/nagios_key_rsa, um ihn zu verwenden.

Abhängigkeiten

Hier sollte eine Liste anderer Rollen, die auf Galaxy gehostet werden, sowie Details zu Parametern, die für andere Rollen festgelegt werden müssen, oder Variablen, die von anderen Rollen verwendet werden, hinzugefügt werden.

Beispiel-Playbook

Vollständige Liste der Rollen:

- name: Nagios-Einstellungen anwenden
  hosts: nagios4_servers
  become: yes
  become_method: sudo
  roles:
    - { role: nagios4_server, tags: ["install", "nagios4_server_all", "nagios4_server"] }
    - { role: nagios4_server_plugins, tags: ["install", "nagios4_server_all", "nagios4_server_plugins"] }
    - { role: nagios4_server_pnp4nagios, tags: ["install", "nagios4_server_all", "nagios4_server_pnp4nagios"] }
    - { role: nagios4_server_snmptrap, tags: ["install", "nagios4_server_all", "nagios4_server_snmptrap"] }
    - { role: ANXS.mysql, tags: ["install", "nagios4_server_all", "nagios4_server_thruk", "ANXS.mysql"] }
    - { role: nagios4_server_thruk, tags: ["install", "nagios4_server_all", "nagios4_server_thruk"] }
    - { role: postfix_client, tags: ["install", "nagios4_server_all", "postfix_client"] }
# Zusätzliche Tags: Rolle/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

Hinter Firewalls

Für Clients, die auf gefilterte Hosts zugreifen, müssen Sie diese Ports öffnen:

TCP:

  • Ping: host-alive
  • 5666: nrpe (Windows und Linux)
  • 1248: nsclient (nur Windows)
  • 9666: für benutzerdefiniertes nrpe, wenn 5666 verwendet wird
  • 22: SSH-Prüfungen
  • 80,443: HTTP, HTTPS-Prüfungen

UDP:

  • 161: SNMP-Prüfungen

Lizenz

BSD

Autoreninformationen

Hauptautoren: Diego Daguerre, Pablo Estigarribia.
Website: https://github.com/ansiblecoffee

Über das Projekt

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

Installieren
ansible-galaxy install CoffeeITWorks.ansible_nagios4_server_config
GitHub Repository
Lizenz
mit
Downloads
474
Besitzer
IT Works group