MongoDB: различия между версиями

Материал из Документация Ключ-АСТРОМ
Нет описания правки
[wiki-cd:ruscomtech-extensions:b0985a6744c086353b26ac217dfa652296b8c814]
 
Строка 1: Строка 1:
= Мониторинг MongoDB в Ключ-АСТРОМ =
= MongoDB =
Инструкция по настройке расширения для мониторинга '''MongoDB'''.


Расширение подключается к экземпляру '''MongoDB''' через сетевой порт (по умолчанию 27017) и собирает метрики сервера, баз данных, операций, памяти и подключений.
Расширение '''MongoDB''' версии <code>2.2.2</code> собирает метрики сервера, баз данных, подключений, операций, памяти, блокировок, WiredTiger и репликации. Идентификатор: <code>ru.ruscomtech.mongo-db-tls</code>.


== Возможности расширения ==
Расширение подключается непосредственно к процессу MongoDB через его сетевой порт; Management API и веб-интерфейс не используются. Оно не устанавливает MongoDB, не создаёт пользователей и не выполняет трассировку запросов приложений.


=== Что делает ===
== Требования ==


* Подключается к экземпляру '''MongoDB''' через сетевой порт.
* Ключ-АСТРОМ <code>1.318.0+</code> и контроллер выполнения расширений (EEC) <code>1.313.0+</code>.
* Собирает метрики сервера (<code>serverStatus</code>), включая статистику операций, подключений, памяти, блокировок и транзакций.
* Подписанный пакет расширения, загруженный и активированный в Ключ-АСТРОМ.
* Создает сущности '''MongoDB Instance''' и '''Database''' со связями между ними.
* Сетевой доступ от узла выполнения к каждому контролируемому процессу MongoDB; стандартный порт — <code>27017</code>.
* Предоставляет данные для анализа производительности и работоспособности СУБД.
* Учётная запись с правами мониторинга, в том числе <code>serverStatus</code> в базе <code>admin</code>, <code>listDatabases</code> и <code>dbStats</code>. Для типового мониторинга используется встроенная роль <code>clusterMonitor</code>.
* Среда Python не ниже <code>3.9</code> в составе EEC. Драйвер и зависимости поставляются с расширением; устанавливать их в системный Python не требуется.


=== Что не делает ===
=== Режимы выполнения ===


* Не устанавливает и не настраивает '''MongoDB'''.
* '''Локальный мониторинг''' — ЕдиныйАгент с включённым EEC установлен на хосте MongoDB. Обычно используется подключение через <code>localhost</code>.
* Не использует '''Management API''' или веб-интерфейс — только прямое сетевое подключение к СУБД.
* '''Удалённый мониторинг''' — расширение выполняется на АктивномШлюзе с включённым EEC и подключается к MongoDB по сети. ЕдиныйАгент на сервере MongoDB в этом режиме не обязателен.
* Не выполняет трассировку запросов между приложениями.
* Не создает и не изменяет объекты баз данных, кроме создания учетной записи для мониторинга.


Метрики начинают поступать после завершения настройки и первого цикла сбора (в течение 2–3 минут).
Не настраивайте одновременно локальный и удалённый сбор одних и тех же процессов без необходимости: это может привести к дублированию данных.


== Предварительные условия ==
== Подготовка пользователя MongoDB ==


* Версия '''MongoDB''': 4.0 или выше (рекомендуется 5.0+).
Пользователя создаёт администратор базы данных, а не расширение. Пример для <code>mongosh</code>:
* Версия Ключ-АСТРОМ: 1.308 или выше.
* На хосте с '''MongoDB''' установлен ЕдиныйАгент Ключ-АСТРОМ, контроллер выполнения расширений ('''EEC''') включен.
* Подготовлен пакет расширения (<code>.zip</code>) для загрузки в Расширения — либо расширение уже доступно в каталоге Расширений.
* Сетевая доступность: порт '''MongoDB''' (по умолчанию 27017) должен быть открыт для подключений со стороны ЕдиногоАгента.
* Учетная запись с правами мониторинга (рекомендуется пользователь с ролью <code>clusterMonitor</code>).


== Рекомендация по подключению ==
<pre>
При локальном мониторинге (ЕдиныйАгент на том же хосте, что и '''MongoDB''') в конфигурации установите флажок '''Connect via 'localhost'?'''. Это позволит использовать loopback-адрес для подключения.
mongosh --username admin --authenticationDatabase admin --password
</pre>


Для защищенного соединения можно настроить '''TLS''' (флажок '''Enable insecure TLS''' устанавливать не рекомендуется — используйте правильно настроенные сертификаты).
Введите пароль администратора по запросу. В интерактивной оболочке выполните:


== Шаг 0. Подготовка MongoDB к мониторингу ==
<pre>
Данный этап выполняется непосредственно на сервере с '''MongoDB''' от имени администратора базы данных.
use admin
db.createUser({
  user: "astrom-monitor",
  pwd: passwordPrompt(),
  roles: [{ role: "clusterMonitor", db: "admin" }]
})
</pre>


=== 0.1 Подключение к MongoDB ===
<code>passwordPrompt()</code> запрашивает пароль без его открытого указания в команде. Для этого пользователя в конфигурации расширения задайте '''Authentication Database''' = <code>admin</code>, поскольку он создан в базе <code>admin</code>.
Подключитесь к экземпляру '''MongoDB''' с помощью <code>mongosh</code>.


'''Без аутентификации:'''<pre>
Проверьте вход под созданной учётной записью, доступность <code>db.serverStatus()</code>, списка баз и их статистики. Дополнительные сведения: [https://www.mongodb.com/docs/manual/reference/built-in-roles/#mongodb-authrole-clusterMonitor роль clusterMonitor] и [https://www.mongodb.com/docs/manual/reference/method/passwordprompt/ passwordPrompt()].
mongosh
 
</pre>'''С аутентификацией (рекомендуется):'''<pre>
== Установка и создание конфигурации ==
mongosh --username admin --password <пароль_admin> --authenticationDatabase admin
 
</pre>Переключитесь на административную базу данных:<pre>
# В Ключ-АСТРОМ откройте '''Расширения''', загрузите подписанный ZIP-пакет и активируйте версию <code>2.2.2</code> расширения <code>ru.ruscomtech.mongo-db-tls</code>.
use admin
# Добавьте конфигурацию мониторинга.
</pre>Проверьте существующих пользователей (опционально):<pre>
# Выберите локальный режим и нужные хосты либо удалённый режим и группу АктивныхШлюзов.
db.getUsers()
# Заполните подключение и учётные данные, при необходимости настройте TLS и дополнительные процессы.
</pre>Создайте пользователя для мониторинга с ролью <code>clusterMonitor</code>:<pre>
# Выберите наборы метрик, задайте понятное описание, сохраните и включите конфигурацию.
db.createUser({user: "dt_user", pwd: "<пароль>", roles: ["clusterMonitor"]})
 
</pre>Примечание: Роль <code>clusterMonitor</code> предоставляет необходимые права для сбора метрик производительности и состояния кластера, включая доступ к командам <code>serverStatus()</code>, <code>dbStats()</code> и другим диагностическим данным.
Названия разделов интерфейса могут зависеть от версии Ключ-АСТРОМ.
 
== Параметры подключения ==


=== 0.3 Проверка доступности баз данных ===
* '''Hostname''' (<code>hostname</code>) — DNS-имя или IP-адрес MongoDB. Обязателен в удалённом режиме.
Убедитесь, что '''MongoDB''' работает корректно и базы данных доступны для мониторинга:<pre>
* '''Port''' (<code>port</code>) — порт процесса, по умолчанию <code>27017</code>.
show dbs
* '''Connect via 'localhost'?''' (<code>use_localhost</code>) — только для локального режима; по умолчанию включено. Не используйте loopback для подключения к другому серверу.
</pre>Ожидаемый результат: список существующих баз данных.
* '''Custom Host Name''' (<code>custom_hostname</code>) — необязательное переопределение имени хоста в локальном режиме.
* '''Monitor Additional MongoDB Processes on the same host''' (<code>additional_processes</code>) — дополнительные процессы на том же хосте. Для каждого задаются отдельный порт и блок аутентификации. Параметры сертификатов общие для конфигурации.
* '''Enable Debug Logging''' (<code>debug_logging</code>) — подробный журнал для диагностики; после расследования проблемы отключите его.


== Шаг 1. Загрузка расширения в Расширения ==
Каждое подключение направлено на конкретный процесс MongoDB. Для контроля нескольких узлов набора реплик добавьте подключения к нужным узлам, а не только к одному из них.
Если расширение еще не установлено в окружении:


# Откройте '''Расширения''' → раздел '''Extensions'''.
=== Аутентификация ===
# Нажмите '''Загрузить Расширение 2.0''' и выберите загрузку пользовательского / custom-расширения.
# Укажите файл <code>.zip</code>-пакета расширения '''MongoDB''' (доступен в каталоге Расширений или загружен из внешнего источника).
# Дождитесь успешной проверки подписи и загрузки.
# Активируйте нужную версию расширения для окружения.


Если расширение уже присутствует в Расширениях окружения, откройте его карточку и убедитесь, что требуемая версия активна. После активации перейдите на вкладку '''Конфигурация''' — можно добавлять конфигурацию мониторинга.
* '''Use credential vault''' — использовать хранилище учётных данных. Выберите запись типа Username and password в '''Select vault credentials'''.
* '''User''' (<code>auth_user</code>) и '''Password''' (<code>auth_password</code>) — пользователь мониторинга и его пароль, если хранилище не используется. Пароль задаётся в секретном поле.
* '''Auth Mechanism''' (<code>auth_mechanism</code>) — механизм аутентификации, соответствующий настройкам пользователя MongoDB, например <code>SCRAM-SHA-256</code>.
* '''Authentication Database''' (<code>auth_db</code>) — база, в которой создан пользователь. Это не список баз для сбора метрик.
* '''Authentication Mechanism Properties''' (<code>auth_mechanism_properties</code>) — дополнительные свойства выбранного механизма. Для типового SCRAM-подключения заполнять не требуется.


== Шаг 2. Добавление конфигурации мониторинга ==
Не помещайте пароли в Git, описание конфигурации или команды с открытыми аргументами.


# Откройте '''Расширения''' → расширение '''MongoDB''' → вкладка '''Конфигурация'''.
=== TLS ===
# Нажмите '''Добавить конфигурацию мониторинга'''.


== Шаг 3. Выбор источника мониторинга ==
Для защищённого подключения задайте параметры, соответствующие TLS-настройкам MongoDB:
Для типичного сценария «ЕдиныйАгент на хосте с MongoDB» выберите '''Мониторить локально''' и нужный хост. Убедитесь, что у хоста '''EEC''' отображается как «Включено».


Нажмите '''Следующий шаг'''.
* '''Path to CA PEM File''' (<code>tls_ca_file_path</code>) — путь к PEM-файлу доверенного центра сертификации. Указание CA-файла включает TLS с проверкой сертификата сервера.
* '''Path to Client Certificate Key File''' (<code>tls_certificate_key_file</code>) — путь к PEM-файлу, содержащему клиентский сертификат и закрытый ключ, если сервер требует клиентский сертификат.
* '''Password to Client Certificate Key File''' (<code>tls_certificate_key_file_password</code>) — пароль закрытого ключа, если он зашифрован.


== Шаг 4. Параметры подключения к MongoDB ==
Пути относятся к '''узлу выполнения расширения''': к хосту ЕдиногоАгента при локальном сборе или к АктивномуШлюзу при удалённом. Файлы должны существовать и быть доступны служебной учётной записи на каждом выбранном узле выполнения. Закрытые ключи не добавляйте в репозиторий.
{| class="wikitable"
!Поле
!Описание
!Пример
|-
|Port
|Порт '''MongoDB''' (по умолчанию 27017)
|27017
|-
|User
|Пользователь с правами мониторинга (создан на шаге 0)
|dt_user
|-
|Password
|Пароль пользователя
|–
|-
|Auth Mechanism
|Механизм аутентификации (оставьте пустым для использования стандартного)
|–
|-
|Authentication Database
|База данных аутентификации (обычно admin)
|admin
|}
Рекомендации по настройке:


* '''Порт''': Оставьте значение по умолчанию (27017), если только '''MongoDB''' не использует нестандартный порт.
'''Enable insecure TLS''' (<code>tls_insecure</code>) включает TLS без проверки сертификатов и имеет приоритет над указанными CA-файлом, клиентским сертификатом и его паролем. Не используйте этот режим в рабочей среде: настройте доверенную цепочку и корректное имя сервера.
* '''Пользователь''': Используйте учетную запись, созданную на шаге 0 с ролью <code>clusterMonitor</code>.
* '''Authentication Database''': Укажите <code>admin</code> (база данных, где создан пользователь).
* '''Enable insecure TLS''': Не устанавливайте данный флажок в production-средах. Используйте корректно настроенные сертификаты для '''TLS'''-соединений.
* '''Connect via 'localhost'?''': Установите флажок при локальном мониторинге (ЕдиныйАгент на том же хосте, что и '''MongoDB'''). Это гарантирует подключение через loopback-адрес.


== Шаг 5. Ярлык конфигурации и наборы метрик ==
== Наборы метрик ==


* Оставьте конфигурацию включенной ('''Enabled''').
В версии <code>2.2.2</code> используются следующие идентификаторы наборов функций:
* Укажите понятный ярлык ('''Description'''), например имя кластера или окружения.
* Рекомендуется включить все наборы функций:
** '''Instance''' (метрики сервера)
** '''Database''' (метрики баз данных)
* Сохраните конфигурацию.


== Шаг 6. Проверка статуса ==
* <code>default</code> — основные метрики сервера и баз данных: подключения, операции, память и статистика баз.
В разделе '''Конфигурация''' расширения убедитесь, что:
* <code>wiredTiger</code> — метрики движка WiredTiger.
* <code>locks</code> — метрики блокировок.
* <code>replicaSet</code> — состояние репликации.


* Конфигурация включена.
Выбирайте дополнительные наборы с учётом конфигурации MongoDB. Данные WiredTiger и replica set доступны только там, где соответствующие компоненты используются. Наборов <code>Instance</code> и <code>Database</code> в этой версии нет.
* Состояние отображается как '''Ok'''.
* Указан корректный хост выполнения.


При статусе '''Ok''' можно перейти к дашборду кнопкой '''Перейти на дашборд'''.
== Проверка работы ==


Через 1–3 минуты в Ключ-АСТРОМ появляются сущности '''MongoDB Instance''' (а также '''Database''' — если они есть в '''MongoDB''').
# Убедитесь, что конфигурация включена, выбран правильный узел выполнения и EEC работает.
# Дождитесь первых циклов сбора и проверьте отсутствие ошибок подключения и аутентификации.
# Откройте обзорную панель расширения и проверьте поступление метрик.
# Проверьте созданные сущности хоста, процесса, баз данных и, для соответствующей конфигурации, набора реплик.


== Контрольный список ==
В модели расширения используются типы <code>mongodb:host</code>, <code>mongodb:process</code>, <code>mongodb:database</code> и <code>mongodb:replicaset</code>. Состав сущностей зависит от полученных данных и обязательных измерений.
{| class="wikitable"
!№
!Пункт
|-
|1
|На сервере '''MongoDB''' создана учетная запись <code>dt_user</code> с ролью <code>clusterMonitor</code>.
|-
|2
|Пакет расширения загружен в Расширения и активирован.
|-
|3
|Конфигурация мониторинга добавлена и включена, состояние '''Ok'''.
|-
|4
|Выбран корректный режим (локально / удаленно).
|-
|5
|Указаны корректные параметры подключения (порт, пользователь, пароль, Authentication Database).
|-
|6
|При локальном мониторинге установлен флажок '''Connect via 'localhost'?'''.
|-
|7
|На дашбордах и в сущностях отображаются метрики '''MongoDB'''.
|}


== Возможные проблемы ==
== Возможные проблемы ==
{| class="wikitable"
 
!Симптом
* '''Ошибка подключения''' — проверьте DNS, адрес, порт, сетевые правила и настройки прослушивания MongoDB со стороны узла выполнения.
!Что проверить
* '''Ошибка авторизации''' — проверьте пользователя, пароль или выбранную запись хранилища, механизм аутентификации, базу <code>auth_db</code> и роль <code>clusterMonitor</code>.
|-
* '''Ошибка TLS''' — проверьте наличие PEM-файлов именно на узле выполнения, права чтения, срок действия, цепочку доверия и соответствие имени сервера сертификату.
|Состояние конфигурации не '''Ok'''
* '''Нет части метрик''' — проверьте выбранные наборы, доступность соответствующих команд в вашей версии MongoDB и права пользователя. Для standalone-процесса не ожидаются метрики набора реплик.
|Сетевая доступность порта '''MongoDB''' (27017) с хоста ЕдиногоАгента / АктивногоШлюза, корректность учетных данных, статус '''EEC'''.
* '''Нет сущностей баз данных''' — проверьте, что пользователь может получить список баз и выполнить <code>dbStats</code>, а сбор завершился без ошибок.
|-
* '''Нулевые значения''' — при отсутствии нагрузки это может быть нормальным состоянием; сравните данные с диагностическими командами MongoDB.
|Ошибка авторизации
|Проверьте логин и пароль пользователя, а также Authentication Database (обычно <code>admin</code>). Убедитесь в наличии роли <code>clusterMonitor</code>.
|-
|Нет сущностей Database
|В '''MongoDB''' нет баз данных, либо еще не завершился первый цикл сбора.
|-
|Нулевые значения метрик
|Ожидаемо при отсутствии нагрузки; расширение отражает фактическое состояние СУБД.
|-
|Требуется удаленный сбор
|Группа АктивныхШлюзов с сетевым доступом к <code>host:27017</code> и отдельная учетная запись с ролью <code>clusterMonitor</code>.
|-
|Ошибка подключения при '''TLS'''
|Проверьте сертификаты. Временно для тестирования можно установить флажок '''Enable insecure TLS''' (не рекомендуется для production).
|-
|Расширение не видит базы данных
|Проверьте права пользователя <code>dt_user</code> — необходима роль <code>clusterMonitor</code>. Также убедитесь, что базы данных существуют и доступны (<code>show dbs</code>).
|}


== История версий ==
== История версий ==


{| class="wikitable"
=== Версия 2.2.2 ===
! Версия
 
! Изменения
Начало поддержки расширения для Ключ-АСТРОМ <code>1.318.0+</code>; требуется EEC <code>1.313.0+</code>.
|-
 
|2.2.2
* Поддерживаются локальный и удалённый мониторинг MongoDB.
|Начало поддержки расширения для Ключ-АСТРОМ <code>1.318.0+</code>. Поддерживается локальный и удалённый мониторинг MongoDB, включая метрики подключений, операций, памяти, блокировок, WiredTiger и репликации.
* Доступны наборы <code>default</code>, <code>wiredTiger</code>, <code>locks</code> и <code>replicaSet</code>.
|}
* Поддерживаются TLS, хранилище учётных данных и мониторинг нескольких процессов на одном хосте.

Текущая версия от 23:24, 22 октября 2026

MongoDB

Расширение MongoDB версии 2.2.2 собирает метрики сервера, баз данных, подключений, операций, памяти, блокировок, WiredTiger и репликации. Идентификатор: ru.ruscomtech.mongo-db-tls.

Расширение подключается непосредственно к процессу MongoDB через его сетевой порт; Management API и веб-интерфейс не используются. Оно не устанавливает MongoDB, не создаёт пользователей и не выполняет трассировку запросов приложений.

Требования

  • Ключ-АСТРОМ 1.318.0+ и контроллер выполнения расширений (EEC) 1.313.0+.
  • Подписанный пакет расширения, загруженный и активированный в Ключ-АСТРОМ.
  • Сетевой доступ от узла выполнения к каждому контролируемому процессу MongoDB; стандартный порт — 27017.
  • Учётная запись с правами мониторинга, в том числе serverStatus в базе admin, listDatabases и dbStats. Для типового мониторинга используется встроенная роль clusterMonitor.
  • Среда Python не ниже 3.9 в составе EEC. Драйвер и зависимости поставляются с расширением; устанавливать их в системный Python не требуется.

Режимы выполнения

  • Локальный мониторинг — ЕдиныйАгент с включённым EEC установлен на хосте MongoDB. Обычно используется подключение через localhost.
  • Удалённый мониторинг — расширение выполняется на АктивномШлюзе с включённым EEC и подключается к MongoDB по сети. ЕдиныйАгент на сервере MongoDB в этом режиме не обязателен.

Не настраивайте одновременно локальный и удалённый сбор одних и тех же процессов без необходимости: это может привести к дублированию данных.

Подготовка пользователя MongoDB

Пользователя создаёт администратор базы данных, а не расширение. Пример для mongosh:

mongosh --username admin --authenticationDatabase admin --password

Введите пароль администратора по запросу. В интерактивной оболочке выполните:

use admin
db.createUser({
  user: "astrom-monitor",
  pwd: passwordPrompt(),
  roles: [{ role: "clusterMonitor", db: "admin" }]
})

passwordPrompt() запрашивает пароль без его открытого указания в команде. Для этого пользователя в конфигурации расширения задайте Authentication Database = admin, поскольку он создан в базе admin.

Проверьте вход под созданной учётной записью, доступность db.serverStatus(), списка баз и их статистики. Дополнительные сведения: роль clusterMonitor и passwordPrompt().

Установка и создание конфигурации

  1. В Ключ-АСТРОМ откройте Расширения, загрузите подписанный ZIP-пакет и активируйте версию 2.2.2 расширения ru.ruscomtech.mongo-db-tls.
  2. Добавьте конфигурацию мониторинга.
  3. Выберите локальный режим и нужные хосты либо удалённый режим и группу АктивныхШлюзов.
  4. Заполните подключение и учётные данные, при необходимости настройте TLS и дополнительные процессы.
  5. Выберите наборы метрик, задайте понятное описание, сохраните и включите конфигурацию.

Названия разделов интерфейса могут зависеть от версии Ключ-АСТРОМ.

Параметры подключения

  • Hostname (hostname) — DNS-имя или IP-адрес MongoDB. Обязателен в удалённом режиме.
  • Port (port) — порт процесса, по умолчанию 27017.
  • Connect via 'localhost'? (use_localhost) — только для локального режима; по умолчанию включено. Не используйте loopback для подключения к другому серверу.
  • Custom Host Name (custom_hostname) — необязательное переопределение имени хоста в локальном режиме.
  • Monitor Additional MongoDB Processes on the same host (additional_processes) — дополнительные процессы на том же хосте. Для каждого задаются отдельный порт и блок аутентификации. Параметры сертификатов общие для конфигурации.
  • Enable Debug Logging (debug_logging) — подробный журнал для диагностики; после расследования проблемы отключите его.

Каждое подключение направлено на конкретный процесс MongoDB. Для контроля нескольких узлов набора реплик добавьте подключения к нужным узлам, а не только к одному из них.

Аутентификация

  • Use credential vault — использовать хранилище учётных данных. Выберите запись типа Username and password в Select vault credentials.
  • User (auth_user) и Password (auth_password) — пользователь мониторинга и его пароль, если хранилище не используется. Пароль задаётся в секретном поле.
  • Auth Mechanism (auth_mechanism) — механизм аутентификации, соответствующий настройкам пользователя MongoDB, например SCRAM-SHA-256.
  • Authentication Database (auth_db) — база, в которой создан пользователь. Это не список баз для сбора метрик.
  • Authentication Mechanism Properties (auth_mechanism_properties) — дополнительные свойства выбранного механизма. Для типового SCRAM-подключения заполнять не требуется.

Не помещайте пароли в Git, описание конфигурации или команды с открытыми аргументами.

TLS

Для защищённого подключения задайте параметры, соответствующие TLS-настройкам MongoDB:

  • Path to CA PEM File (tls_ca_file_path) — путь к PEM-файлу доверенного центра сертификации. Указание CA-файла включает TLS с проверкой сертификата сервера.
  • Path to Client Certificate Key File (tls_certificate_key_file) — путь к PEM-файлу, содержащему клиентский сертификат и закрытый ключ, если сервер требует клиентский сертификат.
  • Password to Client Certificate Key File (tls_certificate_key_file_password) — пароль закрытого ключа, если он зашифрован.

Пути относятся к узлу выполнения расширения: к хосту ЕдиногоАгента при локальном сборе или к АктивномуШлюзу при удалённом. Файлы должны существовать и быть доступны служебной учётной записи на каждом выбранном узле выполнения. Закрытые ключи не добавляйте в репозиторий.

Enable insecure TLS (tls_insecure) включает TLS без проверки сертификатов и имеет приоритет над указанными CA-файлом, клиентским сертификатом и его паролем. Не используйте этот режим в рабочей среде: настройте доверенную цепочку и корректное имя сервера.

Наборы метрик

В версии 2.2.2 используются следующие идентификаторы наборов функций:

  • default — основные метрики сервера и баз данных: подключения, операции, память и статистика баз.
  • wiredTiger — метрики движка WiredTiger.
  • locks — метрики блокировок.
  • replicaSet — состояние репликации.

Выбирайте дополнительные наборы с учётом конфигурации MongoDB. Данные WiredTiger и replica set доступны только там, где соответствующие компоненты используются. Наборов Instance и Database в этой версии нет.

Проверка работы

  1. Убедитесь, что конфигурация включена, выбран правильный узел выполнения и EEC работает.
  2. Дождитесь первых циклов сбора и проверьте отсутствие ошибок подключения и аутентификации.
  3. Откройте обзорную панель расширения и проверьте поступление метрик.
  4. Проверьте созданные сущности хоста, процесса, баз данных и, для соответствующей конфигурации, набора реплик.

В модели расширения используются типы mongodb:host, mongodb:process, mongodb:database и mongodb:replicaset. Состав сущностей зависит от полученных данных и обязательных измерений.

Возможные проблемы

  • Ошибка подключения — проверьте DNS, адрес, порт, сетевые правила и настройки прослушивания MongoDB со стороны узла выполнения.
  • Ошибка авторизации — проверьте пользователя, пароль или выбранную запись хранилища, механизм аутентификации, базу auth_db и роль clusterMonitor.
  • Ошибка TLS — проверьте наличие PEM-файлов именно на узле выполнения, права чтения, срок действия, цепочку доверия и соответствие имени сервера сертификату.
  • Нет части метрик — проверьте выбранные наборы, доступность соответствующих команд в вашей версии MongoDB и права пользователя. Для standalone-процесса не ожидаются метрики набора реплик.
  • Нет сущностей баз данных — проверьте, что пользователь может получить список баз и выполнить dbStats, а сбор завершился без ошибок.
  • Нулевые значения — при отсутствии нагрузки это может быть нормальным состоянием; сравните данные с диагностическими командами MongoDB.

История версий

Версия 2.2.2

Начало поддержки расширения для Ключ-АСТРОМ 1.318.0+; требуется EEC 1.313.0+.

  • Поддерживаются локальный и удалённый мониторинг MongoDB.
  • Доступны наборы default, wiredTiger, locks и replicaSet.
  • Поддерживаются TLS, хранилище учётных данных и мониторинг нескольких процессов на одном хосте.