Q-Spot.org

IT-Stuff

Zabbix - Tips & Tricks

Zabbix ist eine nette Monitoring-Lösung. Aber wie so viele andere Dinge fehlen hier und da dann doch wieder ein paar Kleinigkeiten, die man doch öfters bräuchte als man anfangs dachte. Doch zum Glück bietet Zabbix die Möglichkeit, hier und da mit ein paar Workarounds dann doch noch die ein- oder anderen Daten zu erfassen, welche so im normalen Paket nicht enthalten sind. Hier nun ein paar Tricks, Workarounds und Hinweise, mit denen man ggf. noch etwas mehr herausholen kann.

Datenbank-Monitoring mit DaBaBix

Als erstes betreibe ich einmal ganz dreiste Werbung für ein Projekt von mir - Dababix. Basiert auf Java kann es so ziemlich alle Dinge an Zabbix übergeben, welche irgendwie mit einem SQL-Statement aus einer JDBC-fähigen Datenbank herauszubekommen sind. Vorlagen für MySQL, SQLServer, Oracle und Postgre werden gleich mitgeliefert.

zur Projektseite »

CPU Auslastung eines Dienstes/Programms/whatever

Im Bugtracker zu Zabbix findet man hierzu ein schon richtig eingestaubtes Ticket, welches seit Urzeiten das Fehlen dieser Option bemägelt. In den Kommentaren findet schich ein netter Workaround, welcher auch bisher gut zu funktionieren scheint:

Schritt 1:
Man lege einen UserParameter (als EINE Zeile) in der Agentenkonfiguration an:

UserParameter=proc.cpu[*], /bin/ps -A --no-headers -ocomm,user,%cpu | /usr/bin/awk 'BEGIN {SUM=0; COMM="$1";
USER="$2"} {if (($$1==COMM || COMM=="") && ($$2==USER || USER=="")) {SUM+=$$3}} END {print SUM}'

Neustart des Dienstes nicht vergessen!

Schritt 2:
Man legt ein Item in der Form proc.cpu[PROZESSNAME, USERNAME] an, wobei beide Parameter optional sind (natürlich sollte sinnigerweise einer von beiden gesetzt sein). Datentyp ist eine Kommazahl, der Wert wird als % zurückgegeben.

Fertig :-)