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:
- 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 | 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:
- Beschreibung der allgemeinen Konfigurationsparameter von Zabbix-Agent 2: Zabbix agent 2 (UNIX) / Zabbix agent 2 (Windows)
- Anweisungen zur Konfiguration von plugins