1 Netzwerk-Erkennung
Überblick
Zabbix bietet eine automatische Netzwerkerkennungsfunktion, die effektiv und sehr flexibel ist.
Bei korrekt eingerichteter Netzwerkerkennung können Sie:
- die Bereitstellung von Zabbix beschleunigen
- die Administration vereinfachen
- Zabbix in sich schnell ändernden Umgebungen ohne übermäßigen Administrationsaufwand verwenden
Die Zabbix-Netzwerkerkennung basiert auf den folgenden Informationen:
- IP-Bereiche
- Verfügbarkeit externer Dienste (FTP, SSH, WEB, POP3, IMAP, TCP usw.)
- Informationen, die vom Zabbix Agent empfangen werden (es wird nur der unverschlüsselte Modus unterstützt)
- Informationen, die von einem SNMP-Agent empfangen werden
Sie bietet NICHT:
- Erkennung der Netzwerktopologie
Die Netzwerkerkennung besteht im Wesentlichen aus zwei Phasen: Erkennung und Aktionen.
Discovery
Zabbix scannt regelmäßig die in den Netzwerkerkennungsregeln definierten IP-Bereiche. Die Häufigkeit der Prüfung ist für jede Regel individuell konfigurierbar.
Jede Regel verfügt über eine Reihe von Service-Prüfungen, die für den IP-Bereich ausgeführt werden sollen.
Erkennungsregeln werden vom Discovery-Manager verarbeitet. Der Discovery-Manager erstellt für jede Regel einen Auftrag mit einer Liste von Aufgaben (Netzwerkprüfungen). Netzwerkprüfungen werden parallel von den verfügbaren Discovery-Workern ausgeführt (die Anzahl ist im Frontend für jede Regel konfigurierbar). Nur Prüfungen mit derselben IP und demselben Port werden nacheinander eingeplant, da einige Geräte keine parallelen Verbindungen auf demselben Port akzeptieren.
Die Warteschlangengröße für Netzwerkprüfungen ist auf ungefähr 2000000 oder 4 GB Speicher begrenzt.
Wenn die Warteschlange voll wird, wird die Erkennungsregel übersprungen und eine Warnmeldung im Log ausgegeben.
Sie können den internen Datenpunkt zabbix[discovery_queue] verwenden, um die Anzahl der Discovery-Prüfungen in der Warteschlange zu überwachen.
Discovery-Prüfungen werden unabhängig von den anderen Prüfungen verarbeitet. Wenn einzelne Prüfungen keinen Service finden (oder fehlschlagen), werden andere Prüfungen dennoch verarbeitet.
Wenn eine Erkennungsregel während der Ausführung geändert wird, dann wird die aktuelle Discovery-Ausführung abgebrochen.
Jede Prüfung eines Service und eines Hosts (IP), die vom Netzwerkerkennungsmodul durchgeführt wird, erzeugt ein Discovery-Ereignis.
| Ereignis | Ergebnis der Service-Prüfung |
|---|---|
| Service entdeckt | Der Service ist 'up', nachdem er 'down' war, oder wenn er zum ersten Mal entdeckt wurde. |
| Service Up | Der Service ist 'up', nachdem er bereits 'up' war. |
| Service verloren | Der Service ist 'down', nachdem er 'up' war. |
| Service Down | Der Service ist 'down', nachdem er bereits 'down' war. |
| Host entdeckt | Mindestens ein Service eines Hosts ist 'up', nachdem alle Services dieses Hosts 'down' waren, oder es wird ein Service entdeckt, der zu einem nicht registrierten Host gehört. |
| Host Up | Mindestens ein Service eines Hosts ist 'up', nachdem bereits mindestens ein Service 'up' war. |
| Host verloren | Alle Services eines Hosts sind 'down', nachdem mindestens einer 'up' war. |
| Host Down | Alle Services eines Hosts sind 'down', nachdem sie bereits 'down' waren. |
Aktionen
Discovery-Ereignisse können die Grundlage für relevante Aktionen sein, wie zum Beispiel:
- Benachrichtigungen senden
- Hosts hinzufügen/entfernen
- Hosts aktivieren/deaktivieren
- Hosts zu einer Gruppe hinzufügen
- Hosts aus einer Gruppe entfernen
- Tags zu einem Host hinzufügen
- Tags von einem Host entfernen
- Eine Vorlage mit Hosts verknüpfen/eine Vorlage von Hosts trennen
- Remote-Skripte ausführen
Diese Aktionen können in Bezug auf Gerätetyp, IP, Status, Uptime/Downtime usw. konfiguriert werden. Vollständige Details zur Konfiguration von Aktionen für auf Netzwerk-Discovery basierende Ereignisse finden Sie auf den Seiten zu operation und conditions von Aktionen.
Da Aktionen der Netzwerk-Discovery ereignisbasiert sind, werden sie sowohl ausgelöst, wenn ein entdeckter Host online ist, als auch wenn er offline ist. Es wird dringend empfohlen, eine Aktions-condition Discovery status: up hinzuzufügen, um zu vermeiden, dass Aktionen wie Add host bei Ereignissen vom Typ Service Lost/Service Down ausgelöst werden. Andernfalls erzeugt ein entdeckter Host, wenn er manuell entfernt wird, weiterhin Service Lost/Service Down-Ereignisse und wird während des nächsten Discovery-Zyklus erneut erstellt.
Das Verknüpfen von Vorlagen mit einem entdeckten Host schlägt insgesamt fehl, wenn eine der verknüpfbaren Vorlagen eine eindeutige Entität (z. B. einen Datenpunkt-Schlüssel) besitzt, die mit einer eindeutigen Entität (z. B. einem Datenpunkt-Schlüssel) identisch ist, die bereits auf dem Host oder auf einer anderen der verknüpfbaren Vorlagen vorhanden ist.
Erstellung von Hosts
Ein Host wird hinzugefügt, wenn die Operation Host hinzufügen ausgewählt ist. Ein Host wird auch dann hinzugefügt, wenn die Operation Host hinzufügen fehlt, sofern Sie Operationen auswählen, die zu Aktionen auf einem Host führen. Solche Operationen sind:
- Host aktivieren
- Host deaktivieren
- Host zu einer Hostgruppe hinzufügen
- Vorlage mit einem Host verknüpfen
Erstellte Hosts werden zur Gruppe Discovered hosts hinzugefügt (standardmäßig, konfigurierbar unter Administration > General > Other). Wenn Sie möchten, dass Hosts zu einer anderen Gruppe hinzugefügt werden, fügen Sie eine Operation Aus Hostgruppen entfernen hinzu (mit Angabe von „Discovered hosts“) und fügen Sie außerdem eine Operation Zu Hostgruppen hinzufügen hinzu (mit Angabe einer anderen Hostgruppe), da ein Host zu einer Hostgruppe gehören muss.
Die IP-Adresse des erkannten Geräts wird zusammen mit der Erkennungsquelle (Zabbix Server, Zabbix Proxy oder Proxy-Gruppe) und dem Schnittstellentyp als Kriterium verwendet, um einen Host im System zu finden. Wenn bereits ein Host mit derselben IP-Adresse, demselben Schnittstellentyp und derselben Erkennungsquelle existiert, wird dieser Host als Ziel für die Ausführung von Operationen verwendet. Wenn sich die Erkennungsquelle unterscheidet, wird die erkannte Entität als anderer Host behandelt und es kann ein neuer Host erstellt werden.
Wenn die IP-Adresse des erkannten Hosts geändert wird oder die Schnittstelle gelöscht wird, wird bei der nächsten Erkennung ein neuer Host erstellt.
Benennung von Hosts
Beim Hinzufügen von Hosts ist ein Host-Name das Ergebnis einer Reverse-DNS-Abfrage oder die IP-Adresse, falls die Reverse-Abfrage fehlschlägt. Die Abfrage wird vom Zabbix Server oder Zabbix Proxy durchgeführt, je nachdem, welcher die Discovery ausführt. Wenn die Abfrage auf dem Proxy fehlschlägt, wird sie nicht auf dem Server erneut versucht. Wenn bereits ein Host mit einem solchen Namen existiert, wird an den nächsten Host _2 an den Namen angehängt, dann _3 und so weiter.
Es ist auch möglich, die DNS-/IP-Abfrage zu überschreiben und stattdessen einen Datenpunktwert für den Host-Namen zu verwenden, zum Beispiel:
- Sie können mehrere Server mit laufendem Zabbix Agent mithilfe eines Zabbix-Agent-Datenpunkts für die Discovery erkennen und ihnen automatisch passende Namen zuweisen, basierend auf dem von diesem Datenpunkt zurückgegebenen Zeichenfolgenwert
- Sie können mehrere SNMP-Netzwerkgeräte mithilfe eines SNMP-Agent-Datenpunkts für die Discovery erkennen und ihnen automatisch passende Namen zuweisen, basierend auf dem von diesem Datenpunkt zurückgegebenen Zeichenfolgenwert
Wenn der Host-Name mithilfe eines Datenpunktwerts festgelegt wurde, wird er bei den folgenden Discovery-Prüfungen nicht aktualisiert. Wenn es nicht möglich ist, den Host-Namen mithilfe eines Datenpunktwerts festzulegen, wird der Standardwert (DNS-Name) verwendet.
Wenn bereits ein Host mit der erkannten IP-Adresse existiert und sich die Discovery-Quelle (Zabbix Server, Proxy oder Proxy-Gruppe) nicht geändert hat, wird kein neuer Host erstellt. Wenn sich die Discovery-Quelle unterscheidet, wird die erkannte Entität als eigenständig behandelt und es kann ein neuer Host erstellt werden. Wenn die Discovery-Aktion jedoch Operationen enthält (Vorlage verknüpfen, zu Host-Gruppe hinzufügen usw.), werden diese auf dem vorhandenen Host ausgeführt, der anhand von IP-Adresse, Schnittstellentyp und Discovery-Quelle übereinstimmt.
Entfernen von Hosts
Hosts, die durch eine Netzwerkerkennungsregel erkannt wurden, werden automatisch aus Monitoring > Discovery entfernt, wenn sich eine erkannte Entität nicht mehr im IP-Bereich der Regel befindet. Hosts werden sofort entfernt.
Erstellung von Schnittstellen beim Hinzufügen von Hosts
Wenn Hosts als Ergebnis der Netzwerkentdeckung hinzugefügt werden, werden für sie Schnittstellen gemäß den folgenden Regeln erstellt:
- Die erkannten Dienste – wenn zum Beispiel eine SNMP-Prüfung erfolgreich war, wird eine SNMP-Schnittstelle erstellt.
- Wenn ein Host sowohl auf Anfragen des Zabbix Agent als auch auf SNMP-Anfragen geantwortet hat, werden beide Schnittstellentypen erstellt.
- Wenn die Eindeutigkeitskriterien Daten des Zabbix Agent oder von SNMP zurückgegebene Daten sind, wird die erste für einen Host gefundene Schnittstelle als Standardschnittstelle erstellt. Weitere IP-Adressen werden als zusätzliche Schnittstellen hinzugefügt. Die Bedingungen der Aktion (wie z. B. Host-IP) haben keinen Einfluss auf das Hinzufügen von Schnittstellen. Beachten Sie, dass dies funktioniert, wenn alle Schnittstellen durch dieselbe Discovery-Regel erkannt werden. Wenn eine andere Discovery-Regel eine andere Schnittstelle desselben Hosts erkennt, wird ein zusätzlicher Host hinzugefügt.
- Wenn ein Host nur auf Agent-Prüfungen geantwortet hat, wird er nur mit einer Agent-Schnittstelle erstellt. Wenn er später auch auf SNMP antwortet, werden zusätzliche SNMP-Schnittstellen hinzugefügt.
- Wenn anfänglich 3 separate Hosts erstellt wurden, nachdem sie anhand des Eindeutigkeitskriteriums „IP“ erkannt wurden, und die Discovery-Regel dann so geändert wird, dass die Hosts A, B und C ein identisches Ergebnis der Eindeutigkeitskriterien haben, werden B und C als zusätzliche Schnittstellen für A, den zuerst erstellten Host, angelegt. Die einzelnen Hosts B und C bleiben bestehen. Unter Monitoring > Discovery werden die hinzugefügten Schnittstellen in der Spalte „Discovered device“ in schwarzer Schrift und eingerückt angezeigt, aber in der Spalte „Monitored host“ wird nur A, der zuerst erstellte Host, angezeigt. „Uptime/Downtime“ wird für IPs, die als zusätzliche Schnittstellen betrachtet werden, nicht gemessen.
Proxy-Einstellung ändern
Die von verschiedenen Proxys erkannten Hosts werden nicht immer als unterschiedliche Hosts behandelt. Erkennungs- und Eindeutigkeitsprüfungen hängen von der Struktur der Proxy-Gruppe ab: Wenn ein Proxy eine Erkennungsregel ausführt und einen Host erstellt, wird dieser Host zur übergeordneten Proxy-Gruppe des Proxys hinzugefügt und nicht dem Proxy selbst zugewiesen. Wenn Zabbix während der Erkennung die Eindeutigkeit der IP-Adresse auswertet, prüft es die Hosts, die von der übergeordneten Proxy-Gruppe überwacht werden. Hosts, die von einzelnen Proxys innerhalb dieser Gruppe überwacht werden (einschließlich des Proxys, der die Erkennung ausgeführt hat), werden bei der Eindeutigkeitsprüfung ignoriert, was zu doppelten Hosts führen kann, wenn mehrere Proxys überlappende Subnetze überwachen.
Während dieses Verhalten es ermöglicht, dass die Erkennung über überlappende IP-Bereiche hinweg funktioniert, die von verschiedenen Subnetzen verwendet werden, ist das Ändern des einem bereits überwachten Subnetz zugewiesenen Proxys komplizierter, da Proxy-Änderungen konsistent auf erkannte Hosts und auf die Mitgliedschaft der übergeordneten Proxy-Gruppe angewendet werden müssen, um Duplikate zu vermeiden.
Zum Beispiel die Schritte zum Ersetzen eines Proxys in einer Erkennungsregel:
- Erkennungsregel deaktivieren
- Proxy-Konfiguration synchronisieren
- Proxy in der Erkennungsregel ersetzen
- Proxy für alle von dieser Regel erkannten Hosts ersetzen (stellen Sie sicher, dass Hosts in der übergeordneten Proxy-Gruppe und alle Hosts, die von einzelnen Proxys in dieser Gruppe überwacht werden, aktualisiert werden, um Duplikate zu vermeiden)
- Erkennungsregel aktivieren