6 Плагин MongoDB
Обзор
Файл конфигурации агента 2 Zabbix используется для настройки плагинов. Эти параметры конфигурации агента 2 Zabbix поддерживаются для работы плагина MongoDB.
Рекомендуется указывать их в отдельном файле конфигурации (например, mongo.conf), а затем использовать директиву Include для добавления этого файла в конфигурацию агента 2 Zabbix.
Плагин MongoDB является загружаемым плагином и доступен, а также полностью описан в репозитории плагина MongoDB.
Обратите внимание:
- Значения по умолчанию отражают значения по умолчанию процесса, а не значения в поставляемых файлах конфигурации.
- Значения поддерживают переменные среды.
- Zabbix поддерживает файлы конфигурации только в кодировке UTF-8 без BOM.
- Комментарии, начинающиеся с "#", поддерживаются только в начале строки.
Параметры
| Параметр | Описание |
|---|---|
| -V --version | Вывести версию плагина и информацию о лицензии. |
| -h --help | Вывести справочную информацию (сокращённая форма). |
| -t, --test <item key> | Запустить плагин для тестирования (конфигурация плагина игнорируется). |
Параметры
При подключении к MongoDB плагин проверяет свою конфигурацию в определенном порядке, который определяет, какое значение будет использовано. Порядок, от наивысшего к наименьшему приоритету, следующий:
- Параметры, указанные в URI подключения (например, параметры запроса, заданные после
?вPlugins.MongoDB.Sessions.<session_name>.Uri, имеют наивысший приоритет). - Параметры в ключе элемента данных агента 2 Zabbix (например, mongodb.collection.stats).
- Параметры, определенные в именованной сессии (например,
Plugins.MongoDB.Sessions.<SessionName>.User,Plugins.MongoDB.Sessions.<SessionName>.Password). - Значения по умолчанию (например,
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 и контролируемыми базами данных. |
См. также:
- Описание общих параметров конфигурации агента 2 Zabbix: Zabbix agent 2 (UNIX) / Zabbix agent 2 (Windows)
- Инструкции по настройке плагинов