4 MySQL mit Zabbix Agent 2 überwachen
Einführung
Diese Seite führt Sie durch die Schritte, die erforderlich sind, um die grundlegende Überwachung eines MySQL-Servers zu starten.
Für die Überwachung eines MySQL-Servers gibt es mehrere Ansätze: Zabbix Agent, Zabbix Agent 2 oder den Standard Open Database Connectivity (ODBC). Der Schwerpunkt dieses Leitfadens liegt auf der Überwachung eines MySQL-Servers mit Zabbix Agent 2, was aufgrund der nahtlosen Konfiguration in verschiedenen Umgebungen der empfohlene Ansatz ist. Diese Seite bietet jedoch auch Anleitungen für die anderen Ansätze, sodass Sie gerne den Ansatz wählen können, der Ihren Anforderungen am besten entspricht.
Für wen diese Anleitung gedacht ist
Diese Anleitung richtet sich an neue Zabbix-Benutzer und enthält die minimale Anzahl an Schritten, die erforderlich sind, um die grundlegende Überwachung eines MySQL-Servers zu aktivieren. Wenn Sie nach umfassenden Anpassungsoptionen suchen oder eine erweiterte Konfiguration benötigen, lesen Sie den Abschnitt Configuration im Zabbix-Handbuch.
Voraussetzungen
Bevor Sie mit dieser Anleitung fortfahren, müssen Sie Zabbix Server, Zabbix Frontend und Zabbix Agent 2 gemäß den Anweisungen für Ihr Betriebssystem herunterladen und installieren.
Abhängig von Ihrer Umgebung können einige Schritte in dieser Anleitung leicht abweichen. Diese Anleitung basiert auf einer Umgebung mit Ubuntu.
MySQL-Benutzer erstellen
Um einen MySQL-Server zu überwachen, benötigt Zabbix Zugriff darauf und auf seine Prozesse. Ihre MySQL-Installation verfügt bereits über einen Benutzer mit der erforderlichen Zugriffsstufe (den Benutzer „zabbix“, der bei der Installation von Zabbix erstellt wurde), dieser Benutzer hat jedoch mehr Berechtigungen als für eine einfache Überwachung notwendig sind (Berechtigungen zum DROP von Datenbanken, zum DELETE von Einträgen aus Tabellen usw.). Daher muss ein MySQL-Benutzer erstellt werden, der nur zur Überwachung des MySQL-Servers dient.
1. Verbinden Sie sich mit dem MySQL-Client, erstellen Sie einen Benutzer „zbx_monitor“ (ersetzen Sie <password> für den Benutzer „zbx_monitor“ durch ein Passwort Ihrer Wahl) und GRANT Sie dem Benutzer die erforderlichen Berechtigungen:
mysql -u root -p
# Passwort eingeben:
mysql> CREATE USER 'zbx_monitor'@'%' IDENTIFIED BY '<password>';
mysql> GRANT REPLICATION CLIENT,PROCESS,SHOW DATABASES,SHOW VIEW ON *.* TO 'zbx_monitor'@'%';
mysql> quit;
Sobald der Benutzer erstellt wurde, können Sie mit dem nächsten Schritt fortfahren.
Zabbix Frontend konfigurieren
1. Melden Sie sich im Zabbix Frontend an.
2. Erstellen Sie einen Host in der Zabbix-Weboberfläche:
- Geben Sie im Feld Host name einen Host-Namen ein (z. B. „MySQL-Server“).
- Geben Sie im Feld Templates die Vorlage „MySQL by Zabbix agent 2“ ein oder wählen Sie sie aus, die mit dem Host verknüpft wird.
- Geben Sie im Feld Host groups eine Host-Gruppe ein oder wählen Sie eine aus (z. B. „Databases“).
- Fügen Sie im Feld Interfaces eine Schnittstelle vom Typ „Agent“ hinzu und geben Sie die IP-Adresse Ihres MySQL-Servers an. In diesem Leitfaden wird „127.0.0.1“ (localhost) verwendet, um einen MySQL-Server zu überwachen, der auf demselben Rechner wie Zabbix Server und Zabbix Agent 2 installiert ist.

- Wechseln Sie auf der Registerkarte Macros zu Inherited and host macros, suchen Sie nach den folgenden Makros und klicken Sie neben dem Makrowert auf Change, um ihn zu aktualisieren:
- {$MYSQL.DSN} - legen Sie die Datenquelle des MySQL-Servers fest (die Verbindungszeichenfolge einer benannten Sitzung aus der Konfigurationsdatei des MySQL-Zabbix-Agent-2-Plugins). In diesem Leitfaden wird die Standard-Datenquelle „tcp://localhost:3306“ verwendet, um einen MySQL-Server zu überwachen, der auf demselben Rechner wie Zabbix Server und Zabbix Agent 2 installiert ist.
- {$MYSQL.PASSWORD} - legen Sie das Passwort des zuvor erstellten MySQL-Benutzers „zbx_monitor“ fest.
- {$MYSQL.USER} - legen Sie den Namen des zuvor erstellten MySQL-Benutzers „zbx_monitor“ fest.

3. Klicken Sie auf Add, um den Host hinzuzufügen. Dieser Host wird Ihren MySQL-Server repräsentieren.
Erfasste Metriken anzeigen
Herzlichen Glückwunsch! Zu diesem Zeitpunkt überwacht Zabbix bereits Ihren MySQL-Server.
Um die erfassten Metriken anzuzeigen, wechseln Sie zum Menübereich Monitoring → Hosts und klicken Sie neben dem Host auf Dashboards.

Dadurch gelangen Sie zum Host-Dashboard (auf Vorlagenebene konfiguriert) mit den wichtigsten Metriken, die vom MySQL-Server erfasst wurden.

Alternativ können Sie im Menübereich Monitoring → Hosts auf Latest data klicken, um alle zuletzt erfassten Metriken in einer Liste anzuzeigen. Beachten Sie, dass für den Datenpunkt MySQL: Calculated value of innodb_log_file_size voraussichtlich keine Daten vorhanden sind, da der Wert aus den Daten der letzten Stunde berechnet wird.

Problembenachrichtigungen einrichten
Zabbix kann Sie mit verschiedenen Methoden über ein Problem in Ihrer Infrastruktur benachrichtigen. Diese Anleitung enthält grundlegende Konfigurationsschritte zum Senden von E-Mail-Benachrichtigungen.
1. Navigieren Sie zu Benutzereinstellungen → Profil, wechseln Sie zur Registerkarte Medien und fügen Sie Ihre E-Mail-Adresse hinzu.

2. Folgen Sie der Anleitung für Empfangen einer Problembenachrichtigung.
Wenn Zabbix das nächste Mal ein Problem erkennt, sollten Sie eine Benachrichtigung per E-Mail erhalten.
Testen Sie Ihre Konfiguration
Um Ihre Konfiguration zu testen, können wir ein echtes Problem simulieren, indem wir die Host-Konfiguration im Zabbix Frontend aktualisieren.
1. Öffnen Sie die Konfiguration Ihres MySQL-Server-Hosts in Zabbix.
2. Wechseln Sie zur Registerkarte Macros und wählen Sie Inherited and host macros.
3. Klicken Sie neben dem zuvor konfigurierten Makrowert {$MYSQL.USER} beispielsweise auf Change und setzen Sie einen anderen MySQL-Benutzernamen.
4. Klicken Sie auf Update, um die Host-Konfiguration zu aktualisieren.
5. In wenigen Augenblicken wird Zabbix das Problem „MySQL: Service is down“ erkennen, da keine Verbindung zum MySQL-Server hergestellt werden kann. Das Problem wird unter Monitoring → Problems angezeigt.

Wenn Benachrichtigungen konfiguriert sind, erhalten Sie außerdem eine Problembenachrichtigung.
6. Ändern Sie den Makrowert wieder auf den vorherigen Wert zurück, um das Problem zu beheben und die Überwachung des MySQL-Servers fortzusetzen.
Andere Ansätze zur Überwachung von MySQL
Anstatt einen MySQL-Server mit Zabbix Agent 2 zu überwachen, können Sie auch den Zabbix Agent oder den Standard Open Database Connectivity (ODBC) verwenden. Obwohl die Verwendung von Zabbix Agent 2 empfohlen wird, gibt es möglicherweise Umgebungen, die Zabbix Agent 2 nicht unterstützen oder einen benutzerdefinierten Ansatz erfordern.
Der wesentliche Unterschied zwischen Zabbix Agent und ODBC liegt in der Methode der Datenerfassung: Der Zabbix Agent wird direkt auf dem MySQL-Server installiert und erfasst Daten mithilfe seiner integrierten Funktionalität, während ODBC auf einen ODBC-Treiber angewiesen ist, um eine Verbindung zum MySQL-Server herzustellen und Daten mithilfe von SQL-Abfragen abzurufen.
Obwohl viele der Konfigurationsschritte der Überwachung eines MySQL-Servers mit Zabbix Agent 2 ähneln, gibt es einige wesentliche Unterschiede: Sie müssen den Zabbix Agent oder ODBC konfigurieren, um einen MySQL-Server überwachen zu können. Die folgenden Anweisungen führen Sie durch diese Unterschiede.
MySQL mit Zabbix Agent überwachen
Um einen MySQL-Server mit dem Zabbix Agent zu überwachen, müssen Sie Zabbix Server, Zabbix Frontend und Zabbix Agent gemäß den Anweisungen für Ihr Betriebssystem herunterladen und installieren.
Sobald Sie die erforderlichen Zabbix-Komponenten erfolgreich installiert haben, müssen Sie einen MySQL-Benutzer erstellen, wie im Abschnitt MySQL-Benutzer erstellen beschrieben.
Nachdem Sie den MySQL-Benutzer erstellt haben, müssen Sie den Zabbix Agent so konfigurieren, dass er eine Verbindung zum MySQL-Server herstellen und diesen überwachen kann.
Dazu gehört die Konfiguration mehrerer Benutzerparameter zur Ausführung benutzerdefinierter Agent-Prüfungen sowie die Bereitstellung der erforderlichen Zugangsdaten für den Zabbix Agent, damit er sich als zuvor erstellter Benutzer „zbx_monitor“ mit dem MySQL-Server verbinden kann.
Zabbix Agent konfigurieren
1. Navigieren Sie zum Verzeichnis für zusätzliche Konfigurationen des Zabbix Agent.
cd /usr/local/etc/zabbix/zabbix_agentd.d
Das Verzeichnis für zusätzliche Konfigurationen des Zabbix Agent sollte sich im selben Verzeichnis befinden wie Ihre Zabbix-Agent-Konfigurationsdatei (zabbix_agentd.conf).
Je nach Betriebssystem und Zabbix-Installation kann dieses Verzeichnis einen anderen Speicherort haben als in dieser Anleitung angegeben.
Die Standardspeicherorte finden Sie im Parameter Include in der Zabbix-Agent-Konfigurationsdatei.
Anstatt alle erforderlichen Benutzerparameter für die Überwachung des MySQL-Server in der Zabbix-Agent-Konfigurationsdatei zu definieren, werden diese Parameter in einer separaten Datei im Verzeichnis für zusätzliche Konfigurationen definiert.
2. Erstellen Sie im Verzeichnis für zusätzliche Konfigurationen des Zabbix Agent eine Datei template_db_mysql.conf.
vi template_db_mysql.conf
3. Kopieren Sie den Inhalt der Datei template_db_mysql.conf (im Zabbix-Repository) in die von Ihnen erstellte Datei template_db_mysql.conf und speichern Sie sie.
4. Starten Sie den Zabbix Agent neu, um seine Konfiguration zu aktualisieren.
systemctl restart zabbix-agent
Sobald Sie die Benutzerparameter des Zabbix Agent konfiguriert haben, können Sie mit der Konfiguration der Zugangsdaten fortfahren, die dem Zabbix Agent den Zugriff auf den MySQL-Server ermöglichen.
5. Navigieren Sie zum Home-Verzeichnis des Zabbix Agent (falls es auf Ihrem System nicht existiert, müssen Sie es erstellen; Standard: /var/lib/zabbix).
cd /var/lib/zabbix
6. Erstellen Sie im Home-Verzeichnis des Zabbix Agent eine Datei .my.cnf.
vi .my.cnf
7. Kopieren Sie den folgenden Inhalt in die Datei .my.cnf (ersetzen Sie <password> durch das Passwort des Benutzers "zbx_monitor").
[client]
user='zbx_monitor'
password='<password>'
Zabbix Frontend konfigurieren und Ihre Konfiguration testen
Um das Zabbix Frontend zu konfigurieren, folgen Sie den Anweisungen im Abschnitt Zabbix Frontend konfigurieren mit den folgenden Anpassungen:
- Geben Sie im Feld Vorlagen die Vorlage „MySQL by Zabbix agent“ ein oder wählen Sie sie aus, die mit dem Host verknüpft wird.
- Die Konfiguration von Makros ist nicht erforderlich.
Sobald Sie das Zabbix Frontend konfiguriert haben, können Sie erfasste Metriken anzeigen und Problembenachrichtigungen einrichten.
Um Ihre Konfiguration zu testen, folgen Sie den Anweisungen im Abschnitt Ihre Konfiguration testen mit den folgenden Anpassungen:
- Klicken Sie im Abschnitt Geerbte Makros und Host-Makros der Host-Konfiguration des MySQL-Servers neben dem Makrowert {$MYSQL.PORT} auf Ändern und legen Sie einen anderen Port fest (z. B. „6033“).

MySQL mit ODBC überwachen
Um einen MySQL-Server mit ODBC zu überwachen, müssen Sie Zabbix Server und Zabbix Frontend herunterladen und installieren.
Sobald Sie die erforderlichen Zabbix-Komponenten erfolgreich installiert haben, müssen Sie einen MySQL-Benutzer erstellen, wie im Abschnitt MySQL-Benutzer erstellen beschrieben.
Nachdem Sie den MySQL-Benutzer erstellt haben, müssen Sie ODBC einrichten.
Dazu gehören die Installation einer der am häufigsten verwendeten Open-Source-Implementierungen der ODBC-API – unixODBC – und eines unixODBC-Treibers sowie die Bearbeitung der ODBC-Treiberkonfigurationsdatei.
ODBC konfigurieren
1. Installieren Sie unixODBC. Die empfohlene Methode zur Installation von unixODBC ist die Verwendung der Standard-Paket-Repositories des Linux-Betriebssystems.
apt install unixodbc
2. Installieren Sie den MariaDB-unixODBC-Datenbanktreiber. Obwohl Sie eine MySQL-Datenbank haben, wird der MariaDB-unixODBC-Treiber aus Kompatibilitätsgründen verwendet.
apt install odbc-mariadb
3. Prüfen Sie den Speicherort der ODBC-Konfigurationsdateien odbcinst.ini und odbc.ini.
odbcinst -j
Das Ergebnis der Ausführung dieses Befehls sollte in etwa wie folgt aussehen.
unixODBC 2.3.9
DRIVERS............: /etc/odbcinst.ini
SYSTEM DATA SOURCES: /etc/odbc.ini
FILE DATA SOURCES..: /etc/ODBCDataSources
...
4. Um den ODBC-Treiber für die Überwachung einer MySQL-Datenbank zu konfigurieren, benötigen Sie den Treibernamen, der sich in der Datei odbcinst.ini befindet. Im folgenden Beispiel der Datei odbcinst.ini lautet der Treibername "MariaDB Unicode".
[MariaDB Unicode]
Driver=libmaodbc.so
Description=MariaDB Connector/ODBC(Unicode)
Threading=0
UsageCount=1
5. Kopieren Sie den folgenden Inhalt in die Datei odbc.ini (ersetzen Sie <password> durch das Passwort des Benutzers "zbx_monitor"). Diese Anleitung verwendet "127.0.0.1" (localhost) als Adresse des MySQL-Servers, um einen MySQL-Server zu überwachen, der auf demselben Rechner wie der ODBC-Treiber installiert ist. Beachten Sie den Namen der Datenquelle (DSN) "test", der benötigt wird, wenn Sie das Zabbix Frontend konfigurieren.
[test]
Driver=MariaDB Unicode
Server=127.0.0.1
User=zbx_monitor
Password=<password>
Port=3306
Database=zabbix
Zabbix Frontend konfigurieren und Ihre Konfiguration testen
Um das Zabbix Frontend zu konfigurieren, folgen Sie den Anweisungen im Abschnitt Zabbix Frontend konfigurieren mit den folgenden Anpassungen:
- Geben Sie im Feld Vorlagen die Vorlage „MySQL by ODBC“ ein oder wählen Sie sie aus; sie wird mit dem Host verknüpft.
- Die Konfiguration von Schnittstellen ist nicht erforderlich.
- Der Makrowert {$MYSQL.DSN} im Abschnitt Geerbte Makros und Host-Makros der Host-Konfiguration des MySQL-Servers sollte auf den DSN-Namen aus der Datei odbc.ini gesetzt werden.
Sobald Sie das Zabbix Frontend konfiguriert haben, können Sie erfasste Metriken anzeigen, Problembenachrichtigungen einrichten und Ihre Konfiguration testen.
Siehe auch
- Erstellen eines Datenpunkts – wie Sie die Überwachung zusätzlicher Metriken starten.
- Problemeskalationen – wie Sie mehrstufige Warnszenarien erstellen (z. B. zuerst eine Nachricht an den Systemadministrator senden und dann, wenn ein Problem nicht innerhalb von 45 Minuten behoben wird, eine Nachricht an den Rechenzentrumsleiter senden).
- ODBC-Überwachung – wie Sie ODBC auf anderen Linux-Distributionen einrichten und mit ODBC zusätzliche datenbankbezogene Metriken überwachen.
- Vorlage MySQL by Zabbix agent – zusätzliche Informationen zur Vorlage MySQL by Zabbix agent.
- Vorlage MySQL by Zabbix agent 2 – zusätzliche Informationen zur Vorlage MySQL by Zabbix agent 2.
- Vorlage MySQL by ODBC – zusätzliche Informationen zur Vorlage MySQL by ODBC.