Учётные записи Визион

1. Роли пользователей Визиона#

Ролевая модель описана в руководстве администратора .

2. Список маршрутов HTTP API Визион.Сервера для внешних запросов#

Перечисленные ниже внешние запросы должны использовать для аутентификации токен, который создаётся в разделе Безопасность → Токены доступа администратором ИБ.

Группа URL Метод
Запрос метрик (внешний) /tsdb/query GET
Запрос метрик (внешний) /tsdb/query POST
Запрос метрик (внешний) /tsdb/query_range GET
Запрос метрик (внешний) /tsdb/query_range POST
Запрос метрик (внешний) /tsdb/labels GET
Запрос метрик (внешний) /tsdb/labels POST
Запрос метрик (внешний) /tsdb/labels/{label_name}/values GET
Запрос метрик (внешний) /tsdb/status/tsdb GET
Запрос метрик (внешний) /tsdb/series GET
Запрос метрик (внешний) /tsdb/series POST
Запрос метрик (внешний) /tsdb/federate GET

3. Учётные записи сторонних сервисов#

ClickHouse#

Учётная запись предназначена для сбора метрик из ClickHouse с помощью плагина clickhouse_sql_exporter . Этот плагин собирает метрики для мониторинга производительности базы данных, состояния транзакций, процессов и других важных параметров.

Учётная запись должна существовать на всех узлах кластера ClickHouse и обладать привилегиями, позволяющими выполнять запрос SELECT на всех таблицах.

SQL-запросы для создания учётной записи и назначения необходимых привилегий:

CREATE USER vision IDENTIFIED BY `<password>`;
GRANT SELECT ON *.* TO vision;

Здесь <password> — пароль учётной записи.

Discovery#

TODO

Dynamix#

Hadoop#

Greenplum#

TODO

IPMI#

Учётная запись используется для взаимодействия с BMC узлов по протоколу IPMI через ipmi_exporter. Данная учётная запись позволяет собирать информацию о состоянии оборудования сервера, включая питание, температуру, вентиляторы и другие параметры.

Предоставленный пользователь должен быть администратором (роль admin), чтобы иметь доступ ко всем функциям IPMI и получать все метрики.

Имя пользователя и пароль IPMI указываются в таргетах плагина ipmi_exporter в интерфейсе Визиона.

Kafka#

TODO

keepalived#

TODO

OpenNebula#

Учётная запись используется для выполнения запросов к API OpenNebula frontend через плагин one_exporter . Экспортер собирает метрики о состоянии кластеров и узлов.

Предоставленный пользователь должен иметь права на чтение и выполнение команд через OpenNebula API по указанному в настройках плагина one_exporter эндпоинту в интерфейсе Визиона.

PostgreSQL#

Учётная запись предназначена для сбора метрик из PostgreSQL с помощью плагинов:

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

Учётная запись PostgreSQL должна обладать следующими привилегиями:

  • Роль pg_monitor для предоставления доступа к просмотру метрик базы данных, но не к изменениям в системе.

  • Права на выполнение pg_stat_file для получения информации о файловой системе PostgreSQL.

SQL-запросы для назначения необходимых привилегий:

ALTER ROLE vision NOSUPERUSER;
GRANT pg_monitor TO vision;
GRANT EXECUTE ON FUNCTION pg_catalog.pg_stat_file(text) TO vision;

vControl#

SNMP#

Учётная запись используется для сбора метрик с помощью плагина snmp_exporter . Протокол SNMP позволяет осуществлять мониторинг коммутаторов, СХД и других устройств. Плагин snmp_exporter настраивается в интерфейсе Визиона.

Особенности:

  • Поддерживаются версии SNMP v1, v2 и v3.

  • Для SNMP v3 поддерживаются протоколы аутентификации MD5, SHA, SHA224, SHA256, SHA384, SHA512, и протоколы шифрования DES, AES, AES192, AES256, AES192C, AES256C.

Панель управления СУПВ#

Учётная запись используется для мониторинга системы управления виртуализацией (СУПВ) с помощью плагина supv_exporter .

Требуется учётная запись панели управления СУПВ с правами на чтение данных, которая указывается в конфигурации плагина supv_exporter в интерфейсе Визиона.

Почтовый шлюз SMTP#

Учётная запись используется для отправки оповещений по электронной почте через SMTP с помощью компонента AlertManager. Оповещения отправляются при срабатывании правил оповещения, например, превышении пороговых значений.

Параметры почтового шлюза конфигурируются в разделе Настройки SMTP интерфейса Визиона.

Отправка SNMP-трапов#

Учётная запись используется для отправки SNMP-трапов на указанный SNMP-сервер через компонент snmp_notifier. Оповещения отправляются при срабатывании правил оповещения, например, превышении пороговых значений.

Параметры почтового шлюза конфигурируются с помощью API Визион.Сервера через эндпоинт /vision/api/v1/config/snmp_notifier_config (в будущем в интерфейсе Визиона).

4. Учётные записи ОС#

4.1 vision#

Создаётся при установке Визион.Сервера, а также при установке компонента plagent на узлы.

Используется для запуска всех компонентов Визиона на Сервере, Прокси и Агентах, кроме компонента plagent.

Всегда включается в группу vision.

Дополнительно включается в группы:

  • wheel — на узлах с ALT Linux для вызовов sudo экспортерами utlz_exporter, vision_exporter.
  • haclient — на узлах кластера МБД.П для вызова pacemaker экспортером ha_cluster_exporter.

Пример записи в /etc/passwd:

vision:x:483:457:User for Skala^r Vision components:/dev/null:/sbin/nologin

Системный пользователь, не имеющий доступа к интерактивному входу в систему.

Оболочка, не разрешающая вход в систему: /sbin/nologin.

Домашний каталог пользователя: /dev/null.

Пример записей в /etc/sudoers.d/vision:

Cmnd_Alias SYSTEMCTL = /bin/systemctl *, /usr/bin/systemctl *, /sbin/systemctl *, /usr/sbin/systemctl *
Cmnd_Alias JOURNALCTL = /bin/journalctl *, /usr/bin/journalctl *, /sbin/journalctl *, /usr/sbin/journalctl *
Cmnd_Alias DMIDECODE = /bin/dmidecode *, /usr/bin/dmidecode *, /sbin/dmidecode *, /usr/sbin/dmidecode *
Cmnd_Alias SMARTCTL = /bin/smartctl *, /usr/bin/smartctl *, /sbin/smartctl *, /usr/sbin/smartctl *
Cmnd_Alias FIREWALLCMD = /bin/firewall-cmd *, /usr/bin/firewall-cmd *, /sbin/firewall-cmd *, /usr/sbin/firewall-cmd *
Cmnd_Alias COROSYNCTOOLS = /usr/sbin/corosync-cfgtool *, /usr/sbin/corosync-quorumtool *
Cmnd_Alias ERACLI = /usr/bin/eracli *, /usr/sbin/eracli *
Cmnd_Alias BASH_BIN = /bin/bash *, /usr/lib/bash *, /usr/bin/bash *, /usr/sbin/bash *, /sbin/bash *

vision ALL=(root) NOPASSWD: SYSTEMCTL,JOURNALCTL,SMARTCTL,DMIDECODE,FIREWALLCMD,COROSYNCTOOLS,ERACLI
vision ALL=(vision_bash_exporter) NOPASSWD: BASH_BIN
vision ALL=(gpadmin) NOPASSWD: BASH_BIN

4.2 plagent#

Создаётся при установке компонента plagent на узлы.

Используется для запуска компонента plagent.

Всегда включается в группу plagent.

Дополнительно включается в группу wheel на узлах с ALT Linux для вызовов c sudo плагинов компонента plagent.

Пример записи в /etc/passwd:

plagent:x:481:456:User for Skala^r PLagent:/dev/null:/sbin/nologin

Системный пользователь, не имеющий доступа к интерактивному входу в систему.

Оболочка не разрешающая вход в систему: /sbin/nologin.

Домашний каталог пользователя: /dev/null.

Пример содержимого файла /etc/sudoers.d/plagent:

Cmnd_Alias PLAGENT_PLUGINS = /opt/skala-r/plagent/plugins/*

plagent ALL=(root) NOPASSWD: PLAGENT_PLUGINS

4.3 vision_bash_exporter#

Создаётся при установке компонента plagent на узлы.

Используется для запуска скриптов bash_exporter.

Пример записи в /etc/passwd:

vision_bash_exporter:x:480:455:User for Skala^r Vision component bash_exporter:/dev/null:/sbin/nologin