Zabbix wird in diesem Howto in Version 3.0.4 eingesetzt. Ziel ist es MySQL bzw. MariaDB zu monitoren. Das notwendige Template „App MySQL“ liefert Zabbix bereits bei der Installation mit. Folgende Daten können nach erfolgreicher Konfiguration und Auswertung durch den Agent angezeigt werden:
Graph – MySQL operations
- MySQL begin operations per second
- MySQL commit operations per second
- MySQL delete operations per second
- MySQL insert operations per second
- MySQL rollback operations per second
- MySQL select operations per second
- MySQL update operations per second
Graph – MySQL bandwidth
- MySQL bytes received per second
- MySQL bytes sent per second
Anmerkung
Wer den Installationszustand des Templates „App MySQL“ verwendet, wird „No Data“ im Graph sehen. D.h. hier muss eine minimale Konfiguration erfolgen, die ich nachfolgend beschreibe:
Zabbix Agent MySQL / MariaDB Konfiguration
Situation
- Zabbix Agent liegt im Verzeichnis „/etc/zabbix/zabbix_agentd.conf“
- Zabbix Konfigurationsdatei für MySQL liegt entspr. in „/etc/zabbix/zabbix_agentd.d/userparameter_mysql.conf“
Anpassen der Konfiguration des Zabbix Agent
- aktivieren von „Include=/etc/zabbix/zabbix_agentd.d/“
Inhalt der „userparameter_mysql.conf“
UserParameter=mysql.status[*],echo „show global status where Variable_name=’$1′;“ | HOME=/etc/zabbix mysql -N | awk ‚{print $$2}‘
UserParameter=mysql.size[*],bash -c ‚echo „select sum($(case „$3″ in both|““) echo „data_length+index_length“;; data|index) echo „$3_length“;; free) echo „data_free“;; esac)) from information_schema.tables$([[ „$1“ = „all“ || ! „$1″ ]] || echo “ where table_schema=\“$1\““)$([[ „$2“ = „all“ || ! „$2“ ]] || echo „and table_name=\“$2\““);“ | HOME=/etc/zabbix mysql -N‘
UserParameter=mysql.ping,HOME=/etc/zabbix mysqladmin ping | grep -c alive
UserParameter=mysql.version,mysql -V
Hinterlegen und Anpassen der .my.cnf für den Zugriff auf MySQL
- laut userparameter_mysql.conf schaut Zabbix in das Verzeichnis „/var/lib/zabbix“
- dies kann angepasst werden, z.B. auf „/etc/zabbix/“
- in diesem Verzeichnis eine Datei .my.cnf anlegen oder vorhandene anpassen
Inhalt der .my.cnf in dem konfiguriertem Verzeichnis:
[client]
user=MySQL-User
password=
Als Benutzer kann auch der bereits vorhandene User zabbix verwendet werden. Dieser muss dann auch für die Datenbanketnsprechend eingerichtet und berechtigt werden.
Abschließend ist der Zabbix-Agent noch neuzustarten:
- # /etc/init.d/zabbix-agent restart
Danach kann man im Log des Zabbix-Server unter „/var/log/zabbix_server.log“, den Support für MySQL gut beobachten:
item „zabbix-client:mysql.ping“ became supported
item „zabbix-client:mysql.status[Bytes_received]“ became supported
item „zabbix-client:mysql.status[Bytes_sent]“ became supported
item „zabbix-client:mysql.status[Com_begin]“ became supported
item „zabbix-client:mysql.status[Com_commit]“ became supported
item „zabbix-client:mysql.status[Com_delete]“ became supported
item „zabbix-client:mysql.status[Com_insert]“ became supported
item „zabbix-client:mysql.status[Com_rollback]“ became supported
item „zabbix-client:mysql.status[Com_select]“ became supported
item „zabbix-client:mysql.status[Com_update]“ became supported
item „zabbix-client:mysql.status[Questions]“ became supported
item „zabbix-client:mysql.status[Slow_queries]“ became supported
item „zabbix-client:mysql.status[Uptime]“ became supported
Zabbix Agent Command Line Test
# zabbix_agentd -t „mysql.version“
mysql.version [t|mysql Ver 15.1 Distrib 10.0.27-MariaDB, for debian-linux-gnu (x86_64) using readline 5.2]
Fehler: # zabbix_agentd -t mysql.ping
mysql.ping [t|mysqladmin: connect to server at ‚localhost‘ failed
error: ‚Access denied for user ‚root’@’localhost‘ (using password: NO)‘ 0]
Erfolgreich: # zabbix_agentd -t mysql.ping
mysql.ping [t|1]
Interessiert in verschiedenste IT Themen, schreibe ich in diesem Blog über Software, Hardware, Smart Home, Games und vieles mehr. Ich berichte z.B. über die Installation und Konfiguration von Software als auch von Problemen mit dieser. News sind ebenso spannend, sodass ich auch über Updates, Releases und Neuigkeiten aus der IT berichte. Letztendlich nutze ich Taste-of-IT als eigene Dokumentation und Anlaufstelle bei wiederkehrenden Themen. Ich hoffe ich kann dich ebenso informieren und bei Problemen eine schnelle Lösung anbieten. Wer meinen Aufwand unterstützen möchte, kann gerne eine Tasse oder Pod Kaffe per PayPal spenden – vielen Dank.