Auf einem Server werden drei MySQL-Instanzprozesse gestartet, die unterschiedliche Ports belegen: 3306, 3307 und 3308 Prinzipbeschreibung: Der Port der MySQL-Instanz wird über die Regel zur automatischen Erkennung ermittelt. Der {$MYSQLPORT} in der Regel zur automatischen Erkennung ist ein Parameter, der an das Skript zur automatischen Erkennung des Agenten übergeben wird. Dieser Wert wird aus dem vom Host definierten Makro {$MYSQLPORT} ermittelt. Das Skript zur automatischen Erkennung analysiert ihn in die Form {#MYSQLPORT}: Port. Der Prototyp des Überwachungselements generiert dann das Überwachungselement basierend auf dem Wert von {#MYSQLPORT}. Der allgemeine Prozess ist wie folgt: Hostdefinitionsmakro {$MYSQLPORT}->Schlüssel der automatischen Erkennungsregel {$MYSQLPORT}->Aufruf des Skripts zur automatischen Erkennung auf dem Agenten und Analysieren in {#MYSQLPORT}: Port->Prototyp des Überwachungselements {#MYSQLPORT}->Automatisches Generieren eines Hostüberwachungselements 1. Operationen auf MySQL-Multiinstanzservern 1. Autorisieren Sie Zabbix, das MySQL-Konto zu überwachen, was in jedem Fall erforderlich ist. Das Konto hier ist zabbixagent und das Passwort ist: Zabbix131
2. Ändern Sie die Konfigurationsdatei zabbix_agentd.conf Letzte Positionserhöhung UnsafeUserParameters=1 EnableRemoteCommands=1 Include=/etc/zabbix/etc/zabbix_agentd.conf.d/*.conf [root@mysql zabbix]# vi /etc/zabbix/etc/zabbix_agentd.conf UnsafeUserParameters=1 EnableRemoteCommands=1 Include=/etc/zabbix/etc/zabbix_agentd.conf.d/*.conf 3. Konfigurationsdateien hinzufügen [root@mysql usw.]# vim /etc/zabbix/etc/zabbix_agentd.conf.d/check_mysql.conf UserParameter=mysql_discovery[*],/etc/zabbix/bin/discovery_mysql.sh $1 ###Automatisch verschiedene Ports erkennen UserParameter=mysql.status[*],/etc/zabbix/bin/mysql_status.sh $1 $2 ###Informationen zur Leistungsüberwachung UserParameter=mysql.ping[*],/etc/zabbix/bin/mysql_alive.sh $1 ### Ist es aktiv? UserParameter=mysql.ms.check[*],/etc/zabbix/bin/mysql_slave_status.sh $1 ### Ist der Slave-Status normal? UserParameter=mysql.ms.time[*],/etc/zabbix/bin/mysql_slave_time.sh $1 ### Gibt es eine Verzögerung im Slave 4. Ausführungsskriptdatei hinzufügen [root@mysql usw.]# ll /etc/zabbix/bin/ insgesamt 716 -rwxr-xr-x 1 root root 441 22. Juli 11:36 discovery_mysql.sh -rwxr-xr-x 1 root root 401 22. Juli 11:36 mysql_alive.sh -rwxr-xr-x 1 root root 303 22. Juli 15:10 mysql_slave_status.sh -rwxr-xr-x 1 root root 286 22. Juli 15:10 mysql_slave_time.sh -rwxr-xr-x 1 root root 299 22. Juli 11:36 mysql_status.sh -rwxr-xr-x 1 root root 370 22. Juli 11:36 mysql_version.sh [root@mysql usw.]# mehr /etc/zabbix/bin/discovery_mysql.sh res=`echo $1| sed "s/_/\n/g"`; port=($res) druckenf '{\n' printf '\t"Daten":[\n' für Schlüssel in ${!port[@]} Tun wenn [[ "${#port[@]}" -gt 1 und "${key}" -ne "$((${#port[@]}-1))" ]]; Dann printf '\t {\n' printf "\t\t\t\"{#MYSQLPORT}\":\"${port[${key}]}\"},\n" sonst [[ "${key}" -eq "((${#port[@]}-1))" ]] printf '\t {\n' printf "\t\t\t\"{#MYSQLPORT}\":\"${port[${key}]}\"}\n" fi Erledigt printf '\t ]\n' printf '}\n' [root@mysql usw.]# mehr /etc/zabbix/bin/mysql_status.sh #!/bin/bash var=$1 mysql=/usr/local/mysql/bin/mysql MYSQL_USER="zabbixagent" MYSQL_PASSWORD=Zabbix131 MYSQL_SOCK_DIR="/tmp/mysql$2.sock" ${mysql} -u${MYSQL_USER} -p${MYSQL_PASSWORD} -S ${MYSQL_SOCK_DIR} -e "globalen Status anzeigen;" 2> /dev/null |grep -v Variablenname|grep "\b${var}\b"|awk '{print $2}' [root@mysql usw.]# mehr /etc/zabbix/bin/mysql_alive.sh #!/bin/bash mysqladmin=/usr/local/mysql/bin/mysqladmin MYSQL_USERdd="zabbixagent" MYSQL_PASSWORD=Zabbix131 MYSQL_SOCK_DIR="/tmp/mysql$1.sock" ${mysqladmin} -u${MYSQL_USER} -p${MYSQL_PASSWORD} -S ${MYSQL_SOCK_DIR} ping|grep -c alive [root@mysql usw.]# mehr /etc/zabbix/bin/mysql_slave_status.sh #!/bin/bash #var=$1 mysql=/usr/local/mysql/bin/mysql MYSQL_USERdd="zabbixagent" MYSQL_PASSWORD=Zabbix131 MYSQL_SOCK_DIR="/tmp/mysql$1.sock" ${mysql} -u${MYSQL_USER} -p${MYSQL_PASSWORD} -S ${MYSQL_SOCK_DIR} -e "Slave-Status anzeigen\G;" 2> /dev/null|grep -E 'Slave_IO_Running: Ja|Slave_SQL_Running: Ja'|grep -c Ja [root@mysql usw.]# mehr /etc/zabbix/bin/mysql_slave_time.sh #!/bin/bash #var=$1 mysql=/usr/local/mysql/bin/mysql MYSQL_USERdd="zabbixagent" MYSQL_PASSWORD=Zabbix131 MYSQL_SOCK_DIR="/tmp/mysql$1.sock" ${mysql} -u${MYSQL_USER} -p${MYSQL_PASSWORD} -S ${MYSQL_SOCK_DIR} -e "Slave-Status anzeigen\G;" 2> /dev/null|grep -E 'Seconds_Behind_Master'|awk '{print $2}' 5. Starten Sie zabbix_agentd neu 2. Operationen auf der Zabbix-Seite 1. Importieren Sie die Vorlageninformationen template_multi_MySQL.xml. Sie können auch auf die XML-Datei verweisen, um sie manuell hinzuzufügen. 2. Erstellen Sie automatische Erkennungsregeln für die Vorlage. In den automatischen Erkennungsregeln müssen zwei Dinge definiert werden: b. Der Überwachungselementprototyp generiert das entsprechende Überwachungselement entsprechend dem erhaltenen Port und das automatische Erkennungsmakro {#MYSQLPORT} ist erforderlich. 3. Fügen Sie die neu erstellte Vorlage dem zu überwachenden Host hinzu 4. Definieren Sie auf dem zu überwachenden Host ein Makro {$MYSQLPORT}, das dem zu überwachenden Port entspricht, z. B. 3306_3307_3308 3. Warten Sie, bis die Datenerfassung abgeschlossen ist. Wenn keine Daten vorliegen, testen Sie die spezifischen Wenn Sie beispielsweise Vorgänge auf dem Zabbixserver ausführen, etwa testen, ob MySQL 3306 aktiv ist, bedeutet 1 aktiv und 0 inaktiv. Der endgültige Effekt ist Das Obige ist der vollständige Inhalt dieses Artikels. Ich hoffe, er wird für jedermanns Studium hilfreich sein. Ich hoffe auch, dass jeder 123WORDPRESS.COM unterstützen wird. Das könnte Sie auch interessieren:
|
>>: So verwenden Sie wangEditor in Vue und erhalten durch Echo von Daten den Fokus
In diesem Artikelbeispiel wird der spezifische Co...
Hintergrund Kürzlich stieß ich bei der Bereitstel...
Die /Partitionsauslastung eines Servers im IDC is...
Google China hat ein Übersetzungstool veröffentlic...
Hinweis: Das System ist Ubuntu 14.04LTS, ein 32-B...
In diesem Artikel wird die spezifische Methode zu...
Vorwort Das Miniprogramm verfügt über eine sehr p...
Heute ist der 618. und alle großen Einkaufszentre...
<br />Der Inhalt wurde aus dem Internet repr...
Hafen Harbor ist eine Open-Source-Lösung zum Erst...
Einführung in Struktur und Leistung HTML-Struktur...
Vorwort Beim Einsatz von Docker in einer Produkti...
Tutorial-Reihe MySQL-Reihe: Grundlegende Konzepte...
Inhaltsverzeichnis 1. Wie verwende ich Mixin? 2. ...
1. Zwei Arten der DMA-Zuordnung 1.1. Konsistente ...