Dokumentation zur Zabbix-Bereitstellung Nach der Bereitstellung von Zabbix Zabbix-Agent-Betrieb 1. Um MySQL zu überwachen, müssen Sie zuerst MySQL installieren [root@localhost ~]# yum -y installiere MariaDB MariaDB-Server 2. Schreiben Sie Skripte für MySQL-Überwachungselemente Autorisieren Sie zuerst einen Benutzer im Zabbix-Agenten, sonst wird beim Testen keine Berechtigung erteilt [root@localhost ~]# mysql Willkommen beim MariaDB-Monitor. Befehle enden mit ; oder \g. Ihre MariaDB-Verbindungs-ID ist 33 Serverversion: 5.5.65-MariaDB MariaDB Server Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab und andere. Geben Sie „help;“ oder „\h“ ein, um Hilfe zu erhalten. Geben Sie „\c“ ein, um die aktuelle Eingabeanweisung zu löschen. MariaDB [(keine)]> gewähre alles auf *.* an „check“@„localhost“, identifiziert durch „123“; Abfrage OK, 0 Zeilen betroffen (0,00 Sek.) Die Hauptinhalte der MySQL-Überwachung sind
[root@localhost ~]# mkdir /etc/zabbix/scipts [root@localhost ~]# cd /etc/zabbix/scipts/ [root@localhost-Skripte]# vim mysql.sh #!/bin/bash mysql="mysql -ucheck -p123" Fall $1 in #mysql Master-Slave-Status Slave-Status) $mysql -e "Slave-Status anzeigen\G" |grep "Ja" |wc -l ;; # MySQL-Verkehr akzeptiert empfangene Bytes) mysqladmin erweiterter Status |grep "Bytes_received" |awk '{print $4}' ;; # MySQL-Verkehr sentBytes_sent) mysqladmin erweiterter Status |grep "Bytes_sent" |awk '{print $4}' ;; #MySQL regulärer Betrieb fügt Com_insert hinzu) mysqladmin erweiterter Status |grep -w "Com_insert" |awk '{print $4}' ;; #Com_delete (MySQL-Routinevorgang löschen) mysqladmin erweiterter Status |grep -w "Com_delete" |awk '{print $4}' ;; # MySQL-Routineoperationen in Com_update ändern) mysqladmin erweiterter Status |grep -w "Com_update" |awk '{print $4}' ;; # MySQL-Routinevorgangsprüfung (Com_select) mysqladmin erweiterter Status |grep -w "Com_select" |awk '{print $4}' ;; #mysql tps tps) mysqladmin-Status |awk '{print $6/$2}' ;; #mysql qps=(Rollback+Commit)/Betriebszeit qps) Rollback = $ (mysqladmin erweiterter Status |grep -w "Com_rollback" |awk '{print $4}') commit=$(mysqladmin erweiterter Status |grep -w "Com_commit" |awk '{print $4}') Betriebszeit = $ (mysqladmin-Status |awk '{print $2}') Anzahl=$[$rollback+$commit] echo "$count $uptime" > /tmp/a.txt cat /tmp/a.txt |awk '{print $1/$2}' ;; # Datenbankgröße Wir nehmen MySQL-Datenbank als Beispiel db) $mysql -e "Wählen Sie Summe(Datenlänge) aus information_schema.tables, wobei table_schema='mysql'" |sed -n '2p' ;; # Tabellengröße Wir nehmen die Benutzertabelle unter MySQL als Beispiel (tb) $mysql -e "Wählen Sie Summe(Datenlänge) aus information_schema.tables, wobei table_schema='mysql' und table_name='Benutzer'" |sed -n '2p' ;; esac 3. Schlüsselwert anpassen und zabbix-agent neu starten [root@localhost-Skripte]# cd /etc/zabbix/zabbix_agentd.d/ [root@localhost zabbix_agentd.d]# vim mysql.conf BenutzerParameter=mysql[*],/etc/zabbix/scipts/mysql.sh $1 [root@localhost zabbix_agentd.d]# systemctl zabbix-agent neu starten 4. Installieren Sie zuerst zabbix-get im Zabbix-Server-Test [root@localhost ~]# yum -y installiere zabbix-get [root@localhost ~]# zabbix_get -s 192.168.27.137 -k mysql[slave_status] 2 [root@localhost ~]# zabbix_get -s 192.168.27.137 -k mysql[Bytes_empfangen] 850970 [root@localhost ~]# zabbix_get -s 192.168.27.137 -k mysql[Bytes_gesendet] 224906 [root@localhost ~]# zabbix_get -s 192.168.27.137 -k mysql[Com_insert] 3001 [root@localhost ~]# zabbix_get -s 192.168.27.137 -k mysql[Com_delete] 135 [root@localhost ~]# zabbix_get -s 192.168.27.137 -k mysql[Com_update] 128 [root@localhost ~]# zabbix_get -s 192.168.27.137 -k mysql[Com_select] 19 [root@localhost ~]# zabbix_get -s 192.168.27.137 -k mysql[qps] 0,864842 [root@localhost ~]# zabbix_get -s 192.168.27.137 -k mysql[tps] 1,92936 [root@localhost ~]# zabbix_get -s 192.168.27.137 -k mysql[db] 555118 [root@localhost ~]# zabbix_get -s 192.168.27.137 -k mysql[tb] 420 Fehlerbehandlung [root@localhost ~]# zabbix_get -s 192.168.27.137 -k mysql[slave_status] sh: /etc/zabbix/scipts/mysql.sh: Unzureichende Berechtigungen. Unzureichende Berechtigungen zur Skriptausführung. Gehen Sie zu zabbix-agent und fügen Sie Berechtigungen hinzu [root@localhost zabbix_agentd.d]# chmod +x /etc/zabbix/scipts/mysql.sh [root@localhost ~]# zabbix_get -s 192.168.27.137 -k mysql[slave_status] FEHLER 1227 (42000) in Zeile 1: Zugriff verweigert; Sie benötigen (mindestens eines) der SUPER,REPLICATION CLIENT-Privilegien für diesen Vorgang Weil der Benutzer keine Berechtigung hat, den Zabbix-Agenten anzuzeigen. Autorisieren Sie einen Benutzer, [root@localhost ~]# mysql im Skript hinzuzufügen Willkommen beim MariaDB-Monitor. Befehle enden mit ; oder \g. Ihre MariaDB-Verbindungs-ID ist 33 Serverversion: 5.5.65-MariaDB MariaDB Server Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab und andere. Geben Sie „help;“ oder „\h“ ein, um Hilfe zu erhalten. Geben Sie „\c“ ein, um die aktuelle Eingabeanweisung zu löschen. MariaDB [(keine)]> gewähre alles auf *.* an „check“@„localhost“, identifiziert durch „123“; Abfrage OK, 0 Zeilen betroffen (0,00 Sek.) [root@localhost-Skripte]# vim mysql.sh #!/bin/bash mysql="mysql -ucheck -p123" Fall $1 in #mysql Master-Slave-Status Slave-Status) $mysql -e "Slave-Status anzeigen\G" |grep "Ja" |wc -l ;; Fügen Sie Überwachungselemente und Diagramme auf der Zabbix-Seite hinzu MySQL-Verkehrsdaten anzeigen MySQL QPS TPS anzeigen MySQL Master-Slave-Status anzeigen Allgemeine MySQL-Vorgänge anzeigen Zeigen Sie die Größe der MySQL-Datenbanktabelle an MySQL Master-Slave-Konfiguration 1. Zabbix-Server [root@localhost ~]# vim /etc/my.cnf [root@localhost ~]# systemctl MariaDB neu starten [root@localhost ~]# mysql Willkommen beim MariaDB-Monitor. Befehle enden mit ; oder \g. Ihre MariaDB-Verbindungs-ID ist 7 Serverversion: 5.5.65-MariaDB MariaDB Server Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab und andere. Geben Sie „help;“ oder „\h“ ein, um Hilfe zu erhalten. Geben Sie „\c“ ein, um die aktuelle Eingabeanweisung zu löschen. MariaDB [(keine)]> Masterstatus anzeigen; +------------------+----------+--------------+------------------+ | Datei | Position | Binlog_Do_DB | Binlog_Ignore_DB | +------------------+----------+--------------+------------------+ | mysql-bin.000001 | 175170 | | | +------------------+----------+--------------+------------------+ 1 Zeile im Satz (0,00 Sek.) MariaDB [(keine)]> gewähre alles auf *.* an „tom“@„%“, gekennzeichnet durch „123“; Abfrage OK, 0 Zeilen betroffen (0,00 Sek.) MariaDB [(keine)]> Berechtigungen leeren; Abfrage OK, 0 Zeilen betroffen (0,00 Sek.) 2. Zabbix-Agent [root@localhost ~]# vim /etc/my.cnf [root@localhost ~]# systemctl MariaDB neu starten [root@localhost ~]# mysql Willkommen beim MariaDB-Monitor. Befehle enden mit ; oder \g. Ihre MariaDB-Verbindungs-ID ist 2 Serverversion: 5.5.65-MariaDB MariaDB Server Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab und andere. Geben Sie „help;“ oder „\h“ ein, um Hilfe zu erhalten. Geben Sie „\c“ ein, um die aktuelle Eingabeanweisung zu löschen. MariaDB [(keine)]> ändere Master in -> master_host='192.168.27.136', -> master_user='tom', -> Master-Passwort = '123', -> master_log_file='mysql-bin.000001', -> master_log_pos=175170; Abfrage OK, 0 Zeilen betroffen (0,01 Sek.) MariaDB [(keine)]> Slave starten; Abfrage OK, 0 Zeilen betroffen (0,00 Sek.) MariaDB [(keine)]> Slave-Status anzeigen \G; *************************** 1. Reihe *************************** Slave_IO_State: Wartet darauf, dass der Master ein Ereignis sendet Master_Host: 192.168.27.136 Master_Benutzer: tom Master_Port: 3306 Verbindungswiederholung: 60 Master_Log_File:mysql-bin.000001 Read_Master_Log_Pos: 175170 Relay-Logdatei:mysql-relay.000004 Relay_Log_Pos: 529 Relay_Master_Log_File: mysql-bin.000001 Slave_IO_Running: Ja Slave_SQL_Running: Nein Replicate_Do_DB: Replikat_Ignorieren_DB: Tabelle_replizieren: Tabelle_Ignorieren_replizieren: Wild_Do_Tabelle replizieren: Tabelle_Wild_Ignore_replizieren: Letzte_Fehlernummer: 1146 Last_Error: Fehler „Tabelle ‚zabbix.history_uint‘ existiert nicht“ bei Abfrage. Standarddatenbank: ‚zabbix‘. Abfrage: ‚insert into history_uint (itemid,clock,ns,value) values (23287,1602301747,810415730,1)‘ Skip_Counter: 0 Exec_Master_Log_Pos: 173424 Relay_Log_Space: 2565 Until_Condition: Keine Bis_Log_Datei: Bis_Log_Pos: 0 Master_SSL_Allowed: Nein Master_SSL_CA_Datei: Master_SSL_CA_Pfad: Master_SSL_Zertifikat: Master_SSL_Chiffre: Master_SSL_Schlüssel: Seconds_Behind_Master: NULL Master_SSL_Verify_Server_Cert: Nein Last_IO_Errno: 0 Letzter_E/A-Fehler: Last_SQL_Errno: 1146 Last_SQL_Error: Fehler „Tabelle ‚zabbix.history_uint‘ existiert nicht“ bei Abfrage. Standarddatenbank: ‚zabbix‘. Abfrage: ‚insert into history_uint (itemid,clock,ns,value) values (23287,1602301747,810415730,1)‘ Server-IDs replizieren_ignorieren: Master_Server_Id: 1 1 Zeile im Satz (0,00 Sek.) FEHLER: Keine Abfrage angegeben Fehlerbehandlung [root@localhost ~]# vim /etc/my.cnf [root@localhost ~]# systemctl MariaDB neu starten [root@localhost ~]# mysql Willkommen beim MariaDB-Monitor. Befehle enden mit ; oder \g. Ihre MariaDB-Verbindungs-ID ist 4 Serverversion: 5.5.65-MariaDB MariaDB Server Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab und andere. Geben Sie „help;“ oder „\h“ ein, um Hilfe zu erhalten. Geben Sie „\c“ ein, um die aktuelle Eingabeanweisung zu löschen. MariaDB [(keine)]> Slave-Status anzeigen \G; *************************** 1. Reihe *************************** Slave_IO_State: Wartet darauf, dass der Master ein Ereignis sendet Master_Host: 192.168.27.136 Master_Benutzer: tom Master_Port: 3306 Verbindungswiederholung: 60 Master_Log_File:mysql-bin.000001 Read_Master_Log_Pos: 199126 Relay-Logdatei:mysql-relay.000006 Relay_Log_Pos: 3950 Relay_Master_Log_File: mysql-bin.000001 Slave_IO_Running: Ja Slave_SQL_Running: Ja Replicate_Do_DB: Replikat_Ignorieren_DB: Tabelle_replizieren: Tabelle_Ignorieren_replizieren: Wild_Do_Tabelle replizieren: Tabelle_Wild_Ignore_replizieren: Last_Errno: 0 Letzter_Fehler: Skip_Counter: 0 Exec_Master_Log_Pos: 199126 Relay_Log_Space: 4240 Until_Condition: Keine Bis_Log_Datei: Bis_Log_Pos: 0 Master_SSL_Allowed: Nein Master_SSL_CA_Datei: Master_SSL_CA_Pfad: Master_SSL_Zertifikat: Master_SSL_Chiffre: Master_SSL_Schlüssel: Sekunden_Hinter_Master: 0 Master_SSL_Verify_Server_Cert: Nein Last_IO_Errno: 0 Letzter_E/A-Fehler: Last_SQL_Errno: 0 Letzter_SQL_Fehler: Server-IDs replizieren_ignorieren: Master_Server_Id: 1 1 Zeile im Satz (0,00 Sek.) Dies ist das Ende dieses Artikels zur Überwachung von MySQL mit Zabbix. Weitere Informationen zur Überwachung von MySQL mit Zabbix finden Sie in früheren Artikeln auf 123WORDPRESS.COM oder in den folgenden verwandten Artikeln. Ich hoffe, Sie werden 123WORDPRESS.COM auch in Zukunft unterstützen! Das könnte Sie auch interessieren:
|
<<: Detaillierte Erläuterung der Komponentenentwicklung des Vue-Dropdown-Menüs
>>: Index-Skip-Scan in MySQL 8.0
1. Der Tomcat-Dienst ist nicht geöffnet Geben Sie...
GTID-basierte Replikation Einführung Die GTID-bas...
Die Sicherheitsprobleme, die bei der Frontend-Ent...
Redis ist eine Open-Source-NoSQL-Datenbank, die i...
Die Hauptfunktionen sind wie folgt: Produktinform...
Die Installationsinformationen im Internet sind u...
Beispiel: Wir verwenden den Python-Code loop_hell...
Was sind HTTP-Header HTTP ist eine Abkürzung für ...
Inhaltsverzeichnis 1. Ändern Sie den Port 2375 vo...
Inhaltsverzeichnis Redis auf Docker installieren ...
Ich werde die Probleme aufzeichnen, die während d...
So schreiben Sie ein Vue-foreach-Array und durchl...
In diesem Artikel wird der spezifische Code von J...
MySQL ist eine Datenbank, die mir sehr gefällt. H...
Was tun, wenn Sie Windows Server 2008R2 vergessen...