6 MongoDB-Plugin

Übersicht

Die Konfigurationsdatei von Zabbix Agent 2 wird zur Konfiguration von Plugins verwendet. Diese Konfigurationsparameter von Zabbix Agent 2 werden für den Betrieb des MongoDB-Plugins unterstützt.

Es wird empfohlen, sie in einer eigenen Konfigurationsdatei anzugeben (z. B. mongo.conf) und dann die Direktive Include zu verwenden, um diese Datei zur Konfiguration von Zabbix Agent 2 hinzuzufügen.

Das MongoDB-Plugin ist ein ladbares Plugin und im MongoDB-Plugin-Repository verfügbar und vollständig beschrieben.

Beachten Sie:

  • Die Standardwerte entsprechen den Prozessstandardwerten, nicht den Werten in den mitgelieferten Konfigurationsdateien.
  • Werte unterstützen Umgebungsvariablen.
  • Zabbix unterstützt Konfigurationsdateien nur in UTF-8-Kodierung ohne BOM.
  • Kommentare, die mit „#“ beginnen, werden nur am Anfang der Zeile unterstützt.

Optionen

Parameter Beschreibung
-V --version Gibt die Plugin-Version und Lizenzinformationen aus.
-h --help Gibt Hilfeinformationen aus (Kurzform).
-t, --test <item key> Startet das Plugin zum Testen (Plugin-Konfiguration wird ignoriert).

Parameter

Beim Herstellen einer Verbindung zu MongoDB prüft das Plugin seine Konfiguration in einer bestimmten Reihenfolge, die festlegt, welcher Wert verwendet wird. Die Reihenfolge von der höchsten zur niedrigsten Priorität ist wie folgt:

  1. In der Verbindungs-URI angegebene Parameter (z. B. haben Abfrageparameter, die nach ? in Plugins.MongoDB.Sessions.<session_name>.Uri definiert sind, die höchste Priorität).
  2. Parameter im Zabbix-Agent-2-Datenpunktschlüssel (z. B. mongodb.collection.stats).
  3. In einer benannten Sitzung definierte Parameter (z. B. Plugins.MongoDB.Sessions.<SessionName>.User, Plugins.MongoDB.Sessions.<SessionName>.Password).
  4. Standardwerte (z. B. Plugins.MongoDB.Default.User, Plugins.MongoDB.Default.Password).

Zum Beispiel:

  • Wenn Sie die Datenbank für die Authentifizierung einer Verbindung zum MongoDB-Server im Parameter *.<SessionName>.Uri angeben (z. B. Plugins.MongoDB.Sessions.<session_name>.Uri=mongodb://user:[email protected]:27017/?authSource=admin), dann betrachtet das Plugin den Parameter *.<SessionName>.AuthSource als auf admin gesetzt, auch wenn der Parameter *.<SessionName>.AuthSource auf einen anderen Wert gesetzt ist.
  • Wenn Sie die URI im Parameter *.<SessionName>.Uri angeben (z. B. Plugins.MongoDB.Sessions.<session_name>.Uri=mongodb://127.0.0.1:27017), aber den Benutzernamen und das Passwort im Zabbix-Agent-2-Datenpunktschlüssel angeben, verwendet das Plugin den Benutzernamen und das Passwort aus dem Datenpunktschlüssel, auch wenn Plugins.MongoDB.Sessions.<SessionName>.User und Plugins.MongoDB.Sessions.<SessionName>.Password konfiguriert sind.

Wenn das Schema mongodb+srv:// verwendet wird, kann die URI Parameter aus einem DNS-TXT-Record abrufen. Parameter, die aus diesem TXT-Record bezogen werden, überschreiben alle anderen Konfigurationen, einschließlich URI-Parametern, Parametern des Zabbix-Agent-2-Datenpunktschlüssels und Sitzungsparametern.
Für den in der Verbindungszeichenfolge verwendeten Hostnamen darf nur ein TXT-Record existieren.

Parameter Verpflichtend Bereich Standard Beschreibung
Plugins.MongoDB.System.Path nein Pfad zur ausführbaren Datei des MongoDB-Plugins.
Beispiel für die Verwendung: Plugins.MongoDB.System.Path=/usr/libexec/zabbix/zabbix-agent2-plugin-mongodb
Plugins.MongoDB.Timeout nein 1-30 globales Timeout Timeout für die Ausführung von Anfragen (die Dauer in Sekunden, die auf den Abschluss einer Anfrage gewartet wird, bevor sie beendet wird).
Plugins.MongoDB.KeepAlive nein 60-900 300 Die maximale Wartezeit (in Sekunden), bevor ungenutzte Plugin-Verbindungen geschlossen werden.
Plugins.MongoDB.Sessions.<SessionName>.Uri nein tcp://127.0.0.1:27017 Verbindungszeichenfolge einer benannten Sitzung.
<SessionName> - definiert den Namen einer Sitzung zur Verwendung in Datenpunktschlüsseln.

Muss dem URI-Format entsprechen.
Unterstützte Schemata: mongodb:// und mongodb+srv://; das Schema tcp:// ist veraltet und wird aus Gründen der Abwärtskompatibilität mit bestehenden Konfigurationen beibehalten.
Ein Port kann weggelassen werden (Standard=27017).
Beispiele: mongodb://127.0.0.1:27017, mongodb+srv://example.com, localhost.
Plugins.MongoDB.Sessions.<SessionName>.User nein Benutzername der benannten Sitzung.
<SessionName> - definiert den Namen einer Sitzung zur Verwendung in Datenpunktschlüsseln.
Plugins.MongoDB.Sessions.<SessionName>.Password nein Passwort der benannten Sitzung.
<SessionName> - definiert den Namen einer Sitzung zur Verwendung in Datenpunktschlüsseln.
Plugins.MongoDB.Sessions.<SessionName>.Direct nein false Verbindungsmethode, mit der festgelegt wird, ob die automatische Erkennung von MongoDB-Replikat-Satz-Knoten aktiviert oder deaktiviert werden soll.
<SessionName> - definiert den Namen einer Sitzung zur Verwendung in Datenpunktschlüsseln.

Unterstützte Werte:
true - das Plugin verbindet sich nur mit dem angegebenen Server und ignoriert andere Mitglieder des Replikat-Satzes;
false - das Plugin erkennt automatisch alle Knoten im Replikat-Satz.
Wenn das (veraltete) Schema tcp:// verwendet wird, ist der Parameter standardmäßig auf true gesetzt.
Plugins.MongoDB.Sessions.<SessionName>.AuthMechanism nein Authentifizierungsmechanismus für die Verbindung zum MongoDB-Server.
<SessionName> - definiert den Namen einer Sitzung zur Verwendung in Datenpunktschlüsseln.

Unterstützte Werte: SCRAM-SHA-1, SCRAM-SHA-256 und MONGODB-X509.
Plugins.MongoDB.Sessions.<SessionName>.AuthSource nein admin Datenbank für die Authentifizierung der Verbindung zum MongoDB-Server.
<SessionName> - definiert den Namen einer Sitzung zur Verwendung in Datenpunktschlüsseln.

Wenn der Authentifizierungsmechanismus MONGODB-X509 verwendet wird, wird dieser Parameter automatisch auf $external gesetzt; eine Änderung auf einen anderen Wert führt beim Start zu einem Fehler.
Plugins.MongoDB.Sessions.<SessionName>.ReplicaSet nein Name des Replikat-Satzes, verwendet für die automatische Erkennung von MongoDB-Replikat-Satz-Knoten.
<SessionName> - definiert den Namen einer Sitzung zur Verwendung in Datenpunktschlüsseln.

Wenn dieser Parameter mit dem Schema mongodb+srv:// verwendet wird, verhält er sich so, als wären mehrere URLs angegeben worden; ein DNS-Server kann einen TXT-Record haben, der diesen (oder jeden anderen) Parameter überschreibt.

Nicht verfügbar, wenn der Parameter Plugins.MongoDB.Sessions.<SessionName>.Direct auf true gesetzt ist; der Agent kann dann nicht gestartet werden.
Plugins.MongoDB.Sessions.<SessionName>.ReadPreference nein Reihenfolge für die Verbindung zu MongoDB-Replikat-Satz-Knoten oder für den Fallback.
<SessionName> - definiert den Namen einer Sitzung zur Verwendung in Datenpunktschlüsseln.

Unterstützte Werte: PrimaryMode, PrimaryPreferredMode, SecondaryMode, SecondaryPreferredMode und NearestMode.
Nicht verfügbar, wenn der Parameter Plugins.MongoDB.Sessions.<SessionName>.Direct auf true gesetzt ist; der Agent kann dann nicht gestartet werden.
Plugins.MongoDB.Sessions.<SessionName>.TLSConnect nein Verschlüsselungstyp für die Kommunikation zwischen Zabbix-Agent 2 und überwachten Datenbanken.
<SessionName> - definiert den Namen einer Sitzung zur Verwendung in Datenpunktschlüsseln.

Unterstützte Werte:
required - TLS-Verbindung erforderlich;
verify\_ca - Zertifikate überprüfen;
verify\_full - Zertifikate und IP-Adresse überprüfen.

Unterstützt seit Plugin-Version 1.2.1.
Plugins.MongoDB.Sessions.<SessionName>.TLSCAFile ja, wenn Plugins.MongoDB.Sessions.<SessionName>.TLSConnect auf einen der folgenden Werte gesetzt ist: verify_ca, verify_full Vollständiger Pfadname einer Datei, die die Zertifikate der obersten CA(s) für die Überprüfung von Peer-Zertifikaten enthält; verwendet für die verschlüsselte Kommunikation zwischen Zabbix-Agent 2 und überwachten Datenbanken.
<SessionName> - definiert den Namen einer Sitzung zur Verwendung in Datenpunktschlüsseln.
Plugins.MongoDB.Sessions.<SessionName>.TLSCertFile ja, wenn Plugins.MongoDB.Sessions.<SessionName>.TLSKeyFile angegeben ist Vollständiger Pfadname einer Datei, die das Agent-Zertifikat oder die Zertifikatskette enthält; verwendet für die verschlüsselte Kommunikation zwischen Zabbix-Agent 2 und überwachten Datenbanken.
<SessionName> - definiert den Namen einer Sitzung zur Verwendung in Datenpunktschlüsseln.
Plugins.MongoDB.Sessions.<SessionName>.TLSKeyFile ja, wenn Plugins.MongoDB.Sessions.<SessionName>.TLSCertFile angegeben ist Vollständiger Pfadname einer Datei, die den privaten Schlüssel der Datenbank enthält, der für die verschlüsselte Kommunikation zwischen Zabbix-Agent 2 und überwachten Datenbanken verwendet wird.
<SessionName> - definiert den Namen einer Sitzung zur Verwendung in Datenpunktschlüsseln.
Plugins.MongoDB.Default.Uri nein tcp://127.0.0.1:27017 Standard-URI für die Verbindung zu MongoDB.

Muss dem URI-Format entsprechen.
Unterstützte Schemata: mongodb:// und mongodb+srv://.
Veraltetes Schema: tcp:// (wird standardmäßig aus Gründen der Abwärtskompatibilität mit bestehenden Konfigurationen verwendet).
Ein Port kann weggelassen werden (Standard=27017).
Beispiele: mongodb://127.0.0.1:27017, mongodb+srv://example.com, localhost.
Plugins.MongoDB.Default.User nein Standard-Benutzername für die Verbindung zu MongoDB.
Plugins.MongoDB.Default.Password nein Standard-Passwort für die Verbindung zu MongoDB.
Plugins.MongoDB.Default.Direct nein false Standard-Verbindungsmethode, mit der festgelegt wird, ob die automatische Erkennung von MongoDB-Replikat-Satz-Knoten aktiviert oder deaktiviert werden soll.

Unterstützte Werte:
true - das Plugin verbindet sich nur mit dem angegebenen Server und ignoriert andere Mitglieder des Replikat-Satzes;
false - das Plugin erkennt automatisch alle Knoten im Replikat-Satz.
Wenn das (veraltete) Schema tcp:// verwendet wird, ist der Parameter standardmäßig auf true gesetzt.
Plugins.MongoDB.Default.AuthMechanism nein Standard-Authentifizierungsmechanismus für die Verbindung zum MongoDB-Server.

Unterstützte Werte: SCRAM-SHA-1, SCRAM-SHA-256 und MONGODB-X509.
Wenn weder hier noch in einem Datenpunktschlüssel, in einer benannten Sitzung oder in der URI ein Wert angegeben ist, wird ein SCRAM-basierter Mechanismus verwendet (wenn ein Benutzername angegeben ist; andernfalls wird keine Authentifizierung verwendet).
Plugins.MongoDB.Default.AuthSource nein admin Standarddatenbank für die Authentifizierung der Verbindung zum MongoDB-Server.

Wenn der Authentifizierungsmechanismus MONGODB-X509 verwendet wird, wird dieser Parameter automatisch auf $external gesetzt; eine Änderung auf einen anderen Wert führt beim Start zu einem Fehler.
Plugins.MongoDB.Default.ReplicaSet nein Standardname des Replikat-Satzes; verwendet für die automatische Erkennung von MongoDB-Replikat-Satz-Knoten.

Wenn dieser Parameter mit dem Schema mongodb+srv:// verwendet wird, verhält er sich so, als wären mehrere URLs angegeben worden; ein DNS-Server kann einen TXT-Record haben, der diesen (oder jeden anderen) Parameter überschreibt.
Nicht verfügbar, wenn der Parameter Plugins.MongoDB.Default.Direct auf true gesetzt ist; der Agent kann dann nicht gestartet werden.
Plugins.MongoDB.Default.ReadPreference nein Standardreihenfolge für die Verbindung zu MongoDB-Replikat-Satz-Knoten oder für den Fallback.

Unterstützte Werte: PrimaryMode, PrimaryPreferredMode, SecondaryMode, SecondaryPreferredMode und NearestMode.
Nicht verfügbar, wenn der Parameter Plugins.MongoDB.Default.Direct auf true gesetzt ist; der Agent kann dann nicht gestartet werden.
Plugins.MongoDB.Default.TLSConnect nein Standard-Verschlüsselungstyp für die Kommunikation zwischen Zabbix-Agent 2 und überwachten Datenbanken.

Unterstützte Werte:
required - erfordert eine TLS-Verbindung.
verify\_ca - überprüft Zertifikate.
verify\_full - überprüft Zertifikate und IP-Adresse.
Wenn weder hier noch in einem Datenpunktschlüssel, in einer benannten Sitzung oder in der URI ein Wert angegeben ist, wird keine TLS-Verbindung hergestellt.
Plugins.MongoDB.Default.TLSCAFile nein Standard-Pfadname einer Datei, die die Zertifikate der obersten CA(s) für die Überprüfung von Peer-Zertifikaten enthält. Verwendet für die verschlüsselte Kommunikation zwischen Zabbix-Agent 2 und überwachten Datenbanken.
Plugins.MongoDB.Default.TLSCertFile nein Standard-Pfadname einer Datei, die das MongoDB-Client-Zertifikat oder die Zertifikatskette enthält. Verwendet für die verschlüsselte Kommunikation zwischen Zabbix-Agent 2 und überwachten Datenbanken.
Plugins.MongoDB.Default.TLSKeyFile nein Standard-Pfadname einer Datei, die den privaten Schlüssel des MongoDB-Clients enthält, der für die verschlüsselte Kommunikation zwischen Zabbix-Agent 2 und überwachten Datenbanken verwendet wird.

Siehe auch: