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:
- In der Verbindungs-URI angegebene Parameter (z. B. haben Abfrageparameter, die nach
?inPlugins.MongoDB.Sessions.<session_name>.Uridefiniert sind, die höchste Priorität). - Parameter im Zabbix Agent 2-Datenpunktschlüssel (z. B. mongodb.collection.stats).
- In einer benannten Sitzung definierte Parameter (z. B.
Plugins.MongoDB.Sessions.<SessionName>.User,Plugins.MongoDB.Sessions.<SessionName>.Password). - 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>.Uriangeben (z. B.Plugins.MongoDB.Sessions.<session_name>.Uri=mongodb://user:[email protected]:27017/?authSource=admin), dann betrachtet das Plugin den Parameter*.<SessionName>.AuthSourceals aufadmingesetzt, auch wenn der Parameter*.<SessionName>.AuthSourceauf einen anderen Wert gesetzt ist. - Wenn Sie die URI im Parameter
*.<SessionName>.Uriangeben (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 wennPlugins.MongoDB.Sessions.<SessionName>.UserundPlugins.MongoDB.Sessions.<SessionName>.Passwordkonfiguriert 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:
- Beschreibung der allgemeinen Konfigurationsparameter von Zabbix Agent 2: Zabbix agent 2 (UNIX) / Zabbix agent 2 (Windows)
- Anweisungen zur Konfiguration von plugins