Плагин 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> Запустить плагин для тестирования (конфигурация плагина игнорируется).

См. также