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 sowie dort 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 Verbindlich 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> - Namen einer Sitzung definieren, um sie in Datenpunktschlüsseln zu verwenden.

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> - Namen einer Sitzung definieren, um sie in Datenpunktschlüsseln zu verwenden.
Plugins.MongoDB.Sessions.<SessionName>.Password nein Passwort der benannten Sitzung.
<SessionName> - Namen einer Sitzung definieren, um sie in Datenpunktschlüsseln zu verwenden.
Plugins.MongoDB.Sessions.<SessionName>.Direct nein false Verbindungsmethode, mit der bestimmt wird, ob die automatische Erkennung von MongoDB-Replikatsatzknoten aktiviert oder deaktiviert werden soll.
<SessionName> - Namen einer Sitzung definieren, um sie in Datenpunktschlüsseln zu verwenden.

Unterstützte Werte:
true - das Plugin verbindet sich nur mit dem angegebenen Server und ignoriert andere Mitglieder des Replikatsatzes;
false - das Plugin erkennt automatisch alle Knoten im Replikatsatz.
Wenn das Schema tcp:// (veraltet) 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> - Namen einer Sitzung definieren, um sie in Datenpunktschlüsseln zu verwenden.

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> - Namen einer Sitzung definieren, um sie in Datenpunktschlüsseln zu verwenden.

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 Replikatsatzes, verwendet für die automatische Erkennung von MongoDB-Replikatsatzknoten.
<SessionName> - Namen einer Sitzung definieren, um sie in Datenpunktschlüsseln zu verwenden.

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 überschreiben kann.

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-Replikatsatzknoten oder für den Fallback.
<SessionName> - Namen einer Sitzung definieren, um sie in Datenpunktschlüsseln zu verwenden.

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> - Namen einer Sitzung definieren, um sie in Datenpunktschlüsseln zu verwenden.

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

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 Verifizierung des Zertifikats der Gegenstelle enthält; verwendet für verschlüsselte Kommunikation zwischen Zabbix Agent 2 und überwachten Datenbanken.
<SessionName> - Namen einer Sitzung definieren, um sie in Datenpunktschlüsseln zu verwenden.
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 verschlüsselte Kommunikation zwischen Zabbix Agent 2 und überwachten Datenbanken.
<SessionName> - Namen einer Sitzung definieren, um sie in Datenpunktschlüsseln zu verwenden.
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 verschlüsselte Kommunikation zwischen Zabbix Agent 2 und überwachten Datenbanken verwendet wird.
<SessionName> - Namen einer Sitzung definieren, um sie in Datenpunktschlüsseln zu verwenden.
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 als Standard 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 bestimmt wird, ob die automatische Erkennung von MongoDB-Replikatsatzknoten aktiviert oder deaktiviert werden soll.

Unterstützte Werte:
true - das Plugin verbindet sich nur mit dem angegebenen Server und ignoriert andere Mitglieder des Replikatsatzes;
false - das Plugin erkennt automatisch alle Knoten im Replikatsatz.
Wenn das Schema tcp:// (veraltet) 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 Replikatsatzes; verwendet für die automatische Erkennung von MongoDB-Replikatsatzknoten.

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 überschreiben kann.
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-Replikatsatzknoten 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 - verifiziert Zertifikate.
verify\_full - verifiziert 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 Verifizierung des Zertifikats der Gegenstelle enthält. Wird für verschlüsselte Kommunikation zwischen Zabbix Agent 2 und überwachten Datenbanken verwendet.
Plugins.MongoDB.Default.TLSCertFile nein Standard-Pfadname einer Datei, die das MongoDB-Client-Zertifikat oder die Zertifikatskette enthält. Wird für verschlüsselte Kommunikation zwischen Zabbix Agent 2 und überwachten Datenbanken verwendet.
Plugins.MongoDB.Default.TLSKeyFile nein Standard-Pfadname einer Datei, die den privaten Schlüssel des MongoDB-Clients enthält, der für verschlüsselte Kommunikation zwischen Zabbix Agent 2 und überwachten Datenbanken verwendet wird.

Siehe auch: