MongoDB: различия между версиями
Нет описания правки Метка: визуальный редактор отключён |
Azubarev (обсуждение | вклад) [wiki-cd:ruscomtech-extensions:b0985a6744c086353b26ac217dfa652296b8c814] |
||
| Строка 1: | Строка 1: | ||
= | = MongoDB = | ||
Расширение | Расширение '''MongoDB''' версии <code>2.2.2</code> собирает метрики сервера, баз данных, подключений, операций, памяти, блокировок, WiredTiger и репликации. Идентификатор: <code>ru.ruscomtech.mongo-db-tls</code>. | ||
Расширение подключается непосредственно к процессу MongoDB через его сетевой порт; Management API и веб-интерфейс не используются. Оно не устанавливает MongoDB, не создаёт пользователей и не выполняет трассировку запросов приложений. | |||
== | == Требования == | ||
* | * Ключ-АСТРОМ <code>1.318.0+</code> и контроллер выполнения расширений (EEC) <code>1.313.0+</code>. | ||
* | * Подписанный пакет расширения, загруженный и активированный в Ключ-АСТРОМ. | ||
* | * Сетевой доступ от узла выполнения к каждому контролируемому процессу 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 не требуется. | |||
=== | === Режимы выполнения === | ||
* | * '''Локальный мониторинг''' — ЕдиныйАгент с включённым EEC установлен на хосте MongoDB. Обычно используется подключение через <code>localhost</code>. | ||
* | * '''Удалённый мониторинг''' — расширение выполняется на АктивномШлюзе с включённым EEC и подключается к MongoDB по сети. ЕдиныйАгент на сервере MongoDB в этом режиме не обязателен. | ||
Не настраивайте одновременно локальный и удалённый сбор одних и тех же процессов без необходимости: это может привести к дублированию данных. | |||
== | == Подготовка пользователя MongoDB == | ||
Пользователя создаёт администратор базы данных, а не расширение. Пример для <code>mongosh</code>: | |||
<pre> | |||
mongosh --username admin --authenticationDatabase admin --password | |||
</pre> | |||
Введите пароль администратора по запросу. В интерактивной оболочке выполните: | |||
<pre> | |||
use admin | |||
db.createUser({ | |||
user: "astrom-monitor", | |||
pwd: passwordPrompt(), | |||
roles: [{ role: "clusterMonitor", db: "admin" }] | |||
}) | |||
</pre> | |||
<code>passwordPrompt()</code> запрашивает пароль без его открытого указания в команде. Для этого пользователя в конфигурации расширения задайте '''Authentication Database''' = <code>admin</code>, поскольку он создан в базе <code>admin</code>. | |||
Проверьте вход под созданной учётной записью, доступность <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()]. | |||
== Установка и создание конфигурации == | |||
# В Ключ-АСТРОМ откройте '''Расширения''', загрузите подписанный ZIP-пакет и активируйте версию <code>2.2.2</code> расширения <code>ru.ruscomtech.mongo-db-tls</code>. | |||
# Добавьте конфигурацию мониторинга. | |||
# Выберите локальный режим и нужные хосты либо удалённый режим и группу АктивныхШлюзов. | |||
db. | # Заполните подключение и учётные данные, при необходимости настройте TLS и дополнительные процессы. | ||
</ | # Выберите наборы метрик, задайте понятное описание, сохраните и включите конфигурацию. | ||
Названия разделов интерфейса могут зависеть от версии Ключ-АСТРОМ. | |||
== Параметры подключения == | |||
* '''Hostname''' (<code>hostname</code>) — DNS-имя или IP-адрес MongoDB. Обязателен в удалённом режиме. | |||
* '''Port''' (<code>port</code>) — порт процесса, по умолчанию <code>27017</code>. | |||
* '''Connect via 'localhost'?''' (<code>use_localhost</code>) — только для локального режима; по умолчанию включено. Не используйте loopback для подключения к другому серверу. | |||
</ | * '''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>) — подробный журнал для диагностики; после расследования проблемы отключите его. | |||
Каждое подключение направлено на конкретный процесс 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-подключения заполнять не требуется. | |||
Не помещайте пароли в Git, описание конфигурации или команды с открытыми аргументами. | |||
=== TLS === | |||
Для защищённого подключения задайте параметры, соответствующие TLS-настройкам MongoDB: | |||
Для | |||
* '''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>) — пароль закрытого ключа, если он зашифрован. | |||
Пути относятся к '''узлу выполнения расширения''': к хосту ЕдиногоАгента при локальном сборе или к АктивномуШлюзу при удалённом. Файлы должны существовать и быть доступны служебной учётной записи на каждом выбранном узле выполнения. Закрытые ключи не добавляйте в репозиторий. | |||
'''Enable insecure TLS''' (<code>tls_insecure</code>) включает TLS без проверки сертификатов и имеет приоритет над указанными CA-файлом, клиентским сертификатом и его паролем. Не используйте этот режим в рабочей среде: настройте доверенную цепочку и корректное имя сервера. | |||
== | == Наборы метрик == | ||
В версии <code>2.2.2</code> используются следующие идентификаторы наборов функций: | |||
* <code>default</code> — основные метрики сервера и баз данных: подключения, операции, память и статистика баз. | |||
* <code>wiredTiger</code> — метрики движка WiredTiger. | |||
* <code>locks</code> — метрики блокировок. | |||
* <code>replicaSet</code> — состояние репликации. | |||
Выбирайте дополнительные наборы с учётом конфигурации MongoDB. Данные WiredTiger и replica set доступны только там, где соответствующие компоненты используются. Наборов <code>Instance</code> и <code>Database</code> в этой версии нет. | |||
== Проверка работы == | |||
# Убедитесь, что конфигурация включена, выбран правильный узел выполнения и EEC работает. | |||
# Дождитесь первых циклов сбора и проверьте отсутствие ошибок подключения и аутентификации. | |||
# Откройте обзорную панель расширения и проверьте поступление метрик. | |||
# Проверьте созданные сущности хоста, процесса, баз данных и, для соответствующей конфигурации, набора реплик. | |||
В модели расширения используются типы <code>mongodb:host</code>, <code>mongodb:process</code>, <code>mongodb:database</code> и <code>mongodb:replicaset</code>. Состав сущностей зависит от полученных данных и обязательных измерений. | |||
== Возможные проблемы == | == Возможные проблемы == | ||
* '''Ошибка подключения''' — проверьте DNS, адрес, порт, сетевые правила и настройки прослушивания MongoDB со стороны узла выполнения. | |||
* '''Ошибка авторизации''' — проверьте пользователя, пароль или выбранную запись хранилища, механизм аутентификации, базу <code>auth_db</code> и роль <code>clusterMonitor</code>. | |||
* '''Ошибка TLS''' — проверьте наличие PEM-файлов именно на узле выполнения, права чтения, срок действия, цепочку доверия и соответствие имени сервера сертификату. | |||
* '''Нет части метрик''' — проверьте выбранные наборы, доступность соответствующих команд в вашей версии MongoDB и права пользователя. Для standalone-процесса не ожидаются метрики набора реплик. | |||
* '''Нет сущностей баз данных''' — проверьте, что пользователь может получить список баз и выполнить <code>dbStats</code>, а сбор завершился без ошибок. | |||
* '''Нулевые значения''' — при отсутствии нагрузки это может быть нормальным состоянием; сравните данные с диагностическими командами MongoDB. | |||
== История версий == | == История версий == | ||
=== Версия 2.2.2 === | |||
Начало поддержки расширения для Ключ-АСТРОМ <code>1.318.0+</code>; требуется EEC <code>1.313.0+</code>. | |||
* Поддерживаются локальный и удалённый мониторинг MongoDB. | |||
* Доступны наборы <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().
Установка и создание конфигурации
- В Ключ-АСТРОМ откройте Расширения, загрузите подписанный ZIP-пакет и активируйте версию
2.2.2расширенияru.ruscomtech.mongo-db-tls. - Добавьте конфигурацию мониторинга.
- Выберите локальный режим и нужные хосты либо удалённый режим и группу АктивныхШлюзов.
- Заполните подключение и учётные данные, при необходимости настройте TLS и дополнительные процессы.
- Выберите наборы метрик, задайте понятное описание, сохраните и включите конфигурацию.
Названия разделов интерфейса могут зависеть от версии Ключ-АСТРОМ.
Параметры подключения
- 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 в этой версии нет.
Проверка работы
- Убедитесь, что конфигурация включена, выбран правильный узел выполнения и EEC работает.
- Дождитесь первых циклов сбора и проверьте отсутствие ошибок подключения и аутентификации.
- Откройте обзорную панель расширения и проверьте поступление метрик.
- Проверьте созданные сущности хоста, процесса, баз данных и, для соответствующей конфигурации, набора реплик.
В модели расширения используются типы 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, хранилище учётных данных и мониторинг нескольких процессов на одном хосте.