Bei der Überwachung von Heimservern mit Zabbix habe ich sie mit einem Container unter Verwendung des offiziellen Docker-Compose erstellt Da es Netzwerkgeräte gibt, können beim Empfang von SNMPTRAP Warnmeldungen gesendet werden. Da es sich bei Alert um eine Slack-Benachrichtigung handelt, werde ich zu diesem Zeitpunkt auch das Konstruktionsprotokoll hinzufügen
Das folgende grobe Bild
--docker server - OS: CentOS 7.8.2003 - Docker: docker-ce 19.03.13 - Docker-compose: 1.18.0
Zabbix veröffentlicht Zabbix-Docker unten auf GitHub https://github.com/zabbix/zabbix-docker
Beginnen Sie mit diesem Docker-Compose
Überprüfen Sie das neueste 5.0-Tag auf der zabbix-dokcer-Site und klonen Sie es, indem Sie das Tag angeben (wenn Sie das Tag nicht angeben, handelt es sich um die neueste Version wie 5.2). https://github.com/zabbix/zabbix-docker/tags
git_clone
git clone https://github.com/zabbix/zabbix-docker.git -b 5.0.5
Dieses Mal verwende ich eine Version des Centos-Images, die MySQL als Datenbank verwendet
Machen Sie das folgende yaml docker-compose.yaml
und machen Sie es zum Standard
cp_use_version
cd zabbix-docker/
cp -p docker-compose_v3_centos_mysql_latest.yaml docker-compose.yaml
Starten Sie den Daemon unten
docker-compose_up
docker-compose up -d
Überprüfen Sie den Startstatus unten. Es gibt kein Problem mit "Exit 0" oben
check_ps
# docker-compose ps
WARNING: Some services (zabbix-agent, zabbix-java-gateway, zabbix-proxy-mysql, zabbix-proxy-sqlite3, zabbix-server, zabbix-snmptraps, zabbix-web-apache-mysql, zabbix-web-nginx-mysql) use the 'deploy' key, which will be ignored. Compose does not support 'deploy' configuration - use `docker stack deploy` to deploy to a swarm.
Name Command State Ports
------------------------------------------------------------------------------------------------------------------------
zabbixdocker_db_data_mysql_1 sh Exit 0
zabbixdocker_mysql-server_1 docker-entrypoint.sh mysql ... Up
zabbixdocker_zabbix-agent_1 /sbin/tini -- /usr/bin/doc ... Up
zabbixdocker_zabbix-java-gateway_1 docker-entrypoint.sh /usr/ ... Up
zabbixdocker_zabbix-proxy-mysql_1 /sbin/tini -- /usr/bin/doc ... Up 0.0.0.0:10071->10051/tcp
zabbixdocker_zabbix-proxy-sqlite3_1 /sbin/tini -- /usr/bin/doc ... Up 0.0.0.0:10061->10051/tcp
zabbixdocker_zabbix-server_1 /sbin/tini -- /usr/bin/doc ... Up 0.0.0.0:10051->10051/tcp
zabbixdocker_zabbix-snmptraps_1 /usr/bin/supervisord -c /e ... Up 0.0.0.0:162->1162/udp
zabbixdocker_zabbix-web-apache-mysql_1 docker-entrypoint.sh Up 0.0.0.0:80->8080/tcp,
0.0.0.0:443->8443/tcp
zabbixdocker_zabbix-web-nginx-mysql_1 docker-entrypoint.sh Up 0.0.0.0:8081->8080/tcp,
0.0.0.0:8443->8443/tcp
Wenn Sie mit http: // [Docker-Server-IP] auf den Browser zugreifen, wird der folgende Bildschirm angezeigt. Melden Sie sich mit dem Benutzernamen an: Admin
, Passwort: zabbix
.
Wenn Sie sich anmelden, wird der folgende Bildschirm angezeigt
Aktivieren Sie als Grundeinstellung die Benutzereinstellungen und die Überwachung des zabbix-Servers.
2.2. zabbix-server Der zabbix-Server ist ein Fehler
Einstellungen
> Host
>> Zabbix Server
Ändern Sie, wie im folgenden Bildschirm gezeigt, den DNS-Namen in "zabbix-agent" und die Verbindungsmethode in "DNS" und klicken Sie auf "Update".
Nach einer Weile können Sie bestätigen, dass eine Agentenkommunikation möglich ist.
In Docker-Compose wird auch der Container mit Zabbix-Snmptraps gestartet und 162 zugewiesen, und SNMP-Trap kann auch als Element erworben werden. Ich konnte keine Vorlage finden, die SNMP TRAP auslöst, daher werde ich eine erstellen.
Es gibt ein Element namens "SNMP-Traps (Fallback)" im Standard-SNMP "Template Net Network Generic Device". Wenn es empfangen wird, wird eine Warnung als Auslöser ausgegeben. SNMP Trap kann möglicherweise mit der Wiederherstellung verknüpft werden, ist jedoch schwierig. Daher werden wir uns hier vorerst in 60 Sekunden erholen.
Gehen Sie zu "Einstellungen"> "Vorlage"> "Vorlage erstellen"
Geben Sie im folgenden Beispiel den Vorlagennamen "Template Net Network Generic Device SNMP plus SNMPTRAP Trigger" und die Gruppe "Templates / Network Devices" ein.
Gehen Sie zur Registerkarte "Mit Vorlage verknüpfen", wählen Sie in der neuen Vorlage "Vorlage" die Option "SNMP" für generisches Netznetzwerk aus und klicken Sie auf "Hinzufügen", um eine Vorlage zu erstellen
Geben Sie die erstellte Vorlage ein, geben Sie die Registerkarte "Trigger" an und klicken Sie oben rechts auf "Trigger erstellen", um einen zusätzlichen Trigger zu erstellen.
Erstellen Sie einen Trigger mit den folgenden Inhalten (Schweregrad ist hoch)
Registrieren Sie hier den Host in den SNMP-Überwachungseinstellungen des Netzwerkgeräts (auch für den Alarmtest verwendet).
Erstellen mit "Einstellungen"> "Host"> "Host erstellen"
Öffnen Sie die Registerkarte "Vorlage", wählen Sie die erstellte Vorlage aus und "Hinzufügen"
Wenn die SNMP-Abfrage erfolgreich ist, wird der SNMP-Teil grün.
Slack wird mit Bot verbunden
Erstellen Sie im Voraus einen Benachrichtigungskanal
Öffnen Sie die Slack-API und öffnen Sie "Ihre Apps" https://api.slack.com/
Öffnen Sie "Neue App erstellen"
App-Name: Wählen Sie "zabbix_alerter" Development Slack Workspace "Home Lab" und klicken Sie auf "App erstellen"
Wählen Sie "Bots"
Öffnen Sie Features
> OAuth & Permissions
und öffnen Sie
Erstellen Sie ein Token in "Bereichen" mit "Aufrufen: Schreiben"
Klicken Sie unter "OAuth-Tokens & Redirect-URLs" auf "App in Arbeitsbereich installieren"
Zusammenarbeit zulassen
Kopieren Sie das generierte Zugriffstoken und speichern Sie es (wird auf der Zabbix-Seite verwendet).
Öffnen Sie die Details
des erstellten Slack-Kanals ・ ・ ・ Andere
Fügen Sie` Apps`` hinzu
Füge
den erstellten zabbix_alerter
hinzu
Nach dem Hinzufügen wird es wie unten gezeigt auf dem Kanal angezeigt
Öffnen Sie "Management"> "Medientyp" und öffnen Sie "Slack" Geben Sie das von der Slack-API erstellte Zugriffstoken in "bot_token" ein, gehen Sie nach unten und klicken Sie auf "Aktualisieren"
Öffnen Sie "Admin"> "Benutzer" und öffnen Sie "Admin"
Öffnen Sie die Registerkarte "Medien" und klicken Sie auf "Hinzufügen"
Geben Sie "Slack" ein, geben Sie das Ziel "# homelab-zabbix" (Name des Benachrichtigungskanals) und "add" ein
Update
So legen Sie das globale Makro fest Öffnen Sie "Administration"> "Allgemeine Einstellungen"> "Anzeigeeinstellungen"> "Makro"
Geben Sie das Makro "{$ ZABBIX.URL}" und den Wert "http: // [Docker Server IP] /" ein und klicken Sie auf "Update"
Auslösen der Triggeraktion Öffnen Sie "Einstellungen"> "Aktionen" und klicken Sie auf "Probleme an Zabbix-Administratoren melden"
Aktivieren Sie "Aktiviert" und klicken Sie auf "Hinzufügen"
Wählen Sie den Typ "Schweregrad auslösen", Operator "oder höher", Schweregrad "Informationen" und klicken Sie auf "Hinzufügen" (wählen Sie den Schweregrad aus, über den Sie benachrichtigt werden möchten).
Klicken Sie abschließend zum Aktualisieren auf "Aktualisieren"
Beenden Sie Ping auf der Seite des registrierten Hostgeräts und führen Sie einen Alarmwarnungstest durch.
Slack-Benachrichtigungen sehen so aus
Wenn Ping wieder aktiviert und wiederhergestellt wird, wird dieselbe Nachricht neu geschrieben und wird grün.
Klicken Sie auf "In Zabbix öffnen", um Details in Ihrem Browser anzuzeigen
Fahren Sie den VPN-Tunnel auf der Hostseite herunter und geben Sie SNMPTRAP aus
Nach 60 Sekunden wird es automatisch wiederhergestellt (gleiche Nachricht neu schreiben)
Wenn der VPN-Tunnel wiederhergestellt ist, wird SNMPTRAP erneut angezeigt und in 60 Sekunden erneut als Fehler und Wiederherstellung behandelt.
Damit ist der Alarmwarnungstest abgeschlossen
Ich habe Zabbix einfach mit Docker-Compose erstellt, das offiziell veröffentlicht wird, und auch den Auslöser für SNMPTRAP gesetzt. Die Benachrichtigung über Warnungen war mit Slack verknüpft und wir konnten den Vorgang bestätigen Ich möchte Zabbix 5.0 in Zukunft auf verschiedene Arten berühren
GitHub zabbix-docker https://github.com/zabbix/zabbix-docker Zabbix Official: Beginnen Sie mit SNMP-Traps in Zabbix> Erstellen Sie "Template SNMP Trap Fallback" https://zabbix.org/wiki/Start_with_SNMP_traps_in_Zabbix#Create_.22Template_SNMP_trap_fallback.22 Zabbix Integration Slack https://www.zabbix.com/integrations/slack
Recommended Posts