[PYTHON] [Amsel-Nginx] Überwachen Sie Nginx mit Amsel

blackbird nginx plugin

Dieses Plugin erhält verschiedene Informationen von nginx und sendet die Daten an das Backend Derzeit können Sie die folgenden Informationen überwachen:

Install

Amsel Körper

Bitte installieren Sie unter hier.

Install nginx plugin

Sie können entweder setup.py oder rpm verwenden. Sie können es auch manuell einfügen. In diesem Fall verwenden Sie bitte das Modul "Anfragen" von Python separat.

Installieren Sie mit setup.py

git clone https://github.com/Vagrants/blackbird-nginx.git
cd blackbird-nginx
python setup.py install

mit U / min installieren

yum install blackbird-nginx--enablerepo=blackbird

Die Abhängigkeit erfordert "Python-Anfragen"

Zulassen, dass der Status auf der Nginx-Seite übernommen wird

Definieren Sie stub_status

pl:/etc/nginx/conf.d/stub_status.conf


server {
    listen 80;
    server_name localhost;
    location /nginx_status {
        stub_status on;
        access_log  off;
        allow 127.0.0.1;
        deny  all;
    }
}

Zum Beispiel so

Plugin setzen

Die Konfiguration befindet sich in / etc / blackbird / conf.d / nginx.cfg

ini:/etc/blackbird/conf.d/nginx.cfg


[nginx]
module = 'nginx'

# stub_status URI
# - support only http status code '200'
# - you must set uri value start with '/'
#
status_uri = '/nginx_status'
# host = '127.0.0.1'
# port = '80'

# use ssl connection?
#
# ssl = False

# for BASIC authentication. default: Nothing
#
# user = 'nobody'

# for BASIC authentication. default: Nothing
#
# password = 'nobody'

# for response time check
# if you do not want to check, please comment out
# - support only http status code '200'
# - you must set uri value start with '/'
#
response_check_uri = '/'
# response_check_port = '80'
# response_check_host = '127.0.0.1'
# response_check_vhost = 'localhost'
# response_check_uagent = 'blackbird response check'
# response_check_ssl = False

# nginx path
path = '/usr/sbin/nginx'

Wenn response_check_uri angegeben ist, wird HTTP GET für diese URL ausgeführt. Messen Sie den HTTP-Statuscode und die Antwortzeit Durch Festlegen des virtuellen Hosts ist es möglich, die Antwort des virtuellen Hosts auf die Dienstnutzung zu überwachen.

Starten Sie blackbird neu, wenn Sie fertig sind

sudo /etc/init.d/blackbird restart

Überprüfen Sie, ob Daten auf Zabbix eingehen

Die Zabbix-Vorlage finden Sie im Github-Repository. Importieren Sie es in Zabbix und wenden Sie es auf den Zielserver an

** Wenn der Hostname unter Zabbix und der Hostname des Servers, auf dem Blackbird ausgeführt wird, unterschiedlich sind, müssen Sie den Hostnamen auf / etc / blackbird / conf.d / nginx.cfg festlegen. ** Spiel mit Zabbix

ini:/etc/blackbird/conf.d/nginx.cfg


hostname = your_static_hostname

Sie können auch das Überwachungsintervall ändern (Standard 60 Sekunden).

ini:/etc/blackbird/conf.d/nginx.cfg


interval = 30

Informationen zu Zabbix-Vorlagenelementen

_Nginx_1.4

Application item description
Nginx - Stats Stats - Accepts stub_Status Akzeptiert
Nginx - Stats Stats - Accepts cps Verbindung pro Sekunde oben
Nginx - Stats Stats - Handled stub_Status behandelt
Nginx - Stats Stats - Handled cps Verbindung pro Sekunde oben
Nginx - Stats Stats - Requests stub_Status Anfragen
Nginx - Stats Stats - Requests cps Verbindung pro Sekunde oben
Nginx - Stats Stats - Reading stub_Status Lesen
Nginx - Stats Stats - Writing stub_Status Schreiben
Nginx - Stats Stats - Waiting stub_Status Warten
Nginx - Performance Performance - Amount Artikel für Aggregat
Nginx - Performance Performance - Available Artikel für Aggregat
Nginx - Performance Performance - Response status response_check_uriHTTP-Status
Nginx - Performance Performance - Response Time response_check_uriReaktionszeit
Version Version - Nginx Nginx-Version
General General - Blackbird nginx plugin is sending data Ping von Amsel
General General - Blackbird nginx plugin version Version des Nginx-Plugins
General General - Port $PORT is in LISTENING state Lauscht ein bestimmter Port?
General General - Port $PORT is accepting connections Akzeptiert der spezifische Port?
General Process - Number of nginx processes Nginx-Prozessnummer
Macro {$ITM_NGINX_MONITOR_URI} Zur Artikelanzeige(nginx.Bitte mit cfg abgleichen)
Macro {$ITM_NGINX_MONITOR_VHOST} Zur Artikelanzeige(nginx.Bitte mit cfg abgleichen)
Macro {$ITM_NGINX_PORT} Nginx-Port
Macro {$TRG_BBD_NGX_NDT_PRD} Schwellenwert für das Ping-Intervall von Amsel
Macro {$TRG_NGINX_RSP_TIME} Reaktionszeitschwelle
Über {$ TRG_BBD_NGX_NDT_PRD}

Löst einen Auslöser aus, wenn das Ping-Element nicht in regelmäßigen Abständen aktualisiert wird, um festzustellen, dass die Amsel ausgefallen ist. Die Schwelle dieses Intervalls Wenn Sie das Intervall in / etc / blackbird / conf.d / nginx.cfg verlängern, erhöhen Sie auch diesen Wert.

Über {$ TRG_NGINX_RSP_TIME}

Der Trigger wird ausgelöst, wenn die Antwortzeit länger als eine bestimmte Anzahl von Sekunden ist Wird diese Schwelle sein (In der Vorlage wird der Auslöser ausgelöst, wenn der Schwellenwert dreimal hintereinander überschritten wird. Ändern Sie ihn jedoch entsprechend der Umgebung.)

Der Vorlagenname lautet \ _Nginx_1.4, kann aber auch in 1.6-Serien verwendet werden.

_Nginx_group_monitor

Application item description
Nginx - Group Group - Total servers Gesamtzahl der Gruppenüberwachungsserver
Nginx - Group Group - Available servers Normale Anzahl von Gruppenüberwachungsservern
Nginx - Group Group - Available servers rate Dieses Verhältnis
Macro {$ITM_NGINX_GROUP_NAME} Gruppe Überwachen Sie die Hostgruppe
Macro {$TRG_NGINX_AVAILABLE_RATE} Auslöseschwelle

Dieser \ _Nginx_group_monitor soll verwendet werden, wenn Sie wissen möchten, wie viele normale Server sich in der Servergruppe unter Load Balancer befinden. Sie können beispielsweise feststellen, dass die Hälfte der 10 geladenen Server etwas anderes als den HTTP-Status 200 zurückgibt. Da wir die Aggregatfunktion von Zabbix verwenden, müssen die zu überwachenden Server in derselben Hostgruppe zusammengefasst werden. Übrigens kann der Server, auf den diese Vorlage angewendet wird, ehrlich überall sein (127.0.0.1 oder dergleichen), aber als leicht verständliche Methode, wenn Sie einen VIP-Host für den Lastausgleich auf Zabbix definieren und auf diesen Host anwenden. In Ordnung

Recommended Posts

[Amsel-Nginx] Überwachen Sie Nginx mit Amsel
[blackbird-rabbitmq] Überwache rabbitmq mit Amsel
[Amsel-Aerospike] Überwachen Sie Aerospike mit Amsel
[blackbird-xfs] Überwache xfs mit Amsel
[Amsel-Mysql] Überwachen Sie Mysql mit Amsel
[Amsel-memcached] Monitor Mit Amsel zwischengespeichert
[Amsel-Fio-Status] Überwachen Sie ioDrive (Fusion-IO) mit Amsel
[Amsel benannt] Monitor Binden (benannt) mit Amsel
[blackbird-ntp] Überwachen Sie die ntpq-Informationen (Offset, Jitter usw.) mit der Amsel
API mit Flask + uWSGI + Nginx
Kontrollieren Sie die Fehlerformulierung mit Nginx
Überwachen Sie Tomcat-Prozesse mit dem Zabbix-Agenten
Erstellen Sie FastAPI + uvicorn + nginx mit Docker-Compose
Überwachen Sie Python-Webanwendungen mit Prometheus
Überwachen Sie die Leistung von Python-Anwendungen mit Dynatrace ♪
Überwachen Sie den Status von ISC DHCP mit ZABBIX