IT KnowHow für jedermann/frau

Zabbix network monitoring

Zabbix ist ein open source Monitoring System, das unter der GNU General Public License (GPL) version 2 lizenziert ist. Seit November 2013 wird es von mir eingesetzt. Hauptvorteile sind die einfache Implementierung, die Flexibilität und Skalierbarkeit sowie die geringen Voraussetzungen, die Pflegbarkeit über ein Webfrontend und die Anschaffungs- und Wartungskosten.

Serverplattform:

Softwarepakete:

Anpassungen:

Filesystem

Mounten der DB-Platte mit den folgenden Optionen, ist empfehlenswert bei  Installationen mit hoher Last:

/var            ext4    noatime,data=ordered,barrier=0 # Sofortiges Schreiben ohne Buffering, Ausschalten Journal

MySQL

innodb_flush_log_at_trx_commit=2
innodb_buffer_pool_size=1500M
innodb_log_buffer_size=4M
innodb_file_per_table

 Löschen historischer Daten bei zu großen Tabellen

Alternativ besteht die Möglichkeit, über den Housekeeper (Administration->General->Housekeeping) alte Einträge periodisch aus der DB zu entfernen. Parameter in der zabbix_server.conf dazu:

Tabellen Defragmentieren

Die Tabellen history_uint und trends_uint werden je nach Einstellung sehr groß. Um sie zu defragmentieren, genügt der Befehl

mysqlcheck -u root -p --auto-repair --optimize zabbix # Passwort in Keepass

Mailing

Zabbix Mailsettings

Alternativ kann Zabbix auch über Jabber/XMPP und SMS (nur per angeschlossenem GSM-Modem!) alarmieren.

Zabbix Proxy

Ein Proxy entlastet den Server, indem er selbst Daten sammelt und in definierten Abständen entweder an den Server überträgt (active proxy) oder vom Server gepollt wird (passive proxy).

Ist der Proxy erst funktionsfähig, können am Server Hosts angelegt werden, die in der Hostkonfiguration so konfiguriert werden müssen, dass sie vom Proxy gemonitort werden. Das funktioniert sowohl für Agent- simple- und Webchecks.

 Agents

Es gibt aktuelle Agenten für nahezu alle großen Serverplattformen. Für Windows (auf http://www.suiviperf.com/zabbix/index.php) und Linux (14.04aufwärts ) in binärer Form, ansonsten als source. Die Installation der Sourcecode-Version auf einem Ubuntu 6.06 läuft wie folgt:

Aktive Agents

Entlasten den Pollerprozeß vom Server, da sie ihre Daten selbst an den Server melden. Dafür  ist allerdings eine eingehende Verbindung auf TCP/10051 zum Server notwendig. Ideal für LAN-Clients. Damit das  klappt, müssen 3 Voraussetzungen aufeinandertreffen:

 

Logfile-Überwachung

Passive Agents

Werden vom Pollerprozeß des Servers auf TCP/10050 abgefragt und sind für DMZ-Szenarios zu bevorzugen. Voraussetzungen für die Funktion:

 

Agents mit mehreren Netzwerkkarten

Wenn ein Agent mehrere Netzwerkkarten hat, registriert er sich mit allen am Server, was sinnfrei sein kann. Um das zu verhindern, müssen die Variablen  SourceIP und ListenIP konfiguriert und der Agent neu gestartet werden.

Besondere Items

aggregate checks

Remote Commands

Können als action konfiguriert werden, um beim Zutreffen einer oder mehrerer Bedingungen (UND/ODER) eine Operation auszuführen. So kann die Operation ein Shell-Befehl sein, der vom Server zum Agent geschickt wird (Achtung – nur passive Agents!) oder ein ssh command, der direkt vom Server abgesetzt wird. Bei Linux: Zabbix-User benötigt entsprechende sudo-Rechte.

SNMP-Checks

Über Templates

Im Standardumfang von Zabbix sind einige SNMP-Templates dabei. Hier reicht es, dem jewg. Host unter Macros die Variable {$SNMP_COMMUNITY} zuzuweisen und das entsprechende Template.

Individuell

  1. den Host per snmp an der shell abfragen:
    snmpwalk -c <community> -v2c (version) <hostname/ip>
  2. wenn der Host erreichbar ist, kann ein Item dafür in Zabbix angelegt werden. Dafür ist die Kenntnis der genauen OID notwendig, die aber relativ leicht im Internet abzufragen ist.
  3. Dem Host kann auch wieder unter Macros die Variable {$SNMP_COMMUNITY} verpasst werden.
  4. Im Anschluss wird falls gewünscht ein Trigger dafür eingerichtet.

 

Hosts anhand Inventardaten finden

Downloads

Agents (Windows/Linux), Server, Proxy, Frontend und Sources: http://www.zabbix.com/download.

Kompilierte Windows-Agenten können unter http://www.suiviperf.com/zabbix/index.php heruntergeladen werden.

 

Verschlüsselung der Kommunikation

 

Anlegen eines zufälligen PSK-Keys auf agent oder proxy:

openssl rand -hex 48 -out /etc/zabbix/key.psk
chown zabbix:zabbix /etc/zabbix/key.psk
chmod 0400 /etc/zabbix/key.psk

Eintragen folgender Optionen in der Konfiguration des Agenten oder Proxys:

TLSConnect=psk
TLSAccept=psk
TLSPSKIdentity=Key1
TLSPSKFile=/etc/zabbix/key.psk

Eintragen des PSK ins Frontend des Servers

Note: There is a rating embedded within this post, please visit this post to rate it.

 

Die mobile Version verlassen