GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Best Practices für Nagios-Server?

Hostgruppen und Vorlagen.

Mit Templates können Sie Klassen für Ihre Hosts und Services definieren, z. "normaler Dienst", "kritischer Dienst", "Host mit niedriger Priorität". Sie dienen auch als nützliche Möglichkeit, die Verantwortlichkeiten aufzuteilen, wenn Sie mehrere Teams mit unterschiedlichen Verantwortlichkeiten haben, sodass Sie eine „Linux-Host“-Vorlage und eine „Windows-Host“-Vorlage haben können, wobei jede die entsprechenden Kontaktinformationen definiert.

Sie können mehrere Vorlagen für eine einzelne Ressource verwenden, sodass Sie entsprechend orthogonale Vorlagen erstellen können. Sie können zum Beispiel

haben
host foo {
    use windows-host,normal-priority-host
    ...
}

die die Kontaktinformationen (und Eskalationen) für das Windows-Team und die Abfrageraten und Schwellenwerte für einen "normalen" Host abrufen würden.

Mit Hostgruppen können Sie alle Prüfungen für eine Teilmenge Ihrer Hosts zusammenfassen. Haben Sie Dinge wie "baseline-linux-hosts", die die Auslastung, den Speicherplatz, ssh überprüfen Fähigkeit, und was auch immer andere Dinge auf jedem Host sein sollten, den Sie überwachen. Fügen Sie Gruppen wie „https-server“ mit Prüfungen für HTTP-Konnektivität, HTTPS-Konnektivität und Ablaufdaten von SSL-Zertifikaten hinzu; „Dateiserver“ mit Prüfungen für NFS- und SMB-Zugriff und möglicherweise aggressiveren Festplattenprüfungen; oder "virtuelle Maschinen" mit Überprüfungen, ob die VM-Zugänglichkeitstools ordnungsgemäß ausgeführt werden.

Platzieren Sie jeden Host und jede Hostgruppe in einer eigenen Datei. Diese Datei sollte zuerst die Host- oder Hostgruppen-Definition enthalten, gefolgt von den Definitionen der Dienste, die darauf zutreffen.

Wenn Sie den cfg_dir verwenden Direktive in Ihrem nagios.cfg -Datei durchsucht Nagios rekursiv dieses Verzeichnis. Nutzen Sie das. Bei einer Einstellung von cfg_dir=/etc/nagios/conf.d , können Sie einen Verzeichnisbaum wie den folgenden haben:

  • /etc/nagios/conf.d/
    • commands.d/
      • http.cfg
      • nrpe.cfg
      • smtp.cfg
      • ssh.cfg
    • hosts.d/
      • host1.cfg
      • host2.cfg
      • host3.cfg
    • hostgroups.d/
      • hostgroup1.cfg
      • hostgroup2.cfg

Ich neige dazu, ein Verzeichnis für jeden Ressourcentyp (Befehle, Kontaktgruppen, Kontakte, Eskalationen, Hostgruppen, Hosts, Servicegruppen, Zeiträume) zu erstellen, mit Ausnahme von Diensten, die mit den Hosts oder Hostgruppen gruppiert werden, die sie verwenden.

Die genaue Struktur kann je nach Ihren organisatorischen Anforderungen variieren. Bei einem früheren Job habe ich Unterverzeichnisse unter hosts.d verwendet für jede andere Website. Bei meinem derzeitigen Job werden die meisten Nagios-Hostdefinitionen von Puppet verwaltet, also gibt es ein Verzeichnis für von Puppet verwaltete Hosts und ein separates für manuell verwaltete Hosts.

Beachten Sie, dass die oben genannten Befehle auch in mehrere Dateien aufgeteilt werden, im Allgemeinen nach Protokoll. Also die nrpe.cfg Datei hätte die Befehle check_nrpe und check_nrpe_1arg , während http.cfg könnte check_http haben , check_http_port , check_https , check_https_port , und check_https_cert .

Normalerweise habe ich keine riesige Anzahl von Vorlagen, also habe ich normalerweise nur eine hosts.d/templates.cfg Datei und ein services.d/templates.cfg Datei. Wenn Sie sie häufiger verwenden, können sie in entsprechend benannten Dateien in einem templates.d abgelegt werden Verzeichnis.

Ich habe auch gerne einen check_http_blindly Befehl, der im Grunde check_http -H $HOSTADDRESS$ -I $HOSTADDRESS$ -e HTTP/1. ist; es gibt OK zurück, selbst wenn es einen 403-Antwortcode erhält.


Nutzen Sie ausgiebig Service- und Hostgruppen sowie Templating. Erstellen Sie Hostgruppen und weisen Sie den Hostgruppen Dienste zu. Verwenden Sie Servicegruppen für Abhängigkeiten, Eskalationen und logische Gruppierungen in der Webbenutzeroberfläche.

Wenn Sie Gruppen für alles haben, besteht das Hinzufügen eines neuen Hosts aus nur 3 oder 4 Zeilen:Name, Adresse, Vorlage(n) und (optional) Hostgruppen. Alles kann mit Vorlagen versehen werden.

Lesen Sie unbedingt die Dokumentation zur Vererbung und auch die Seite mit zeitsparenden Tricks. Mehrfachvererbung kann schwierig werden, aber wenn sie richtig verwendet wird, spart sie enorm viel Zeit.


Linux
  1. Best Practices für die OpenSSH-Sicherheit

  2. Best Practices für die Sicherheit von Linux-Servern

  3. Richten Sie einen namensbasierten virtuellen Host in Apache ein

  4. Best Practices für die Sicherheit von Windows-Servern

  5. Best Practices für WordPress-Sicherheit unter Linux

So hosten Sie eine Website auf dem NGINX-Webserver

So fügen Sie einen Windows-Host zu Nagios Ubuntu Server hinzu – Teil 3

So fügen Sie einen Linux-Host zu Nagios Ubuntu Server hinzu – Teil 2

Best Practices für die Bereitstellung von Hadoop Server auf CentOS/RHEL 7 – Teil 1

Ubuntu Server Setup – Best Practices für die Sicherheit

Top 5 der besten Systemüberwachungstools