Плагин MongoDB

Обзор

Параметры конфигурации позволяют настраивать поведение плагина MongoDB.

Рекомендуется указывать их в отдельном файле конфигурации (например, mongodb.conf), а не в файле конфигурации агента 2. Затем используйте директиву Include для включения этого файла в конфигурацию агента 2 Zabbix.

Плагин MongoDB является загружаемым плагином и доступен, а также полностью описан в репозитории плагина MongoDB.

Все параметры являются необязательными, если явно не указано, что параметр обязателен.

Обратите внимание:

  • Значения по умолчанию отражают значения по умолчанию процесса, а не значения в поставляемых файлах конфигурации.
  • Значения поддерживают переменные среды.
  • Zabbix поддерживает файлы конфигурации только в кодировке UTF-8 без BOM.
  • Комментарии, начинающиеся с "#", поддерживаются только в начале строки.

Parameter details

Plugins.MongoDB.Default.AuthMechanism

Specify the default authentication mechanism for connecting to MongoDB server.
<SessionName> - define name of a session for using in item keys.

Range: SCRAM-SHA-1, SCRAM-SHA-256, or MONGODB-X509

Plugins.MongoDB.Default.AuthSource

Specify the default database for authenticating connection to MongoDB server.
<SessionName> - define name of a session for using in item keys.

Default: admin

If MONGODB-X509 authentication mechanism is used, this parameter is automatically set to $external; modifying it to any other value will cause an error when launching.

Plugins.MongoDB.Default.Direct

Disable automatic discovery of MongoDB replica set nodes.
<SessionName> - define name of a session for using in item keys.

Default: false Range: true - connect only to the specified server, ignoring other members of the replica set, false - automatically discover all nodes in the replica set.

If the tcp:// (deprecated) scheme is used, the parameter is set to true by default.

Plugins.MongoDB.Default.Password

Specify the default password.
<SessionName> - define name of a session for using in item keys.

Plugins.MongoDB.Default.ReplicaSet

Specify the default replica set name, used for automatic discovery of MongoDB replica set nodes.
<SessionName> - define name of a session for using in item keys.
If this parameter is used with the mongodb+srv:// scheme, it will behave as if multiple URLs have been provided; a DNS server may have a TXT record that can override this (or any other) parameter.
Unavailable if the Plugins.MongoDB.Sessions.<SessionName>.Direct parameter is set to true; the agent will fail to start.

Plugins.MongoDB.Default.ReadPreference

Specify the default order for connecting to MongoDB replica set nodes or fallback.
<SessionName> - define name of a session for using in item keys.
Unavailable if the Plugins.MongoDB.Sessions.<SessionName>.Direct parameter is set to true; the agent will fail to start.

Range: PrimaryMode, PrimaryPreferredMode, SecondaryMode, SecondaryPreferredMode, or NearestMode

Plugins.MongoDB.Default.TLSConnect

Specify the level of encryption required for communications between Zabbix agent 2 and monitored databases.
<SessionName> - define name of a session for using in item keys.
Supported since plugin version 1.2.1.

Range: required - require TLS connection, verify_ca - verify certificates, verify_full - verify certificates and IP address

Plugins.MongoDB.Default.TLSCAFile

Specify full pathname of the file containing the top-level CA(s) certificates for peer certificate verification, used for encrypted communications between Zabbix agent 2 and monitored databases.
<SessionName> - define name of a session for using in item keys.

Mandatory: yes, if Plugins.MongoDB.Sessions.<SessionName>.TLSConnect is set to verify_ca or verify_full

Plugins.MongoDB.Default.TLSCertFile

Specify full pathname of the file containing the agent certificate or certificate chain, used for encrypted communications between Zabbix agent 2 and monitored databases.
<SessionName> - define name of a session for using in item keys.

Mandatory: yes, if Plugins.MongoDB.Sessions.<SessionName>.TLSKeyFile is specified

Plugins.MongoDB.Default.TLSKeyFile

Specify full pathname of the file containing the database private key, used for encrypted communications between Zabbix agent 2 and monitored databases.
<SessionName> - define name of a session for using in item keys.

Mandatory: yes, if Plugins.MongoDB.Sessions.<SessionName>.TLSCertFile is specified

Plugins.MongoDB.Default.Uri

Specify the default URI.
<SessionName> - define name of a session for using in item keys.
Must match the URI format.
Supported schemes: mongodb:// and mongodb+srv://; the tcp:// scheme is deprecated and kept for backward compatibility with existing configurations.
A port can be omitted (default=27017).
Examples: ``

Default: tcp://127.0.0.1:27017

Examples:

mongodb://127.0.0.1:27017
mongodb+srv://example.com
localhost
Plugins.MongoDB.Default.User

Specify the default username.
<SessionName> - define name of a session for using in item keys.

Plugins.MongoDB.KeepAlive

Set the maximum time of waiting (in seconds) before unused plugin connections are closed.

Default: 300 Range: 60-900

Plugins.MongoDB.Sessions.<SessionName>.AuthMechanism

Specify the named session authentication mechanism for connecting to MongoDB server.
<SessionName> - define name of a session for using in item keys.

Range: SCRAM-SHA-1, SCRAM-SHA-256, or MONGODB-X509

Plugins.MongoDB.Sessions.<SessionName>.AuthSource

Specify the named session database for authenticating connection to MongoDB server.
<SessionName> - define name of a session for using in item keys.

Default: admin

If MONGODB-X509 authentication mechanism is used, this parameter is automatically set to $external; modifying it to any other value will cause an error when launching.

Plugins.MongoDB.Sessions.<SessionName>.Direct

Disable automatic discovery of MongoDB replica set nodes for named session.
<SessionName> - define name of a session for using in item keys.

Default: false Range: true - connect only to the specified server, ignoring other members of the replica set, false - automatically discover all nodes in the replica set.

If the tcp:// (deprecated) scheme is used, the parameter is set to true by default.

Plugins.MongoDB.Sessions.<SessionName>.Password

Specify the named session password.
<SessionName> - define name of a session for using in item keys.

Plugins.MongoDB.Sessions.<SessionName>.ReplicaSet

Specify the named session replica set name, used for automatic discovery of MongoDB replica set nodes.
<SessionName> - define name of a session for using in item keys.
If this parameter is used with the mongodb+srv:// scheme, it will behave as if multiple URLs have been provided; a DNS server may have a TXT record that can override this (or any other) parameter.
Unavailable if the Plugins.MongoDB.Sessions.<SessionName>.Direct parameter is set to true; the agent will fail to start.

Plugins.MongoDB.Sessions.<SessionName>.ReadPreference

Specify the named session order for connecting to MongoDB replica set nodes or fallback.
<SessionName> - define name of a session for using in item keys.
Unavailable if the Plugins.MongoDB.Sessions.<SessionName>.Direct parameter is set to true; the agent will fail to start.

Range: PrimaryMode, PrimaryPreferredMode, SecondaryMode, SecondaryPreferredMode, or NearestMode

Plugins.MongoDB.Sessions.<SessionName>.TLSConnect

Specify the level of encryption required for communications between Zabbix agent 2 and monitored databases for named session.
<SessionName> - define name of a session for using in item keys.
Supported since plugin version 1.2.1.

Range: required - require TLS connection, verify_ca - verify certificates, verify_full - verify certificates and IP address

Plugins.MongoDB.Sessions.<SessionName>.TLSCAFile

Specify full pathname of the file containing the top-level CA(s) certificates for peer certificate verification, used for encrypted communications between Zabbix agent 2 and monitored databases for named session.
<SessionName> - define name of a session for using in item keys.

Mandatory: yes, if Plugins.MongoDB.Sessions.<SessionName>.TLSConnect is set to verify_ca or verify_full

Plugins.MongoDB.Sessions.<SessionName>.TLSCertFile

Specify full pathname of the file containing the agent certificate or certificate chain, used for encrypted communications between Zabbix agent 2 and monitored databases for named session.
<SessionName> - define name of a session for using in item keys.

Mandatory: yes, if Plugins.MongoDB.Sessions.<SessionName>.TLSKeyFile is specified

Plugins.MongoDB.Sessions.<SessionName>.TLSKeyFile

Specify full pathname of the file containing the database private key, used for encrypted communications between Zabbix agent 2 and monitored databases for named session.
<SessionName> - define name of a session for using in item keys.

Mandatory: yes, if Plugins.MongoDB.Sessions.<SessionName>.TLSCertFile is specified

Plugins.MongoDB.Sessions.<SessionName>.Uri

Specify the named session URI.
<SessionName> - define name of a session for using in item keys.
Must match the URI format.
Supported schemes: mongodb:// and mongodb+srv://; the tcp:// scheme is deprecated and kept for backward compatibility with existing configurations.
A port can be omitted (default=27017).
Examples: ``

Default: tcp://127.0.0.1:27017

Examples:

mongodb://127.0.0.1:27017
mongodb+srv://example.com
localhost
Plugins.MongoDB.Sessions.<SessionName>.User

Specify the named session username.
<SessionName> - define name of a session for using in item keys.

Plugins.MongoDB.System.Path

Specify path to the MongoDB plugin executable.

Example usage: Plugins.MongoDB.System.Path=/usr/libexec/zabbix/zabbix-agent2-plugin-mongodb

Plugins.MongoDB.Timeout

Set the request execution timeout (the duration, in seconds, to wait for a request to complete before shutting it down).

Default: global timeout Range: 1-30

Параметры

Parameter Description
-V --version Вывести версию плагина и информацию о лицензии.
-h --help Вывести справочную информацию (сокращенный вариант).
-t, --test <item key> Запустить плагин для тестирования (конфигурация плагина игнорируется).

Параметры

При подключении к MongoDB плагин проверяет свою конфигурацию в определенном порядке, который определяет, какое значение использовать. Порядок, от наивысшего к наинизшему приоритету, следующий:

  1. Параметры, указанные в URI подключения (например, параметры запроса, заданные после ? в Plugins.MongoDB.Sessions.<session_name>.Uri, имеют наивысший приоритет).
  2. Параметры в ключе элемента данных агента 2 Zabbix (например, mongodb.collection.stats).
  3. Параметры, определенные в именованной сессии (например, Plugins.MongoDB.Sessions.<SessionName>.User, Plugins.MongoDB.Sessions.<SessionName>.Password).
  4. Значения по умолчанию (например, Plugins.MongoDB.Default.User, Plugins.MongoDB.Default.Password).

Например:

  • Если вы укажете базу данных для аутентификации подключения к серверу MongoDB в параметре *.<SessionName>.Uri (например, Plugins.MongoDB.Sessions.<session_name>.Uri=mongodb://user:[email protected]:27017/?authSource=admin), то плагин будет считать, что параметр *.<SessionName>.AuthSource установлен в admin, даже если параметр *.<SessionName>.AuthSource задан другим значением.
  • Если вы укажете URI в параметре *.<SessionName>.Uri (например, Plugins.MongoDB.Sessions.<session_name>.Uri=mongodb://127.0.0.1:27017), но укажете имя пользователя и пароль в ключе элемента данных агента 2 Zabbix, плагин будет использовать имя пользователя и пароль из ключа элемента данных, даже если настроены Plugins.MongoDB.Sessions.<SessionName>.User и Plugins.MongoDB.Sessions.<SessionName>.Password.

Если используется схема mongodb+srv://, URI может получать параметры из DNS TXT-записи. Параметры, полученные из этой TXT-записи, переопределяют все остальные настройки, включая параметры URI, параметры ключа элемента данных агента 2 Zabbix и параметры сессии.
Для имени хоста, используемого в строке подключения, может существовать только одна TXT-запись.

Parameter Mandatory Range Default Description
Plugins.MongoDB.System.Path no Путь к исполняемому файлу плагина MongoDB.
Пример использования: Plugins.MongoDB.System.Path=/usr/libexec/zabbix/zabbix-agent2-plugin-mongodb
Plugins.MongoDB.Timeout no 1-30 global timeout Тайм-аут выполнения запроса (время в секундах, в течение которого ожидается завершение запроса перед его остановкой).
Plugins.MongoDB.KeepAlive no 60-900 300 Максимальное время ожидания (в секундах) перед закрытием неиспользуемых подключений плагина.
Plugins.MongoDB.Sessions.<SessionName>.Uri no tcp://127.0.0.1:27017 Строка подключения именованной сессии.
<SessionName> - задайте имя сессии для использования в ключах элементов данных.

Должна соответствовать формату URI.
Поддерживаемые схемы: mongodb:// и mongodb+srv://; схема tcp:// устарела и сохранена для обратной совместимости с существующими настройками.
Порт можно не указывать (по умолчанию=27017).
Примеры: mongodb://127.0.0.1:27017, mongodb+srv://example.com, localhost.
Plugins.MongoDB.Sessions.<SessionName>.User no Имя пользователя именованной сессии.
<SessionName> - задайте имя сессии для использования в ключах элементов данных.
Plugins.MongoDB.Sessions.<SessionName>.Password no Пароль именованной сессии.
<SessionName> - задайте имя сессии для использования в ключах элементов данных.
Plugins.MongoDB.Sessions.<SessionName>.Direct no false Метод подключения, используемый для определения, следует ли включать или отключать автоматическое обнаружение узлов репликационного набора MongoDB.
<SessionName> - задайте имя сессии для использования в ключах элементов данных.

Поддерживаемые значения:
true - плагин будет подключаться только к указанному серверу, игнорируя другие участники репликационного набора;
false - плагин будет автоматически обнаруживать все узлы в репликационном наборе.
Если используется схема tcp:// (устарела), параметр по умолчанию устанавливается в true.
Plugins.MongoDB.Sessions.<SessionName>.AuthMechanism no Механизм аутентификации для подключения к серверу MongoDB.
<SessionName> - задайте имя сессии для использования в ключах элементов данных.

Поддерживаемые значения: SCRAM-SHA-1, SCRAM-SHA-256 и MONGODB-X509.
Plugins.MongoDB.Sessions.<SessionName>.AuthSource no admin База данных для аутентификации подключения к серверу MongoDB.
<SessionName> - задайте имя сессии для использования в ключах элементов данных.

Если используется механизм аутентификации MONGODB-X509, этот параметр автоматически устанавливается в $external; изменение его на любое другое значение приведет к ошибке при запуске.
Plugins.MongoDB.Sessions.<SessionName>.ReplicaSet no Имя репликационного набора, используемое для автоматического обнаружения узлов репликационного набора MongoDB.
<SessionName> - задайте имя сессии для использования в ключах элементов данных.

Если этот параметр используется со схемой mongodb+srv://, он будет работать так, как если бы было указано несколько URL; DNS-сервер может содержать TXT-запись, которая может переопределить этот (или любой другой) параметр.

Недоступен, если параметр Plugins.MongoDB.Sessions.<SessionName>.Direct установлен в true, агент не сможет запуститься.
Plugins.MongoDB.Sessions.<SessionName>.ReadPreference no Порядок подключения к узлам репликационного набора MongoDB или резервный вариант.
<SessionName> - задайте имя сессии для использования в ключах элементов данных.

Поддерживаемые значения: PrimaryMode, PrimaryPreferredMode, SecondaryMode, SecondaryPreferredMode и NearestMode.
Недоступен, если параметр Plugins.MongoDB.Sessions.<SessionName>.Direct установлен в true, агент не сможет запуститься.
Plugins.MongoDB.Sessions.<SessionName>.TLSConnect no Тип шифрования для обмена данными между агентом 2 Zabbix и контролируемыми базами данных.
<SessionName> - задайте имя сессии для использования в ключах элементов данных.

Поддерживаемые значения:
required - требуется TLS-подключение;
verify\_ca - проверка сертификатов;
verify\_full - проверка сертификатов и IP-адреса.

Поддерживается начиная с версии плагина 1.2.1.
Plugins.MongoDB.Sessions.<SessionName>.TLSCAFile yes, if Plugins.MongoDB.Sessions.<SessionName>.TLSConnect is set to one of: verify_ca, verify_full Полный путь к файлу, содержащему сертификаты корневого центра сертификации (CA), используемые для проверки сертификата узла, применяемые для шифрованного обмена данными между агентом 2 Zabbix и контролируемыми базами данных.
<SessionName> - задайте имя сессии для использования в ключах элементов данных.
Plugins.MongoDB.Sessions.<SessionName>.TLSCertFile yes, if Plugins.MongoDB.Sessions.<SessionName>.TLSKeyFile is specified Полный путь к файлу, содержащему сертификат агента или цепочку сертификатов, используемые для шифрованного обмена данными между агентом 2 Zabbix и контролируемыми базами данных.
<SessionName> - задайте имя сессии для использования в ключах элементов данных.
Plugins.MongoDB.Sessions.<SessionName>.TLSKeyFile yes, if Plugins.MongoDB.Sessions.<SessionName>.TLSCertFile is specified Полный путь к файлу, содержащему закрытый ключ базы данных, используемый для шифрованного обмена данными между агентом 2 Zabbix и контролируемыми базами данных.
<SessionName> - задайте имя сессии для использования в ключах элементов данных.
Plugins.MongoDB.Default.Uri no tcp://127.0.0.1:27017 URI по умолчанию для подключения к MongoDB.

Должен соответствовать формату URI.
Поддерживаемые схемы: mongodb:// и mongodb+srv://.
Устаревшая схема: tcp:// (используется по умолчанию для обратной совместимости с существующими настройками).
Порт можно не указывать (по умолчанию=27017).
Примеры: mongodb://127.0.0.1:27017, mongodb+srv://example.com, localhost.
Plugins.MongoDB.Default.User no Имя пользователя по умолчанию для подключения к MongoDB.
Plugins.MongoDB.Default.Password no Пароль по умолчанию для подключения к MongoDB.
Plugins.MongoDB.Default.Direct no false Метод подключения по умолчанию, используемый для определения, следует ли включать или отключать автоматическое обнаружение узлов репликационного набора MongoDB.

Поддерживаемые значения:
true - плагин будет подключаться только к указанному серверу, игнорируя другие участники репликационного набора;
false - плагин будет автоматически обнаруживать все узлы в репликационном наборе.
Если используется схема tcp:// (устарела), параметр по умолчанию устанавливается в true.
Plugins.MongoDB.Default.AuthMechanism no Механизм аутентификации по умолчанию для подключения к серверу MongoDB.

Поддерживаемые значения: SCRAM-SHA-1, SCRAM-SHA-256 и MONGODB-X509.
Если значение не указано ни здесь, ни в ключе элемента данных, ни в именованной сессии, ни в URI, используется механизм на основе SCRAM (если указан имя пользователя; в противном случае аутентификация не используется).
Plugins.MongoDB.Default.AuthSource no admin База данных по умолчанию для аутентификации подключения к серверу MongoDB.

Если используется механизм аутентификации MONGODB-X509, этот параметр автоматически устанавливается в $external; изменение его на любое другое значение приведет к ошибке при запуске.
Plugins.MongoDB.Default.ReplicaSet no Имя репликационного набора по умолчанию; используется для автоматического обнаружения узлов репликационного набора MongoDB.

Если этот параметр используется со схемой mongodb+srv://, он будет работать так, как если бы было указано несколько URL; DNS-сервер может содержать TXT-запись, которая может переопределить этот (или любой другой) параметр.
Недоступен, если параметр Plugins.MongoDB.Default.Direct установлен в true, агент не сможет запуститься.
Plugins.MongoDB.Default.ReadPreference no Порядок по умолчанию для подключения к узлам репликационного набора MongoDB или резервный вариант.

Поддерживаемые значения: PrimaryMode, PrimaryPreferredMode, SecondaryMode, SecondaryPreferredMode и NearestMode.
Недоступен, если параметр Plugins.MongoDB.Default.Direct установлен в true, агент не сможет запуститься.
Plugins.MongoDB.Default.TLSConnect no Тип шифрования по умолчанию для обмена данными между агентом 2 Zabbix и контролируемыми базами данных.

Поддерживаемые значения:
required - требуется TLS-подключение;
verify\_ca - проверка сертификатов;
verify\_full - проверка сертификатов и IP-адреса.
Если значение не указано ни здесь, ни в ключе элемента данных, ни в именованной сессии, ни в URI, TLS-подключение не будет установлено.
Plugins.MongoDB.Default.TLSCAFile no Полный путь по умолчанию к файлу, содержащему сертификаты корневого центра сертификации (CA), используемые для проверки сертификата узла. Используется для шифрованного обмена данными между агентом 2 Zabbix и контролируемыми базами данных.
Plugins.MongoDB.Default.TLSCertFile no Полный путь по умолчанию к файлу, содержащему сертификат клиента MongoDB или цепочку сертификатов. Используется для шифрованного обмена данными между агентом 2 Zabbix и контролируемыми базами данных.
Plugins.MongoDB.Default.TLSKeyFile no Полный путь по умолчанию к файлу, содержащему закрытый ключ клиента MongoDB, используемый для шифрованного обмена данными между агентом 2 Zabbix и контролируемыми базами данных.

См. также: