Das Implementierungsprinzip des Zabbix-Sammelskripts zur dynamischen Ausführungsüberwachung

Das Implementierungsprinzip des Zabbix-Sammelskripts zur dynamischen Ausführungsüberwachung

Wenn Sie benutzerdefinierte Zabbix-Skripte zum Sammeln von Überwachungsdaten verwenden, treten normalerweise die folgenden Probleme auf:

  • Wie wird das Überwachungsskript auf dem neuen Server bereitgestellt, nachdem die Serverkapazität erweitert wurde?
  • Wenn ein Überwachungsskript geändert werden muss, wie können alle identischen Überwachungsskripte automatisch geändert werden?
  • Wie kann ich Überwachungs- und Erfassungsskripte sichern, um Verluste aufgrund von Serveranomalien zu vermeiden?
  • Wie können bei der Bereitstellung einer benutzerdefinierten Überwachung übermäßige Eingriffe durch Systemadministratoren vermieden werden?
  • Wie können wir die oben genannten Probleme ohne umfangreiche Forschung und Entwicklung lösen?

Implementierungsprinzip : Verwenden Sie den Dateiserver, um Überwachungsskripte einheitlich zu speichern und zu verwalten, betten Sie das allgemeine Skript vorab in den Zabbix-Agenten ein, rufen Sie das Skript gemäß dem vom Zabbix-Server übertragenen Schlüssel und den Parametern vom Dateiserver ab und geben Sie die Daten nach der Ausführung zurück.

Architekturdesign:

Bildbeschreibung hier einfügen

Konkrete Umsetzung:

1. Erstellen Sie einen Dateiserver am Beispiel von nginx

Ändern Sie die Nginx-Konfiguration und starten Sie neu

erver
    hören Sie 8080;
    Servername Zabbix;
    root /usr/local/static/;
    Standort / {
      Autoindex aktiviert;
      autoindex_exact_size ein;
      autoindex_localtime ein;
      Zeichensatz UTF-8;
    }
  }

2. Schreiben Sie Skripte zum Abrufen und Ausführen von Dateien

url="http://192.168.24.108:8080/" #Definieren Sie die URL des Dateiservers
parentDir="/usr/local/zabbix/bin/zabbix_script" 
file_directory=$parentDir/$1 #Definieren Sie das Verzeichnis, in dem das Skript lokal gespeichert ist file_name=$2 #Skriptname file_path=$1/$2 #Treten Sie dem Skriptpfad des Dateiservers bei if [ ! -d $file_directory ];then #Beurteilen Sie, ob das Dateiverzeichnis existiert mkdir -p $file_directory
fi

if [ ! -f $parentDir/$file_path ];then #Beurteilen, ob das Skript bereits existiert wget -P $file_directory $url$file_path 2>>log
fi

Zeitstempel=$(Datum +%s)
Dateizeitstempel=$(stat -c %Y $parentDir/$Dateipfad)
if [ $[$timestamp - $filetimestamp] -gt 3600 ];then #Beurteilen Sie den Unterschied zwischen der aktuellen Zeit und der Änderungszeit des Skripts und aktualisieren Sie ihn alle 3600 Sekunden wget $url$file_path -O $parentDir/$file_path 2>>log #Überschreiben Sie das Skript touch -c $parentDir/$file_path #Ändern Sie die Änderungszeit des Skripts fi
python $parentDir/$file_path $3 #Führen Sie das Skript aus

3. Fügen Sie die Konfigurationsdatei von Zabbix hinzu

Benutzerparameter = Anfragedatei [*],sh /usr/local/zabbix/bin/zabbix_script/Anfragedatei.sh $1 $2 $3

4. Starten Sie den Zabbix-Agenten neu

5. Schreiben Sie das Testskript und laden Sie es in das angegebene Verzeichnis des Dateiservers hoch

#Überwachen Sie die Anzahl der Serververbindungen#!/usr/bin/python
Kennwort importieren
os,sys importieren
erneut importieren
Glob importieren
Zustand = sys.argv[1]

cmd = "netstat -an | grep " + status + " | wc -l"
os.system(cmd)

6. Konfigurieren Sie die Überwachungselemente der Zabbix-Seite:

Bildbeschreibung hier einfügen

7. Beobachten Sie, ob die Daten normal sind:

Bildbeschreibung hier einfügen

8. Das neue Überwachungsskript wird nach dem Dateiserver platziert und die Überwachungselemente der Konfigurationsseite können direkt für die Datenerfassung konfiguriert werden.

Bildbeschreibung hier einfügen

Dieser Artikel konzentriert sich auf die Bereitstellung einer Lösung für die zentrale Verwaltung benutzerdefinierter Überwachungsskripte in Zabbix. Basierend auf dieser Idee können Sie die Verwendung von Zabbix frei erweitern, um sie präziser und effizienter zu gestalten und den Betrieb und die Wartung weiter zu vereinfachen.

Referenzlinks:

Wie führt Zabbix Überwachungssammlungsskripte dynamisch aus: https://mp.weixin.qq.com/s/ikuCSYhlFdtiAmt7epskWw

Dies ist das Ende dieses Artikels über das Implementierungsprinzip des dynamischen Ausführungsüberwachungs- und Sammlungsskripts von Zabbix. Weitere relevante Inhalte zum dynamischen Ausführungsüberwachungs- und Sammlungsskript von Zabbix finden Sie in früheren Artikeln auf 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:
  • Prozessdiagramm zur Implementierung der Zabbix WEB-Überwachung
  • Beispielcode zum Konfigurieren von Überwachungselementen und aggregierten Grafiken in Zabbix
  • Detailliertes Tutorial zur Überwachung von Nginx/Tomcat/MySQL mit Zabbix
  • Zabbix benutzerdefinierte Überwachung Nginx Status Implementierungsprozess

<<:  5 einfache XHTML-Webformulare für Webdesign

>>:  So schreiben Sie den Stil einer CSS3-Tianzi-Rasterliste

Artikel empfehlen

Detaillierte Anweisungen zur Installation von Jenkins auf Ubuntu 16.04

1. Voraussetzungen JDK wurde installiert echo $PA...

Eine kurze Diskussion über den virtuellen Speicher von Linux

Inhaltsverzeichnis Herkunft Virtueller Speicher P...

HTML-Meta erklärt

Einführung Der Meta-Tag ist ein Hilfstag im HEAD-...

Schreiben Sie ein MySQL-Datensicherungsskript mithilfe der Shell

Ideen Eigentlich ist es ganz einfach Schreiben Si...

Detaillierte Erläuterung des Vue-Routing-Routers

Inhaltsverzeichnis Routing-Plugins modular nutzen...

Rastersysteme im Webdesign

Bildung des Gittersystems Im Jahr 1692 war der fr...

Warum kann mein Tomcat nicht starten?

Inhaltsverzeichnis Phänomen: Portnutzung: Rechtsc...

So stellen Sie Go-Webanwendungen mit Docker bereit

Inhaltsverzeichnis Warum brauchen wir Docker? Bei...

Tutorial zur Installation von MYSQL8.0 auf Alibaba Cloud ESC

Öffnen Sie das Verbindungstool. Ich verwende Moba...

Detaillierter Vergleich von Ember.js und Vue.js

Inhaltsverzeichnis Überblick Warum ein Framework ...