6 MongoDB-Plugin

Übersicht

Die Konfigurationsdatei von Zabbix Agent 2 wird zum Konfigurieren 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 (z. B. mongo.conf) anzugeben 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 ist im MongoDB-Plugin-Repository verfügbar und vollständig beschrieben.

Beachten Sie:

  • Die Standardwerte spiegeln Prozess-Standardeinstellungen wider, nicht die Werte 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 Zeilenanfang 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 Verbinden mit MongoDB prüft das Plugin seine Konfiguration in einer bestimmten Reihenfolge, die bestimmt, welcher Wert verwendet wird. Die Reihenfolge von der höchsten zur niedrigsten Priorität lautet:

  1. Parameter, die in der Verbindungs-URI angegeben sind (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 Datenpunkt-Schlüssel (z. B. mongodb.collection.stats).
  3. Parameter, die in einer benannten Sitzung definiert sind (z. B. Plugins.MongoDB.Sessions.<SessionName>.User, Plugins.MongoDB.Sessions.<SessionName>.Password).
  4. Standardwerte (z. B. Plugins.MongoDB.Default.User, Plugins.MongoDB.Default.Password).

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 einen anderen Wert hat.
  • Wenn Sie die URI im Parameter *.<SessionName>.Uri angeben (z. B. Plugins.MongoDB.Sessions.<session_name>.Uri=mongodb://127.0.0.1:27017), aber Benutzername und Passwort im Zabbix Agent 2 Datenpunkt-Schlüssel bereitstellen, verwendet das Plugin den Benutzernamen und das Passwort aus dem Datenpunkt-Schlü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-Eintrag abrufen. Parameter, die aus diesem TXT-Eintrag stammen, überschreiben alle anderen Konfigurationen, einschließlich URI-Parametern, Zabbix Agent 2 Datenpunkt-Schlüssel-Parametern und Sitzungsparametern.
Für den im Verbindungsstring verwendeten Hostnamen darf nur ein TXT-Eintrag vorhanden sein.

Parameter Mandatory Range Default Description
Plugins.MongoDB.System.Path no Pfad zur ausführbaren Datei des MongoDB-Plugins.
Beispielverwendung: Plugins.MongoDB.System.Path=/usr/libexec/zabbix/zabbix-agent2-plugin-mongodb
Plugins.MongoDB.Timeout no 1-30 global timeout Zeitlimit für die Ausführung einer Anfrage (die Dauer in Sekunden, die auf den Abschluss einer Anfrage gewartet wird, bevor sie beendet wird).
Plugins.MongoDB.KeepAlive no 60-900 300 Maximale Wartezeit in Sekunden, bevor ungenutzte Plugin-Verbindungen geschlossen werden.
Plugins.MongoDB.Sessions.<SessionName>.Uri no tcp://127.0.0.1:27017 Verbindungsstring einer benannten Sitzung.
<SessionName> - Name einer Sitzung, die in Datenpunkt-Schlüsseln verwendet wird.

Muss dem URI-Format entsprechen.
Unterstützte Schemas: mongodb:// und mongodb+srv://; das Schema tcp:// ist veraltet und wird aus Gründen der Abwärtskompatibilität mit vorhandenen 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 no Benutzername der benannten Sitzung.
<SessionName> - Name einer Sitzung, die in Datenpunkt-Schlüsseln verwendet wird.
Plugins.MongoDB.Sessions.<SessionName>.Password no Passwort der benannten Sitzung.
<SessionName> - Name einer Sitzung, die in Datenpunkt-Schlüsseln verwendet wird.
Plugins.MongoDB.Sessions.<SessionName>.Direct no false Verbindungsmethode, mit der bestimmt wird, ob die automatische Erkennung von Knoten eines MongoDB-Replica-Sets aktiviert oder deaktiviert werden soll.
<SessionName> - Name einer Sitzung, die in Datenpunkt-Schlüsseln verwendet wird.

Unterstützte Werte:
true - das Plugin verbindet sich nur mit dem angegebenen Server und ignoriert andere Mitglieder des Replica-Sets;
false - das Plugin erkennt automatisch alle Knoten im Replica-Set.
Wenn das Schema tcp:// (veraltet) verwendet wird, ist der Parameter standardmäßig auf true gesetzt.
Plugins.MongoDB.Sessions.<SessionName>.AuthMechanism no Authentifizierungsmechanismus für die Verbindung zum MongoDB-Server.
<SessionName> - Name einer Sitzung, die in Datenpunkt-Schlüsseln verwendet wird.

Unterstützte Werte: SCRAM-SHA-1, SCRAM-SHA-256 und MONGODB-X509.
Plugins.MongoDB.Sessions.<SessionName>.AuthSource no admin Datenbank zur Authentifizierung der Verbindung zum MongoDB-Server.
<SessionName> - Name einer Sitzung, die in Datenpunkt-Schlüsseln verwendet wird.

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 no Name des Replica-Sets, verwendet für die automatische Erkennung von Knoten eines MongoDB-Replica-Sets.
<SessionName> - Name einer Sitzung, die in Datenpunkt-Schlüsseln verwendet wird.

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-Eintrag 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 no Reihenfolge für die Verbindung zu Knoten eines MongoDB-Replica-Sets oder für den Fallback.
<SessionName> - Name einer Sitzung, die in Datenpunkt-Schlüsseln verwendet wird.

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 no Verschlüsselungstyp für die Kommunikation zwischen Zabbix Agent 2 und überwachten Datenbanken.
<SessionName> - Name einer Sitzung, die in Datenpunkt-Schlüsseln verwendet wird.

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

Unterstützt seit Plugin-Version 1.2.1.
Plugins.MongoDB.Sessions.<SessionName>.TLSCAFile yes, if Plugins.MongoDB.Sessions.<SessionName>.TLSConnect is set to one of: verify_ca, verify_full Vollständiger Pfad zu einer Datei mit den Zertifikaten der obersten CA(s) zur Überprüfung des Peer-Zertifikats, verwendet für verschlüsselte Kommunikation zwischen Zabbix Agent 2 und überwachten Datenbanken.
<SessionName> - Name einer Sitzung, die in Datenpunkt-Schlüsseln verwendet wird.
Plugins.MongoDB.Sessions.<SessionName>.TLSCertFile yes, if Plugins.MongoDB.Sessions.<SessionName>.TLSKeyFile is specified Vollständiger Pfad zu einer Datei mit dem Agent-Zertifikat oder der Zertifikatskette, verwendet für verschlüsselte Kommunikation zwischen Zabbix Agent 2 und überwachten Datenbanken.
<SessionName> - Name einer Sitzung, die in Datenpunkt-Schlüsseln verwendet wird.
Plugins.MongoDB.Sessions.<SessionName>.TLSKeyFile yes, if Plugins.MongoDB.Sessions.<SessionName>.TLSCertFile is specified Vollständiger Pfad zu einer Datei mit dem privaten Schlüssel der Datenbank, verwendet für verschlüsselte Kommunikation zwischen Zabbix Agent 2 und überwachten Datenbanken.
<SessionName> - Name einer Sitzung, die in Datenpunkt-Schlüsseln verwendet wird.
Plugins.MongoDB.Default.Uri no tcp://127.0.0.1:27017 Standard-URI für die Verbindung zu MongoDB.

Muss dem URI-Format entsprechen.
Unterstützte Schemas: mongodb:// und mongodb+srv://.
Veraltetes Schema: tcp:// (wird standardmäßig aus Gründen der Abwärtskompatibilität mit vorhandenen 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 no Standard-Benutzername für die Verbindung zu MongoDB.
Plugins.MongoDB.Default.Password no Standard-Passwort für die Verbindung zu MongoDB.
Plugins.MongoDB.Default.Direct no false Standard-Verbindungsmethode, mit der bestimmt wird, ob die automatische Erkennung von Knoten eines MongoDB-Replica-Sets aktiviert oder deaktiviert werden soll.

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

Unterstützte Werte: SCRAM-SHA-1, SCRAM-SHA-256 und MONGODB-X509.
Wenn hier, in einem Datenpunkt-Schlüssel, in einer benannten Sitzung oder in der URI kein Wert angegeben ist, wird ein auf SCRAM basierender Mechanismus verwendet (wenn ein Benutzername angegeben wurde; andernfalls wird keine Authentifizierung verwendet).
Plugins.MongoDB.Default.AuthSource no admin Standard-Datenbank zur 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 no Standardname des Replica-Sets; verwendet für die automatische Erkennung von Knoten eines MongoDB-Replica-Sets.

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-Eintrag 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 no Standardreihenfolge für die Verbindung zu Knoten eines MongoDB-Replica-Sets 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 no Standard-Verschlüsselungstyp für die Kommunikation zwischen Zabbix Agent 2 und überwachten Datenbanken.

Unterstützte Werte:
required - erfordert eine TLS-Verbindung.
verify\_ca - prüft Zertifikate.
verify\_full - prüft Zertifikate und IP-Adresse.
Wenn hier, in einem Datenpunkt-Schlüssel, in einer benannten Sitzung oder in der URI kein Wert angegeben ist, wird keine TLS-Verbindung hergestellt.
Plugins.MongoDB.Default.TLSCAFile no Standard-Pfad zu einer Datei mit den Zertifikaten der obersten CA(s) zur Überprüfung des Peer-Zertifikats. Wird für verschlüsselte Kommunikation zwischen Zabbix Agent 2 und überwachten Datenbanken verwendet.
Plugins.MongoDB.Default.TLSCertFile no Standard-Pfad zu einer Datei mit dem MongoDB-Clientzertifikat oder der Zertifikatskette. Wird für verschlüsselte Kommunikation zwischen Zabbix Agent 2 und überwachten Datenbanken verwendet.
Plugins.MongoDB.Default.TLSKeyFile no Standard-Pfad zu einer Datei mit dem privaten Schlüssel des MongoDB-Clients, verwendet für verschlüsselte Kommunikation zwischen Zabbix Agent 2 und überwachten Datenbanken.

Siehe auch: