12 Remote-Überwachung von Zabbix-Statistiken
Übersicht
Es ist möglich, einige interne Metriken des Zabbix-Servers und des Proxy für eine andere Zabbix-Instanz oder ein Drittanbieter-Tool aus der Ferne zugänglich zu machen. Dies kann nützlich sein, damit Supporter/Dienstleister die Zabbix-Server/Proxys ihrer Kunden aus der Ferne überwachen können oder damit in Organisationen, in denen Zabbix nicht das primäre Überwachungstool ist, die internen Zabbix-Metriken von einem Drittanbietersystem in einem übergeordneten Monitoring-Setup überwacht werden können.
Die internen Zabbix-Statistiken werden für einen konfigurierbaren Satz von Adressen bereitgestellt, die im neuen Parameter 'StatsAllowedIP' server/proxy aufgeführt sind. Anfragen werden nur von diesen Adressen akzeptiert.
Datenpunkte
Um die Abfrage interner Statistiken auf einer anderen Zabbix-Instanz zu konfigurieren, können Sie zwei Datenpunkte verwenden:
- interner Datenpunkt
zabbix[stats,<ip>,<port>]- für direkte Remote-Abfragen von Zabbix Server/Proxy. <ip> und <port> werden verwendet, um die Zielinstanz zu identifizieren. - Agent-Datenpunkt
zabbix.stats[<ip>,<port>]- für Agent-basierte Remote-Abfragen von Zabbix Server/Proxy. <ip> und <port> werden verwendet, um die Zielinstanz zu identifizieren.
Siehe auch: Interne Datenpunkte, Zabbix-Agent-Datenpunkte
Das folgende Diagramm veranschaulicht die Verwendung des jeweiligen Datenpunkts je nach Kontext.

- Server
→ externe Zabbix-Instanz (zabbix[stats,<ip>,<port>])
- Server →
Proxy → externe Zabbix-Instanz (zabbix[stats,<ip>,<port>])
- Server →
Agent → externe Zabbix-Instanz (zabbix.stats[<ip>,<port>])
- Server →
Proxy → Agent → externe Zabbix-Instanz
(zabbix.stats[<ip>,<port>])
Um sicherzustellen, dass die Zielinstanz Abfragen durch die externe Instanz zulässt, tragen Sie die Adresse der externen Instanz im Parameter 'StatsAllowedIP' auf der Zielinstanz ein.
Verfügbare Metriken
Die Statistik-Datenpunkte erfassen die Statistiken gesammelt und geben ein JSON zurück, das die Grundlage für abhängige Datenpunkte bildet, aus dem diese ihre Daten beziehen. Die folgenden internen Metriken werden von einem der beiden Datenpunkte zurückgegeben:
zabbix[boottime]zabbix[hosts]zabbix[items]zabbix[items_unsupported]zabbix[preprocessing](nur Server)zabbix[preprocessing_queue](nur Server)zabbix[process,<type>,<mode>,<state>](nur prozesstypbasierte Statistiken)zabbix[rcache,<cache>,<mode>]zabbix[requiredperformance]zabbix[triggers](nur Server)zabbix[uptime]zabbix[vcache,buffer,<mode>](nur Server)zabbix[vcache,cache,<parameter>]zabbix[version]zabbix[vmware,buffer,<mode>]zabbix[wcache,<cache>,<mode>](Cache-Typ „trends“ nur Server)
Vorlagen
Vorlagen sind für die entfernte Überwachung interner Metriken von Zabbix Server oder Proxy aus einer externen Instanz verfügbar:
- Zustand des entfernten Zabbix Server
- Zustand des entfernten Zabbix Proxy
Beachten Sie, dass zur Verwendung einer Vorlage für die entfernte Überwachung mehrerer externer Instanzen für jede Überwachung einer externen Instanz ein separater Host erforderlich ist.
Trapper-Prozess
Der Empfang interner Metrikanfragen von einer externen Zabbix-Instanz wird vom Trapper-Prozess verarbeitet, der die Anfrage validiert, die Metriken sammelt, den JSON-Datenpuffer erstellt und das vorbereitete JSON zurücksendet, zum Beispiel vom Server:
{
"response": "success",
"data": {
"boottime": N,
"uptime": N,
"hosts": N,
"items": N,
"items_unsupported": N,
"preprocessing": {
"queued": {
"count": N,
"size": N
},
"direct": {
"count": N,
"size": N
},
"queue": N
},
"preprocessing_queue": N,
"process": {
"alert manager": {
"busy": {
"avg": N,
"max": N,
"min": N
},
"idle": {
"avg": N,
"max": N,
"min": N
},
"count": N
},
...
},
"queue": N,
"rcache": {
"total": N,
"free": N,
"pfree": N,
"used": N,
"pused": N
},
"requiredperformance": N,
"triggers": N,
"uptime": N,
"vcache": {
"buffer": {
"total": N,
"free": N,
"pfree": N,
"used": N,
"pused": N
},
"cache": {
"requests": N,
"hits": N,
"misses": N,
"mode": N
}
},
"vmware": {
"total": N,
"free": N,
"pfree": N,
"used": N,
"pused": N
},
"version": "N",
"wcache": {
"values": {
"all": N,
"float": N,
"uint": N,
"str": N,
"log": N,
"text": N,
"not supported": N
},
"history": {
"pfree": N,
"free": N,
"total": N,
"used": N,
"pused": N
},
"index": {
"pfree": N,
"free": N,
"total": N,
"used": N,
"pused": N
},
"trend": {
"pfree": N,
"free": N,
"total": N,
"used": N,
"pused": N
}
}
}
}
Interne Warteschlangen-Datenpunkte
Es gibt außerdem zwei weitere Datenpunkte, die speziell dafür vorgesehen sind, interne Warteschlangenstatistiken einer anderen Zabbix-Instanz per Fernabfrage abzurufen:
zabbix[stats,<ip>,<port>,queue,<from>,<to>]interner Datenpunkt – für direkte interne Warteschlangenabfragen an einen entfernten Zabbix-Server/Proxyzabbix.stats[<ip>,<port>,queue,<from>,<to>]Agent-Datenpunkt – für Agent-basierte interne Warteschlangenabfragen an einen entfernten Zabbix-Server/Proxy
Siehe auch: Interne Datenpunkte, Zabbix-Agent-Datenpunkte