Zabbix überwacht NginxMaschine A: Zabbix-Server (192.168.234.128) Maschine B: Zabbix-Client (192.168.234.125) Vorgang auf Maschine B (Zabbix-Client): Bearbeiten Sie die Konfigurationsdatei des virtuellen Nginx-Hosts: [root@centos ~]# vi /etc/nginx/conf.d/default.conf Fügen Sie den folgenden Inhalt innerhalb von server{} hinzu: Standort /nginx_status { stub_status ein; Zugriff_Abmeldung; 127.0.0.1 zulassen; alles leugnen; } Nginx-Konfiguration neu laden: [root@centos ~]# nginx -s neu laden prüfen: [root@centos ~]# curl http://127.0.0.1/nginx_status Aktive Verbindungen: 1 Server akzeptiert bearbeitete Anfragen 3 3 3 Lesen: 0 Schreiben: 1 Warten: 0 #nginx Statusinformationen werden angezeigt Statusbeschreibung: Überwachungsskript hinzufügen: vi /usr/local/sbin/ngx_status.sh Fügen Sie den folgenden Inhalt hinzu: #!/bin/bash url="http://127.0.0.1/nginx_status" curl=/usr/bin/curl # Überprüfen Sie, ob der Nginx-Prozess existiert. Funktion Ping { /sbin/pidof nginx | wc -l } # Überprüfen Sie die Leistung der Nginx-Funktion aktiv { $curl $url 2>/dev/null| grep 'Aktiv' | awk '{print $NF}' } Funktion Lesen { $curl $url 2>/dev/null| grep 'Lesen' | awk '{print $2}' } Funktion schreiben { $curl $url 2>/dev/null| grep 'Schreiben' | awk '{print $4}' } Funktion warten { $curl $url 2>/dev/null| grep 'Warten' | awk '{print $6}' } Funktion akzeptiert { $curl $url 2>/dev/null| awk NR==3 | awk '{print $1}' } Funktion behandelt $curl $url 2>/dev/null| awk NR==3 | awk '{print $2}' } Funktionsanforderungen { $curl $url 2>/dev/null| awk NR==3 | awk '{print $3}' } 1 Dollar Fügen Sie Berechtigungen hinzu: [root@centos ~]# chmod 755 /usr/local/sbin/ngx_status.sh Bearbeiten Sie die Konfigurationsdatei zabbix_agent: [root@centos ~]# vi /etc/zabbix/zabbix_agentd.conf Option hinzufügen: UserParameter: UserParameter=nginx.status[*],/usr/local/sbin/ngx_status.sh $1 Starten Sie den Dienst neu: [root@centos ~]# systemctl starte zabbix-agent neu Test auf Maschine A (Server): [root@zabbix ~]# zabbix_get -s 192.168.234.125 -k 'nginx.status[akzeptiert]' 6 Erstellen Sie auf Ihrem lokalen Computer eine XML-Datei und fügen Sie den folgenden Inhalt hinzu: (passen Sie den Dateinamen an) <?xml version="1.0" encoding="UTF-8"?> <zabbix_export> <version>4.0</version> <Datum>2019-02-11T07:29:29Z</Datum> <Gruppen> <Gruppe> <name>Vorlagen</name> </Gruppe> </Gruppen> <Vorlagen> <Vorlage> <template>Vorlagen-App NGINX</template> <name>Vorlagen-App NGINX</name> <Beschreibung/> <Gruppen> <Gruppe> <name>Vorlagen</name> </Gruppe> </Gruppen> <Anwendungen> <Anwendung> <Name>nginx</Name> </Anwendung> </Anwendungen> <Artikel> <Element> <name>nginx-Statusserver akzeptiert</name> <Typ>0</Typ> <snmp_community/> <snmp_oid/> <key>nginx.status[akzeptiert]</key> <Verzögerung>60</Verzögerung> <historie>90d</historie> <trends>365d</trends> <status>0</status> <Werttyp>3</Werttyp> <erlaubte_Hosts/> <Einheiten/> <snmpv3_Kontextname/> <snmpv3_sicherheitsname/> <snmpv3_sicherheitslevel>0</snmpv3_sicherheitslevel> <snmpv3_authprotocol>0</snmpv3_authprotocol> <snmpv3_authpassphrase/> <snmpv3_privprotocol>0</snmpv3_privprotocol> <snmpv3_privpassphrase/> <params/> <ipmi_sensor/> <authtype>0</authtype> <Benutzername/> <Passwort/> <öffentlicherSchlüssel/> <privaterSchlüssel/> <port/> <description>akzeptiert</description> <inventory_link>0</inventory_link> <Anwendungen> <Anwendung> <Name>nginx</Name> </Anwendung> </Anwendungen> <Wertezuordnung/> <logtimefmt/> <Vorverarbeitung> <Schritt> <Typ>10</Typ> <params/> </Schritt> </Vorverarbeitung> <jmx_endpoint/> <Zeitüberschreitung>3 Sek.</Zeitüberschreitung> <URL/> <Abfragefelder/> <Beiträge/> <status_codes>200</status_codes> <follow_redirects>1</follow_redirects> <Beitragstyp>0</Beitragstyp> <http_proxy/> <header/> <Abrufmodus>0</Abrufmodus> <Anfragemethode>0</Anfragemethode> <Ausgabeformat>0</Ausgabeformat> <allow_traps>0</allow_traps> <SSL-Zertifikatsdatei/> <SSL-Schlüsseldatei/> <SSL-Schlüssel_Passwort/> <verify_peer>0</verify_peer> <verify_host>0</verify_host> <master_item/> </item> <Element> <name>nginx Statusverbindungen aktiv</name> <Typ>0</Typ> <snmp_community/> <snmp_oid/> <key>nginx.status[aktiv]</key> <Verzögerung>60</Verzögerung> <historie>90d</historie> <trends>365d</trends> <status>0</status> <Werttyp>3</Werttyp> <erlaubte_Hosts/> <Einheiten/> <snmpv3_Kontextname/> <snmpv3_sicherheitsname/> <snmpv3_sicherheitslevel>0</snmpv3_sicherheitslevel> <snmpv3_authprotocol>0</snmpv3_authprotocol> <snmpv3_authpassphrase/> <snmpv3_privprotocol>0</snmpv3_privprotocol> <snmpv3_privpassphrase/> <params/> <ipmi_sensor/> <authtype>0</authtype> <Benutzername/> <Passwort/> <öffentlicherSchlüssel/> <privaterSchlüssel/> <port/> <description>aktiv</description> <inventory_link>0</inventory_link> <Anwendungen> <Anwendung> <Name>nginx</Name> </Anwendung> </Anwendungen> <Wertezuordnung/> <logtimefmt/> <Vorverarbeitung/> <jmx_endpoint/> <Zeitüberschreitung>3 Sek.</Zeitüberschreitung> <URL/> <Abfragefelder/> <Beiträge/> <status_codes>200</status_codes> <follow_redirects>1</follow_redirects> <Beitragstyp>0</Beitragstyp> <http_proxy/> <header/> <Abrufmodus>0</Abrufmodus> <Anfragemethode>0</Anfragemethode> <Ausgabeformat>0</Ausgabeformat> <allow_traps>0</allow_traps> <SSL-Zertifikatsdatei/> <SSL-Schlüsseldatei/> <SSL-Schlüssel_Passwort/> <verify_peer>0</verify_peer> <verify_host>0</verify_host> <master_item/> </item> <Element> <name>nginx-Status-Server verarbeitet</name> <Typ>0</Typ> <snmp_community/> <snmp_oid/> <key>nginx.status[behandelt]</key> <Verzögerung>60</Verzögerung> <historie>90d</historie> <trends>365d</trends> <status>0</status> <Werttyp>3</Werttyp> <erlaubte_Hosts/> <Einheiten/> <snmpv3_Kontextname/> <snmpv3_sicherheitsname/> <snmpv3_sicherheitslevel>0</snmpv3_sicherheitslevel> <snmpv3_authprotocol>0</snmpv3_authprotocol> <snmpv3_authpassphrase/> <snmpv3_privprotocol>0</snmpv3_privprotocol> <snmpv3_privpassphrase/> <params/> <ipmi_sensor/> <authtype>0</authtype> <Benutzername/> <Passwort/> <öffentlicherSchlüssel/> <privaterSchlüssel/> <port/> <description>behandelt</description> <inventory_link>0</inventory_link> <Anwendungen> <Anwendung> <Name>nginx</Name> </Anwendung> </Anwendungen> <Wertezuordnung/> <logtimefmt/> <Vorverarbeitung> <Schritt> <Typ>10</Typ> <params/> </Schritt> </Vorverarbeitung> <jmx_endpoint/> <Zeitüberschreitung>3 Sek.</Zeitüberschreitung> <URL/> <Abfragefelder/> <Beiträge/> <status_codes>200</status_codes> <follow_redirects>1</follow_redirects> <Beitragstyp>0</Beitragstyp> <http_proxy/> <header/> <retrieve_mode>0</retrieve_mode> <Anfragemethode>0</Anfragemethode> <Ausgabeformat>0</Ausgabeformat> <allow_traps>0</allow_traps> <SSL-Zertifikatsdatei/> <SSL-Schlüsseldatei/> <SSL-Schlüssel_Passwort/> <verify_peer>0</verify_peer> <verify_host>0</verify_host> <master_item/> </item> <Element> <name>nginx-Status-PING</name> <Typ>0</Typ> <snmp_community/> <snmp_oid/> <Schlüssel>nginx.status[ping]</Schlüssel> <Verzögerung>60</Verzögerung> <Verlauf>30 Tage</Verlauf> <trends>365d</trends> <status>0</status> <Werttyp>3</Werttyp> <erlaubte_Hosts/> <Einheiten/> <snmpv3_Kontextname/> <snmpv3_sicherheitsname/> <snmpv3_sicherheitslevel>0</snmpv3_sicherheitslevel> <snmpv3_authprotocol>0</snmpv3_authprotocol> <snmpv3_authpassphrase/> <snmpv3_privprotocol>0</snmpv3_privprotocol> <snmpv3_privpassphrase/> <params/> <ipmi_sensor/> <authtype>0</authtype> <Benutzername/> <Passwort/> <öffentlicherSchlüssel/> <privaterSchlüssel/> <port/> <description>ist live</description> <inventory_link>0</inventory_link> <Anwendungen> <Anwendung> <Name>nginx</Name> </Anwendung> </Anwendungen> <Wertezuordnung> <name>Dienststatus</name> </Wertekarte> <logtimefmt/> <Vorverarbeitung/> <jmx_endpoint/> <Zeitüberschreitung>3 Sek.</Zeitüberschreitung> <URL/> <Abfragefelder/> <Beiträge/> <status_codes>200</status_codes> <follow_redirects>1</follow_redirects> <Beitragstyp>0</Beitragstyp> <http_proxy/> <header/> <Abrufmodus>0</Abrufmodus> <Anfragemethode>0</Anfragemethode> <Ausgabeformat>0</Ausgabeformat> <allow_traps>0</allow_traps> <SSL-Zertifikatsdatei/> <SSL-Schlüsseldatei/> <SSL-Schlüssel_Passwort/> <verify_peer>0</verify_peer> <verify_host>0</verify_host> <master_item/> </item> <Element> <name>nginx-Statusverbindungen werden gelesen</name> <Typ>0</Typ> <snmp_community/> <snmp_oid/> <key>nginx.status[liest]</key> <Verzögerung>60</Verzögerung> <historie>90d</historie> <trends>365d</trends> <status>0</status> <Werttyp>3</Werttyp> <erlaubte_Hosts/> <Einheiten/> <snmpv3_Kontextname/> <snmpv3_sicherheitsname/> <snmpv3_sicherheitslevel>0</snmpv3_sicherheitslevel> <snmpv3_authprotocol>0</snmpv3_authprotocol> <snmpv3_authpassphrase/> <snmpv3_privprotocol>0</snmpv3_privprotocol> <snmpv3_privpassphrase/> <params/> <ipmi_sensor/> <authtype>0</authtype> <Benutzername/> <Passwort/> <öffentlicherSchlüssel/> <privaterSchlüssel/> <port/> <description>Lesen</description> <inventory_link>0</inventory_link> <Anwendungen> <Anwendung> <Name>nginx</Name> </Anwendung> </Anwendungen> <Wertezuordnung/> <logtimefmt/> <Vorverarbeitung/> <jmx_endpoint/> <Zeitüberschreitung>3 Sek.</Zeitüberschreitung> <URL/> <Abfragefelder/> <Beiträge/> <status_codes>200</status_codes> <follow_redirects>1</follow_redirects> <Beitragstyp>0</Beitragstyp> <http_proxy/> <header/> <Abrufmodus>0</Abrufmodus> <Anfragemethode>0</Anfragemethode> <Ausgabeformat>0</Ausgabeformat> <allow_traps>0</allow_traps> <SSL-Zertifikatsdatei/> <SSL-Schlüsseldatei/> <SSL-Schlüssel_Passwort/> <verify_peer>0</verify_peer> <verify_host>0</verify_host> <master_item/> </item> <Element> <name>nginx-Statusserveranforderungen</name> <Typ>0</Typ> <snmp_community/> <snmp_oid/> <key>nginx.status[Anfragen]</key> <Verzögerung>60</Verzögerung> <historie>90d</historie> <trends>365d</trends> <status>0</status> <Werttyp>3</Werttyp> <erlaubte_Hosts/> <Einheiten/> <snmpv3_Kontextname/> <snmpv3_sicherheitsname/> <snmpv3_sicherheitslevel>0</snmpv3_sicherheitslevel> <snmpv3_authprotocol>0</snmpv3_authprotocol> <snmpv3_authpassphrase/> <snmpv3_privprotocol>0</snmpv3_privprotocol> <snmpv3_privpassphrase/> <params/> <ipmi_sensor/> <authtype>0</authtype> <Benutzername/> <Passwort/> <öffentlicherSchlüssel/> <privaterSchlüssel/> <port/> <description>Anfragen</description> <inventory_link>0</inventory_link> <Anwendungen> <Anwendung> <Name>nginx</Name> </Anwendung> </Anwendungen> <Wertezuordnung/> <logtimefmt/> <Vorverarbeitung> <Schritt> <Typ>10</Typ> <params/> </Schritt> </Vorverarbeitung> <jmx_endpoint/> <Zeitüberschreitung>3 Sek.</Zeitüberschreitung> <URL/> <Abfragefelder/> <Beiträge/> <status_codes>200</status_codes> <follow_redirects>1</follow_redirects> <Beitragstyp>0</Beitragstyp> <http_proxy/> <header/> <Abrufmodus>0</Abrufmodus> <Anfragemethode>0</Anfragemethode> <Ausgabeformat>0</Ausgabeformat> <allow_traps>0</allow_traps> <SSL-Zertifikatsdatei/> <SSL-Schlüsseldatei/> <SSL-Schlüssel_Passwort/> <verify_peer>0</verify_peer> <verify_host>0</verify_host> <master_item/> </item> <Element> <name>nginx-Statusverbindungen warten</name> <Typ>0</Typ> <snmp_community/> <snmp_oid/> <key>nginx.status[wartet]</key> <Verzögerung>60</Verzögerung> <historie>90d</historie> <trends>365d</trends> <status>0</status> <Werttyp>3</Werttyp> <erlaubte_Hosts/> <Einheiten/> <snmpv3_Kontextname/> <snmpv3_sicherheitsname/> <snmpv3_sicherheitslevel>0</snmpv3_sicherheitslevel> <snmpv3_authprotocol>0</snmpv3_authprotocol> <snmpv3_authpassphrase/> <snmpv3_privprotocol>0</snmpv3_privprotocol> <snmpv3_privpassphrase/> <params/> <ipmi_sensor/> <authtype>0</authtype> <Benutzername/> <Passwort/> <öffentlicherSchlüssel/> <privaterSchlüssel/> <port/> <description>warten</description> <inventory_link>0</inventory_link> <Anwendungen> <Anwendung> <Name>nginx</Name> </Anwendung> </Anwendungen> <Wertezuordnung/> <logtimefmt/> <Vorverarbeitung/> <jmx_endpoint/> <Zeitüberschreitung>3 Sek.</Zeitüberschreitung> <URL/> <Abfragefelder/> <Beiträge/> <status_codes>200</status_codes> <follow_redirects>1</follow_redirects> <Beitragstyp>0</Beitragstyp> <http_proxy/> <header/> <retrieve_mode>0</retrieve_mode> <Anfragemethode>0</Anfragemethode> <Ausgabeformat>0</Ausgabeformat> <allow_traps>0</allow_traps> <SSL-Zertifikatsdatei/> <SSL-Schlüsseldatei/> <SSL-Schlüssel_Passwort/> <verify_peer>0</verify_peer> <verify_host>0</verify_host> <master_item/> </item> <Element> <name>nginx Statusverbindungen schreiben</name> <Typ>0</Typ> <snmp_community/> <snmp_oid/> <key>nginx.status[schreibt]</key> <Verzögerung>60</Verzögerung> <historie>90d</historie> <trends>365d</trends> <status>0</status> <Werttyp>3</Werttyp> <erlaubte_Hosts/> <Einheiten/> <snmpv3_Kontextname/> <snmpv3_sicherheitsname/> <snmpv3_sicherheitslevel>0</snmpv3_sicherheitslevel> <snmpv3_authprotocol>0</snmpv3_authprotocol> <snmpv3_authpassphrase/> <snmpv3_privprotocol>0</snmpv3_privprotocol> <snmpv3_privpassphrase/> <params/> <ipmi_sensor/> <authtype>0</authtype> <Benutzername/> <Passwort/> <öffentlicherSchlüssel/> <privaterSchlüssel/> <port/> <description>Schreiben</description> <inventory_link>0</inventory_link> <Anwendungen> <Anwendung> <Name>nginx</Name> </Anwendung> </Anwendungen> <Wertezuordnung/> <logtimefmt/> <Vorverarbeitung/> <jmx_endpoint/> <Zeitüberschreitung>3 Sek.</Zeitüberschreitung> <URL/> <Abfragefelder/> <Beiträge/> <status_codes>200</status_codes> <follow_redirects>1</follow_redirects> <Beitragstyp>0</Beitragstyp> <http_proxy/> <header/> <Abrufmodus>0</Abrufmodus> <Anfragemethode>0</Anfragemethode> <Ausgabeformat>0</Ausgabeformat> <allow_traps>0</allow_traps> <SSL-Zertifikatsdatei/> <SSL-Schlüsseldatei/> <SSL-Schlüssel_Passwort/> <verify_peer>0</verify_peer> <verify_host>0</verify_host> <master_item/> </item> </Artikel> <Erkennungsregeln/> <httptests/> <Makros/> <Vorlagen/> <Bildschirme/> </Vorlage> </Vorlagen> <Auslöser> <Auslöser> <Ausdruck>{Vorlagen-App NGINX:nginx.status[ping].last()}=0</Ausdruck> <Wiederherstellungsmodus>0</Wiederherstellungsmodus> <Wiederherstellungsausdruck/> <name>nginx war ausgefallen!</name> <Korrelationsmodus>0</Korrelationsmodus> <Korrelations-Tag/> <URL/> <status>0</status> <Priorität>4</Priorität> <description>NGINX-Prozessnummer: 0, bitte beachten</description> <Typ>0</Typ> <manual_close>0</manual_close> <Abhängigkeiten/> <tags/> </Auslöser> </triggers> <Grafiken> <Grafik> <name>nginx-Statusverbindungen</name> <Breite>900</Breite> <Höhe>200</Höhe> <yaxismin>0,0000</yaxismin> <yaxismax>100,0000</yaxismax> <Arbeitszeitraum anzeigen>1</Arbeitszeitraum anzeigen> <show_triggers>1</show_triggers> <Typ>0</Typ> <show_legend>1</show_legend> <show_3d>0</show_3d> <percent_left>0,0000</percent_left> <percent_right>0,0000</percent_right> <ymin_typ_1>0</ymin_typ_1> <ymax_typ_1>0</ymax_typ_1> <ymin_item_1>0</ymin_item_1> <ymax_item_1>0</ymax_item_1> <Grafikelemente> <Grafikelement> <sortorder>0</sortorder> <drawtype>0</drawtype> <color>00C800</color> <yaxisside>0</yaxisside> <calc_fnc>2</calc_fnc> <Typ>0</Typ> <Element> <host>Vorlagen-App NGINX</host> <key>nginx.status[aktiv]</key> </item> </graph_item> <Grafikelement> <sortorder>1</sortorder> <drawtype>0</drawtype> <color>C80000</color> <yaxisside>0</yaxisside> <calc_fnc>2</calc_fnc> <Typ>0</Typ> <Element> <host>Vorlagen-App NGINX</host> <key>nginx.status[liest]</key> </item> </graph_item> <Grafikelement> <sortorder>2</sortorder> <drawtype>0</drawtype> <Farbe>0000C8</Farbe> <yaxisside>0</yaxisside> <calc_fnc>2</calc_fnc> <Typ>0</Typ> <Element> <host>Vorlagen-App NGINX</host> <key>nginx.status[wartet]</key> </item> </graph_item> <Grafikelement> <sortorder>3</sortorder> <drawtype>0</drawtype> <Farbe>C800C8</Farbe> <yaxisside>0</yaxisside> <calc_fnc>2</calc_fnc> <Typ>0</Typ> <Element> <host>Vorlagen-App NGINX</host> <key>nginx.status[schreibt]</key> </item> </graph_item> </graph_items> </Grafik> <Grafik> <name>nginx-Statusserver</name> <Breite>900</Breite> <Höhe>200</Höhe> <yaxismin>0,0000</yaxismin> <yaxismax>100,0000</yaxismax> <Arbeitszeitraum anzeigen>1</Arbeitszeitraum anzeigen> <show_triggers>1</show_triggers> <Typ>0</Typ> <show_legend>1</show_legend> <show_3d>0</show_3d> <percent_left>0,0000</percent_left> <percent_right>0,0000</percent_right> <ymin_typ_1>0</ymin_typ_1> <ymax_typ_1>0</ymax_typ_1> <ymin_item_1>0</ymin_item_1> <ymax_item_1>0</ymax_item_1> <Grafikelemente> <Grafikelement> <sortorder>0</sortorder> <drawtype>0</drawtype> <color>00C800</color> <yaxisside>0</yaxisside> <calc_fnc>2</calc_fnc> <Typ>0</Typ> <Element> <host>Vorlagen-App NGINX</host> <key>nginx.status[akzeptiert]</key> </item> </graph_item> <Grafikelement> <sortorder>1</sortorder> <drawtype>0</drawtype> <color>C80000</color> <yaxisside>0</yaxisside> <calc_fnc>2</calc_fnc> <Typ>0</Typ> <Element> <host>Vorlagen-App NGINX</host> <key>nginx.status[behandelt]</key> </item> </graph_item> <Grafikelement> <sortorder>2</sortorder> <drawtype>0</drawtype> <Farbe>0000C8</Farbe> <yaxisside>0</yaxisside> <calc_fnc>2</calc_fnc> <Typ>0</Typ> <Element> <host>Vorlagen-App NGINX</host> <key>nginx.status[Anfragen]</key> </item> </graph_item> </graph_items> </Grafik> </Grafiken> <Wertezuordnungen> <Wertezuordnung> <name>Dienststatus</name> <Zuordnungen> <Zuordnung> <Wert>0</Wert> <newvalue>Runter</newvalue> </Zuordnung> <Zuordnung> <Wert>1</Wert> <newvalue>Nach oben</newvalue> </Zuordnung> </Zuordnungen> </Wertekarte> </Wertekarten> </zabbix_export> Klicken Sie auf der Zabbix-Frontend-Seite auf Konfiguration → Vorlage → Importieren: #Importieren Sie die soeben erstellte XML-Datei Wählen Sie nach erfolgreichem Import die überwachte Maschine (Maschine B) auf der Hostlistenseite aus und verknüpfen Sie die Vorlage, um mit der Überwachung von nginx zu beginnen Zabbix überwacht TomcatMaschine A: Zabbix-Server (192.168.234.128) Maschine B: Zabbix-Client (192.168.234.125) Installieren Sie zabbix-java-gateway auf Maschine A: [root@zabbix ~]# wget https://mirrors.tuna.tsinghua.edu.cn/zabbix/zabbix/4.0/rhel/7/x86_64/zabbix-java-gateway-4.0.14-1.el7.x86_64.rpm [root@zabbix ~]# yum -y localinstall zabbix-java-gateway-4.0.14-1.el7.x86_64.rpm Bearbeiten Sie die Gateway-Konfigurationsdatei: [root@zabbix ~]# vi /etc/zabbix/zabbix_java_gateway.conf Entfernen Sie das Kommentarsymbol # aus LISTEN_IP, LISTEN_PORT (Abhörport) und START_POLLERS (Anzahl der Prozesse): #LISTEN_IP definiert die Adresse der überwachten Maschine. Wenn nicht angegeben, werden standardmäßig alle Maschinen überwacht. Bearbeiten Sie die Serverkonfigurationsdatei: [root@zabbix ~]# vi /etc/zabbix/zabbix_server.conf Definieren Sie die folgenden 3 Konfigurationsparameter: Starten Sie den Dienst zabbix-java-gateway: [root@zabbix ~]# systemctl start zabbix-java-gateway Starten Sie den Zabbix-Server-Dienst neu: [root@zabbix ~]# systemctl starte zabbix-server neu Zeigen Sie den Abhörport an: [root@zabbix ~]# netstat -lntp |grep java tcp6 0 0 :::10052 :::* LISTEN 8706/java JMX aktivieren Bearbeiten Sie die Tomcat-Konfigurationsdatei auf Maschine B: [root@centos ~]# vi /usr/local/tomcat/bin/catalina.sh Fügen Sie den folgenden Inhalt hinzu: export CATALINA_OPTS="$CATALINA_OPTS -Dcom.sun.management.jmxremote -Djava.rmi.server.hostname=192.168.234.125 -Dcom.sun.management.jmxremote.port=9999 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false" #hostname definiert die Adresse der Maschine B, Port 9999 (Standard 12345) Starten Sie Tomcat neu: [root@centos ~]# /usr/local/tomcat/bin/shutdown.sh [root@centos ~]# /usr/local/tomcat/bin/startup.sh Zeigen Sie den Abhörport 9999 an: [root@centos ~]# netstat -lntp |grep 9999 tcp6 0 0 :::9999 :::* LISTEN 25861/java Rufen Sie die Zabbix-Frontend-Seite auf, um einen Host hinzuzufügen: #Anders als beim Hinzufügen von Überwachungshosts in normalen Situationen muss der Tomcat der Überwachungsmaschine B die JMX-Schnittstelle konfigurieren Vorlagenlinks zu zwei JMX-bezogenen Vorlagen: Wenn das JMX-Symbol grün wird, war die Konfiguration erfolgreich: Zabbix überwacht MySQLMaschine A: Zabbix-Server (192.168.234.128) Maschine B: Zabbix-Client (192.168.234.125) zabbix_agent definiert die Konfigurationsdatei für die MySQL-Überwachung: /etc/zabbix/zabbix_agentd.d/userparameter_mysql.conf Melden Sie sich bei MySQL auf Maschine B an und erstellen Sie einen Benutzer: mysql> gewährt Nutzung, Prozess, Replikationsclient auf *.* an zamysql@'localhost', identifiziert durch 'zamysql'; Erstellen Sie das in der Konfigurationsdatei angegebene Verzeichnis: [root@centos ~]# mkdir /var/lib/zabbix Erstellen Sie die Datei my.cnf: [root@centos ~]# vi /var/lib/zabbix/.my.cnf #Beachten Sie, dass diese Datei eine versteckte Datei ist Fügen Sie den folgenden Inhalt hinzu: [mysql] Host=lokaler Host Benutzer=zamysql Passwort='zamysql' socket=/tmp/mysql.sock [mysqladmin] Host=lokaler Host Benutzer=zamysql Passwort='zamysql' socket=/tmp/mysql.sock Test auf Maschine A: [root@zabbix ~]# zabbix_get -s 192.168.234.125 -p 10050 -k mysql.ping 1 [root@zabbix ~]# zabbix_get -s 192.168.234.125 -p 10050 -k mysql.version mysql Ver 14.14 Distrib 5.6.43, für linux-glibc2.12 (x86_64) mit EditLine-Wrapper [root@zabbix ~]# zabbix_get -s 192.168.234.125 -p 10050 -k mysql.size 10240 #Daten erfolgreich erhalten Fügen Sie auf der Zabbix-Frontend-Seite einen Host hinzu: Wählen Sie DB mysql in der Überwachungsvorlage aus: Der ZBX-Standard wird grün, um den Erfolg anzuzeigen: Sie können MySQL-Überwachungsdaten auf der Seite „Überwachung → Neueste Daten“ anzeigen: Zusammenfassen Oben finden Sie ein ausführliches Tutorial zur Überwachung von Nginx/Tomcat/MySQL mit Zabbix. Ich hoffe, es ist hilfreich für Sie. Wenn Sie Fragen haben, hinterlassen Sie mir bitte eine Nachricht und ich werde Ihnen rechtzeitig antworten. Ich möchte auch allen für ihre Unterstützung der Website 123WORDPRESS.COM danken! Wenn Sie diesen Artikel hilfreich finden, können Sie ihn gerne abdrucken und dabei bitte die Quelle angeben. Vielen Dank! Das könnte Sie auch interessieren:
|
<<: Anfänger verstehen das MySQL-Deadlock-Problem anhand des Quellcodes
Inhaltsverzeichnis Vorwort Der Wert der modularen...
Die in Baidu-Interviews gestellten Fragen müssen ...
Inhaltsverzeichnis Was ist React Fiber? Warum Rea...
Normalerweise gibt es bei der Entwicklung von Lin...
1. Klicken Sie auf den Server-Host und dann in de...
herunterladen Offizieller MySQL-Download, wählen ...
Inhaltsverzeichnis 1. Installation 2. Es gibt kei...
# enthält eine Standortinformation. Der Standardan...
In diesem Artikel wird der spezifische Code von j...
In diesem Artikel werden die einzelnen Schritte d...
Ein Zweck Wählen Sie auf der HTML-Seite einen lok...
Umgebungsvorbereitung 1. Umweltkonstruktion React...
Inhaltsverzeichnis 1. Prozesskontrolle 2. Sequent...
Inhaltsverzeichnis 1. CDN-Einführung 1.1 reagiere...
Übergeben von Werten zwischen Miniprogrammseiten ...