Wenn ein Zabbix-Trigger einen Schwellenwert erreicht, wird eine Aktion ausgeführt: das Senden einer Warnmeldung oder das Ausführen eines Remote-Befehls. Dieser Artikel konfiguriert und überprüft hauptsächlich, ob Zabbix Remote-Befehle ausführt. eins. UmfeldServer: Basierend auf CentOS-7-x86_64-1511; Zabbix: zabbix-3.0.1server/agent. zwei. VorsichtsmaßnahmenEinige wichtige Dinge, die zu beachten sind: 1. Die Remote-Befehlsausführung erfolgt vom Server zum Agenten und unterstützt nicht den aktiven Agentenmodus. 2. Der Proxy-Modus wird nicht unterstützt. 3. Der Zabbix-Benutzer muss über Ausführungsberechtigungen für den Befehl verfügen und kann sudo verwenden, um Root-Berechtigungen zu erteilen (sudo ohne Kennwort konfigurieren). 4. Der Remote-Befehl wird nur ausgeführt, und der Erfolg oder Misserfolg der Ausführung wird nicht erkannt und bestätigt. Sie können die Ausführung der Aktion unter „Überwachung -> Ereignisse“ überprüfen oder unter „Berichte -> Aktionsprotokoll“ prüfen, ob der Remote-Befehl erfolgreich ausgeführt wurde (erfolgreiche Ausführung wird als „Ausgeführt“ angezeigt). drei. BeispielÜberprüfen Sie es anhand eines einfachen Beispiels: Die Anzahl der Echtzeit-Onlinebenutzer auf dem Überwachungsserver überschreitet 2 nicht. Wenn der Schwellenwert überschritten wird, wird ein Alarm ausgelöst und ein Befehl ausgeführt, um den dritten angemeldeten Benutzer zum Abmelden zu zwingen, damit das Überwachungselement unter dem Schwellenwert liegt. 1. Den Auslöser einstellen Konfiguration-->Vorlagen-->Vorlage „Vorlage OS Linux“ auswählen „Trigger“-->Trigger erstellen #Trigger-Namensanpassung, Sie können Makros verwenden Name: Benutzeranmeldenummer gt 2 auf {HOST.NAME} Ausdruck: {Template OS Linux:system.users.num.last()}>2 #Sie können nach dem Element „Ausdruck“ auf „Hinzufügen“ klicken und das von Zabbix bereitgestellte Element + Funktion verwenden, um den Schwellenwertausdruck wie folgt festzulegen: #Benutzerdefiniertes Level Schweregrad: Warnung Die restlichen Einstellungen sind akzeptabel. Klicken Sie nach Abschluss der Einstellungen auf "Hinzufügen". 2. Fernsteuerschalter #Agent unterstützt standardmäßig nicht die Ausführung von Remote-Befehlen. Sie müssen diesen Parameter in der Agent-Konfigurationsdatei aktivieren. #Der Dateipfad agent.conf sollte entsprechend der tatsächlichen Situation geändert werden. Hier ist der angepasste Pfad nach der Kompilierung und Installation. Siehe http://www.cnblogs.com/netonline/p/7406598.html #Nachdem die Datei agent.conf geändert wurde, muss der Prozess neu gestartet werden. [root@localhost ~]# sed -i 's|# EnableRemoteCommands=0|EnableRemoteCommands=1|g' /usr/local/zabbix/etc/zabbix_agentd.conf [root@localhost ~]# service zabbix_agentd neu starten 3. Aktion festlegen Konfiguration-->Aktionen-->Aktion erstellen Aktion Definieren Sie in der Option Aktion den Namen: Begrenzen Sie die Anzahl der Online-Benutzer auf maximal 2 #Sie können den Aktionsnamen anpassen und für die restlichen Aktionsoptionen können die Standardwerte wie folgt verwendet werden: Bedingungen Fügen Sie in der Option „Bedingungen“ neue bedingte Urteile hinzu, um das Urteil gezielter zu gestalten, beispielsweise: Neue Bedingung: Schweregrad des Auslösers = Warnung Neue Bedingung: Triggername wie Benutzeranmeldenummer gt 2 #trigger name entspricht dem in Schritt 1 definierten Triggernamen wie folgt: Operationen Fügen Sie in der Option „Operationen“ eine neue „Aktionsoperation“ hinzu und klicken Sie auf „Neu“. Operationstyp: Wählen Sie „Remote-Befehl“ Zielliste: Ziel als „Aktueller Host“ #Agent auf diesem Rechner hinzufügen Typ: Wählen Sie „Benutzerdefiniertes Skript“ Ausführen auf: Wählen Sie „Zabbix-Agent“ und der Befehl lautet „ #Das Konto, das den Befehl ausführt, ist das Zabbix-Konto, nicht das Root-Konto. Wenn Sie den Befehl sudo nicht verwenden, ist der Befehl nach der Ausführung wirkungslos. #Außerdem habe ich versucht, bestimmte Befehle anstelle von Skripten zu verwenden. Das Ergebnis ist, dass der Befehl zwar ausgeführt wird, aber nicht wirksam ist. Da kein spezifisches Fehlerprotokoll vorhanden ist, kann der Grund nicht analysiert werden. #Verwenden Sie für den restlichen Inhalt die Standardwerte und klicken Sie auf „Hinzufügen“, wie unten gezeigt: 4. Remote-Befehlsskript #Bearbeiten Sie das Befehlsskript entsprechend dem Pfad des in Schritt 3 definierten Befehlsskripts; [root@localhost ~]# vim test.sh #!/bin/bash PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:~/bin export PATH #Hier nehmen wir einfach an, dass das dritte Login-TTY pts/2 ist pkill -kill -t pts/2 [root@localhost ~]# chmod 764 test.sh 5. Konfigurieren Sie sudo
6. Überprüfung Melden Sie sich remote beim dritten TTY des Hosts an, führen Sie keine anderen Vorgänge in der CLI aus, lösen Sie den Auslöseschwellenwert aus und lösen Sie die Befehlsaktion aus, um den dritten angemeldeten Benutzer zu zwingen, offline zu gehen. Wie aus dem Screenshot ersichtlich ist, befindet sich der Trigger, wenn die Anzahl der Online-Benutzer den Schwellenwert überschreitet, nur etwa 1 Minute lang im Zustand „PROBLEM“ und kehrt dann in den Zustand „OK“ zurück, was darauf hinweist, dass der Skriptbefehl, der den dritten Benutzer zum Offline-Schalten zwingt, ausgeführt und erfolgreich ausgeführt wurde. Aus den historischen Daten des Elements „Anzahl angemeldeter Benutzer“ können wir außerdem erkennen, dass beim Auslösen des Triggers der dritte angemeldete Benutzer offline ist. Unter dem dritten TTY ist zu erkennen, dass die Verbindung vom Host selbst getrennt wird (angegeben wird die lokale Zeit, welche in der obigen Abbildung von der Hostzeit abweicht). Zusammenfassen Dies ist das Ende dieses Artikels über Zabbix-Fernausführungsbefehle. Weitere verwandte Zabbix-Fernausführungsbefehle finden Sie in den vorherigen Artikeln von 123WORDPRESS.COM oder in den folgenden verwandten Artikeln. Ich hoffe, dass jeder 123WORDPRESS.COM in Zukunft unterstützen wird! Das könnte Sie auch interessieren:
|
<<: Beispiele für die Verwendung von pessimistischem und optimistischem Sperren in MySQL
>>: Vue+Swiper realisiert Timeline-Effekt
Ich glaube, die Befehle, die ich am häufigsten ve...
Test: Chrome v80.0.3987.122 ist normal Es gibt zw...
Dieser Artikel dient lediglich der Erinnerung an ...
Heute ist mir plötzlich eingefallen, dass es cool ...
Importieren Sie die aus der Oracle-Datenbank expo...
Übernahme des Geschäfts: Sehen Sie sich die Gehal...
Vorwort Wie wir alle wissen, ist „Wie zentriert m...
Vorwort Der Befehl mv ist die Abkürzung für move ...
Bereiten Sie die Datenbank (MySQL) vor. Wenn Sie ...
Hexo bindet einen benutzerdefinierten Domänenname...
Dieser Artikel veranschaulicht anhand von Beispie...
Vorwort smb ist der Name eines Protokolls, das fü...
Inhaltsverzeichnis Überblick Funktionalität und L...
Inhaltsverzeichnis Dienstprogramme: Verwendung in...
In diesem Artikelbeispiel wird der spezifische Ja...