Ihr habt ein MySQL oder MariaDB als DBMS laufen und würdet gerne wissen, wie sehr eurer favorisiertes DBMS ackert und schuftet?
Kein Problem. Percona hat schon vor einiger Zeit seine Monitoringplugins veröffentlicht und für alle zugänglich gemacht. Großzügig die Jungs 🙂
In erster Linie waren diese Plugins für die Überwachung ihres eigenen MySQL Derivates über Cacti gedacht, aber diese lassen sich auch in Zabbix einbinden.
Ich möchte hier kurz darauf eingehen und euch unser angepasstes Template für Zabbix zum Download anbieten. Die in den Plugins mitgelieferten Templates lassen sich bei Zabbix 3.0 nicht importieren.
Ich weiß, wir hängen hinter her 🙂
Vorbereitungen auf dem zu überwachendem System
Als erstes braucht ihr die entsprechenden Pakete für die Plugins. Am besten besorgt man sich das selbst... die aus dem Repos von Percona direkt.
Dazu für bebianbasierte Distributionen:
wget https://repo.percona.com/apt/percona-release_0.1-4.$(lsb_release -sc)_all.deb dpkg -i percona-release_0.1-4.$(lsb_release -sc)_all.deb apt-get update apt-get install percona-zabbix-templates
Für RHEL/CentOS
yum install http://www.percona.com/downloads/percona-release/redhat/0.1-4/percona-release-0.1-4.noarch.rpm yum list | grep percona yum install percona-zabbix-templates
Nun kopieren wir die Userparameter in das Unterverzeichnis des Zabbix-Agent. Auch hier führen viele Wege zum Ziel. Die Zabbix-Pfade können abweichen.
Wichtig ist nur, dass das Verzeichnis, in dem die Userparameter liegen, auch in der zabbix-agent.conf angezogen werden (Include=/etc/zabbix_agentd.conf.d/
).
cp /var/lib/zabbix/percona/templates/userparameter_percona_mysql.conf /etc/zabbix_agentd.conf.d/userparameter_percona_mysql.conf
Konfiguration der Konnektivität
Wir erstellen die Datei /var/lib/zabbix/percona/scripts/ss_get_mysql_stats.php.cnf
und legen dort die Zugriffsdaten für den User an. Hier im Beispiel habe ich keine Gedanken über Securityaspekte betrachtet :p. Inhalt der Datei wäre dann:
<?php $mysql_user = 'root'; $mysql_pass = 'ichbinsupergeheim';
Ein Test des vorhin installierten Scriptes / Plugins sollte dann schon ein Ergebnis liefern:
[root@test-vm]# /var/lib/zabbix/percona/scripts/get_mysql_stats_wrapper.sh gg 405647
Nun legen wir für den Zabbixuser noch eine .my.cnf an, damit der Zabbix-Agent (resp. User) sich am DBMS anmelden kann.
vi ~zabbix/.my.cnf # inhalt der Datei [client] user = root password = ichbinsupergeheim
Ein erneuter Test aus dem Zabbix-User-Kontext:
[root@test-vm]# sudo -u zabbix -H /var/lib/zabbix/percona/scripts/get_mysql_stats_wrapper.sh gg 405647
Randnotiz
Die Plugins erstellen eine temporäre Datei unterhalb von /tmp/mysql_cacti_stats.txt
. Solltet ihr einmal als root
getestet haben, müsst ihr die Datei löschen, sonst kann der User Zabbix die Datei nicht erneuern. rm /tmp/mysql_cacti_stats.txt
Konfiguration des Templates im Zabbix
Bei uns funktionierten die Templates, welche direkt von Percona kamen nicht. Dank etwas Hilfe von einem User auf Github konnten wir aber ein angepasstes Template für die Version 3.2 importieren. Ihr könnt das Template hier herunterladen. zabbix-percona.xml
Import
Ihr importiert das Template wie gewohnt über die Zabbix GUI. Aktiviert den Import der "Screens". Das Template liefert einen Screen mit, welcher alle Graphen auf einem Bildschirm vereint.
Ihr müsst nun nur noch das Template "Percona MySQL Server Template" dem Host zuweisen und dann läuft das.
Schreibe einen Kommentar