Плагин MongoDB

Обзор

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

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

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

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

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

  1. Параметры, указанные в URI подключения (например, параметры запроса, заданные после ? в Plugins.MongoDB.Sessions.<session_name>.Uri, имеют наивысший приоритет).
  2. Параметры в ключе элемента данных Zabbix agent 2 (например, 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), но укажете имя пользователя и пароль в ключе элемента данных Zabbix agent 2, плагин будет использовать имя пользователя и пароль из ключа элемента данных, даже если настроены Plugins.MongoDB.Sessions.<SessionName>.User и Plugins.MongoDB.Sessions.<SessionName>.Password.

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

Страница состоит из следующих разделов:

  • Обзор параметров (чтобы увидеть полные сведения о параметре, щелкните его имя)
  • Сведения о параметрах
Parameter Description
Plugins.MongoDB.Default.AuthMechanism Укажите механизм аутентификации по умолчанию для подключения к серверу MongoDB.
Plugins.MongoDB.Default.AuthSource Укажите базу данных по умолчанию для аутентификации подключения к серверу MongoDB.
Plugins.MongoDB.Default.Direct Отключить автоматическое обнаружение узлов сети реплика-сета MongoDB.
Plugins.MongoDB.Default.Password Укажите пароль по умолчанию.
Plugins.MongoDB.Default.ReplicaSet Укажите имя реплика-сета по умолчанию, используемое для автоматического обнаружения узлов сети реплика-сета MongoDB.
Plugins.MongoDB.Default.ReadPreference Укажите порядок по умолчанию для подключения к узлам сети реплика-сета MongoDB или резервного перехода.
Plugins.MongoDB.Default.TLSConnect Укажите уровень шифрования, требуемый для обмена данными между Zabbix agent 2 и контролируемыми базами данных.
Plugins.MongoDB.Default.TLSCAFile Укажите полный путь к файлу, содержащему сертификаты корневого CA(ов) для проверки сертификата узла.
Plugins.MongoDB.Default.TLSCertFile Укажите полный путь к файлу, содержащему сертификат агента или цепочку сертификатов.
Plugins.MongoDB.Default.TLSKeyFile Укажите полный путь к файлу, содержащему закрытый ключ базы данных.
Plugins.MongoDB.Default.Uri Укажите URI по умолчанию.
Plugins.MongoDB.Default.User Укажите имя пользователя по умолчанию.
Plugins.MongoDB.KeepAlive Установите максимальное время ожидания перед закрытием неиспользуемых подключений плагина.
Plugins.MongoDB.Sessions.<SessionName>.AuthMechanism Укажите механизм аутентификации именованной сессии для подключения к серверу MongoDB.
Plugins.MongoDB.Sessions.<SessionName>.AuthSource Укажите базу данных именованной сессии для аутентификации подключения к серверу MongoDB.
Plugins.MongoDB.Sessions.<SessionName>.Direct Отключить автоматическое обнаружение узлов сети реплика-сета MongoDB для именованной сессии.
Plugins.MongoDB.Sessions.<SessionName>.Password Укажите пароль именованной сессии.
Plugins.MongoDB.Sessions.<SessionName>.ReplicaSet Укажите имя реплика-сета именованной сессии, используемое для автоматического обнаружения узлов сети реплика-сета MongoDB.
Plugins.MongoDB.Sessions.<SessionName>.ReadPreference Укажите порядок именованной сессии для подключения к узлам сети реплика-сета MongoDB или резервного перехода.
Plugins.MongoDB.Sessions.<SessionName>.TLSConnect Укажите уровень шифрования, требуемый для обмена данными между Zabbix agent 2 и контролируемыми базами данных для именованной сессии.
Plugins.MongoDB.Sessions.<SessionName>.TLSCAFile Укажите полный путь к файлу, содержащему сертификаты корневого CA(ов) для проверки сертификата узла для именованной сессии.
Plugins.MongoDB.Sessions.<SessionName>.TLSCertFile Укажите полный путь к файлу, содержащему сертификат агента или цепочку сертификатов для именованной сессии.
Plugins.MongoDB.Sessions.<SessionName>.TLSKeyFile Укажите полный путь к файлу, содержащему закрытый ключ базы данных для именованной сессии.
Plugins.MongoDB.Sessions.<SessionName>.Uri Укажите URI именованной сессии.
Plugins.MongoDB.Sessions.<SessionName>.User Укажите имя пользователя именованной сессии.
Plugins.MongoDB.System.Path Укажите путь к исполняемому файлу плагина.
Plugins.MongoDB.Timeout Установите тайм-аут выполнения запроса.

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

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

Подробности параметра

Plugins.MongoDB.Default.AuthMechanism

Укажите механизм аутентификации по умолчанию для подключения к серверу MongoDB.
<SessionName> - задает имя сеанса для использования в ключах элементов данных.

Диапазон: SCRAM-SHA-1, SCRAM-SHA-256 или MONGODB-X509

Plugins.MongoDB.Default.AuthSource

Укажите базу данных по умолчанию для аутентификации при подключении к серверу MongoDB.
<SessionName> - задает имя сеанса для использования в ключах элементов данных.

По умолчанию: admin

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

Plugins.MongoDB.Default.Direct

Отключает автоматическое обнаружение узлов реплика-сета MongoDB.
<SessionName> - задает имя сеанса для использования в ключах элементов данных.

По умолчанию: false
Диапазон: true - подключаться только к указанному серверу, игнорируя других участников реплика-сета, false - автоматически обнаруживать все узлы в реплика-сете.

Если используется схема tcp:// (устаревшая), параметр по умолчанию устанавливается в true.

Plugins.MongoDB.Default.Password

Укажите пароль по умолчанию.
<SessionName> - задайте имя сеанса для использования в ключах элементов данных.

Plugins.MongoDB.Default.ReplicaSet

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

Plugins.MongoDB.Default.ReadPreference

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

Диапазон: PrimaryMode, PrimaryPreferredMode, SecondaryMode, SecondaryPreferredMode или NearestMode

Plugins.MongoDB.Default.TLSConnect

Укажите уровень шифрования, требуемый для обмена данными между агентом Zabbix 2 и контролируемыми базами данных.
<SessionName> - задает имя сеанса для использования в ключах элементов данных.
Поддерживается начиная с версии плагина 1.2.1.

Диапазон: required - требуется TLS-соединение, verify_ca - проверка сертификатов, verify_full - проверка сертификатов и IP-адреса

Plugins.MongoDB.Default.TLSCAFile

Укажите полный путь к файлу, содержащему сертификаты CA верхнего уровня для проверки сертификата узла, используемые для зашифрованных соединений между агентом Zabbix 2 и контролируемыми базами данных.
<SessionName> - задает имя сеанса для использования в ключах элементов данных.

Обязательно: yes, если Plugins.MongoDB.Sessions.<SessionName>.TLSConnect имеет значение verify_ca или verify_full

Plugins.MongoDB.Default.TLSCertFile

Укажите полное имя пути к файлу, содержащему сертификат агента или цепочку сертификатов, используемых для зашифрованной связи между Zabbix agent 2 и контролируемыми базами данных.
<SessionName> - задайте имя сеанса для использования в ключах элементов данных.

Обязательно: yes, если указан Plugins.MongoDB.Sessions.<SessionName>.TLSKeyFile

Plugins.MongoDB.Default.TLSKeyFile

Укажите полное имя пути к файлу, содержащему закрытый ключ базы данных, используемый для зашифрованного обмена данными между агентом Zabbix 2 и контролируемыми базами данных.
<SessionName> - задает имя сеанса для использования в ключах элементов данных.

Обязательно: yes, если указан Plugins.MongoDB.Sessions.<SessionName>.TLSCertFile

Plugins.MongoDB.Default.Uri

Укажите URI по умолчанию.
<SessionName> - задает имя сеанса для использования в ключах элементов данных.
Должен соответствовать формату URI.
Поддерживаемые схемы: mongodb:// и mongodb+srv://; схема tcp:// устарела и сохранена для обратной совместимости с существующими конфигурациями.
Порт можно не указывать (по умолчанию=27017).
Примеры: ``

По умолчанию: tcp://127.0.0.1:27017

Примеры:

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

Укажите имя пользователя по умолчанию.
<SessionName> - задайте имя сеанса для использования в ключах элементов данных.

Plugins.MongoDB.KeepAlive

Установите максимальное время ожидания (в секундах) перед закрытием неиспользуемых подключений плагина.

По умолчанию: 300
Диапазон: 60-900

Plugins.MongoDB.Sessions.<SessionName>.AuthMechanism

Укажите механизм аутентификации для именованной сессии при подключении к серверу MongoDB.
<SessionName> - задает имя сессии для использования в ключах элементов данных.

Диапазон: SCRAM-SHA-1, SCRAM-SHA-256 или MONGODB-X509

Plugins.MongoDB.Sessions.<SessionName>.AuthSource

Укажите базу данных именованной сессии для аутентификации подключения к серверу MongoDB.
<SessionName> - задает имя сессии для использования в ключах элементов данных.

По умолчанию: admin

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

Plugins.MongoDB.Sessions.<SessionName>.Direct

Отключает автоматическое обнаружение узлов репликационного набора MongoDB для именованной сессии.
<SessionName> - задает имя сессии для использования в ключах элементов данных.

По умолчанию: false
Диапазон: true - подключаться только к указанному серверу, игнорируя других участников репликационного набора, false - автоматически обнаруживать все узлы в репликационном наборе.

Если используется схема tcp:// (устарела), параметр по умолчанию устанавливается в true.

Plugins.MongoDB.Sessions.<SessionName>.Password

Укажите пароль для именованной сессии.
<SessionName> - задайте имя сессии для использования в ключах элементов данных.

Plugins.MongoDB.Sessions.<SessionName>.ReplicaSet

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

Plugins.MongoDB.Sessions.<SessionName>.ReadPreference

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

Диапазон: PrimaryMode, PrimaryPreferredMode, SecondaryMode, SecondaryPreferredMode или NearestMode

Plugins.MongoDB.Sessions.<SessionName>.TLSConnect

Укажите уровень шифрования, требуемый для обмена данными между агентом Zabbix agent 2 и контролируемыми базами данных для именованной сессии.
<SessionName> - задает имя сессии для использования в ключах элементов данных.
Поддерживается начиная с версии плагина 1.2.1.

Диапазон: required - требуется TLS-соединение, verify_ca - проверка сертификатов, verify_full - проверка сертификатов и IP-адреса

Plugins.MongoDB.Sessions.<SessionName>.TLSCAFile

Укажите полный путь к файлу, содержащему сертификаты корневого CA(ов) для проверки сертификата узла, используемые для зашифрованного обмена данными между агентом Zabbix 2 и контролируемыми базами данных для именованной сессии.
<SessionName> - задайте имя сессии для использования в ключах элементов данных.

Обязательно: yes, если Plugins.MongoDB.Sessions.<SessionName>.TLSConnect установлено в verify_ca или verify_full

Plugins.MongoDB.Sessions.<SessionName>.TLSCertFile

Укажите полное имя пути к файлу, содержащему сертификат агента или цепочку сертификатов, используемых для зашифрованной связи между Zabbix agent 2 и контролируемыми базами данных для именованной сессии.
<SessionName> - задайте имя сессии для использования в ключах элементов данных.

Обязательно: yes, если указан Plugins.MongoDB.Sessions.<SessionName>.TLSKeyFile

Plugins.MongoDB.Sessions.<SessionName>.TLSKeyFile

Укажите полное имя пути к файлу, содержащему закрытый ключ базы данных, используемый для зашифрованной связи между агентом 2 Zabbix и контролируемыми базами данных для именованного сеанса.
<SessionName> - задайте имя сеанса для использования в ключах элементов данных.

Обязательно: yes, если указан Plugins.MongoDB.Sessions.<SessionName>.TLSCertFile

Plugins.MongoDB.Sessions.<SessionName>.Uri

Укажите URI именованной сессии.
<SessionName> - задайте имя сессии для использования в ключах элементов данных.
Должен соответствовать формату URI.
Поддерживаемые схемы: mongodb:// и mongodb+srv://; схема tcp:// устарела и сохранена для обратной совместимости с существующими конфигурациями.
Порт можно не указывать (по умолчанию=27017).
Примеры: ``

По умолчанию: tcp://127.0.0.1:27017

Примеры:

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

Укажите имя пользователя для именованной сессии.
<SessionName> - задайте имя сессии для использования в ключах элементов данных.

Plugins.MongoDB.System.Path

Укажите путь к исполняемому файлу плагина MongoDB.

Пример использования: Plugins.MongoDB.System.Path=/usr/libexec/zabbix/zabbix-agent2-plugin-mongodb

Plugins.MongoDB.Timeout

Установите тайм-аут выполнения запроса (продолжительность ожидания завершения запроса в секундах, после которой он будет принудительно остановлен).

По умолчанию: global timeout
Диапазон: 1-30

Параметры

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

См. также