1. Роли пользователей Визиона#
Пользователи Визиона могут иметь роли “writer”, “reader” при работе с интерфейсом Визиона.
Роль “reader” предоставляет доступ только для чтения списков/детальной информации об уведомлениях, правилах оповещения, метриках, получателей и их групп, объектах (ПАК, модули, сервера, виртуальные машины, комутаторы), а также доступ к конструктору метрик (значения метрик).
Роль “writer” предоставляет полный доступ к интерфейсу, включающий все права роли “reader”, с возможностью добавлять новые и редактировать/удалять существующие сущности, а также управлять параметрами SMTP-шлюза, создавать/отзывать интеграционные токены доступа.
Список всех конечных точек API vision_core с описанием доступности для ролей представлен в разделе ниже.
2. Список всех роутов HTTP API Визион.Сервера с правами доступа#
Группа | URL | Метод | Роль | Доступ по токену |
---|---|---|---|---|
Версия Визиона | /version/ | GET | ||
Самодиагностика Визион.Сервера | /health/ | GET | reader, writer | |
Самодиагностика Визион.Сервера | /health/logs | GET | writer | |
Авторизация | /auth/start | GET | ||
Авторизация | /auth/login | GET | ||
Авторизация | /auth/logout | GET | ||
Авторизация | /auth/me | GET | ||
Конфигурирование Визион.Сервера | /config/smtp_config | POST | writer | |
Конфигурирование Визион.Сервера | /config/smtp_config | GET | reader, writer | |
Конфигурирование Визион.Сервера | /config/snmp_notifier_config | POST | writer | |
Конфигурирование Визион.Сервера | /config/snmp_notifier_config | GET | reader, writer | |
Метрики | /metric/bulk_delete | POST | writer | |
Запрос метрик (UI) | /metric/data | POST | reader, writer | |
Метрики | /metric/ | GET | reader, writer | |
Метрики | /metric/ | POST | writer | |
Метрики | /metric/{metric_id} | GET | reader, writer | |
Метрики | /metric/{metric_id} | PUT | writer | |
Метрики | /metric/{metric_id} | DELETE | writer | |
Правила оповещения | /trigger/bulk_delete | POST | writer | |
Правила оповещения | /trigger/ | GET | reader, writer | |
Правила оповещения | /trigger/ | POST | writer | |
Правила оповещения | /trigger/{trigger_id} | GET | reader, writer | |
Правила оповещения | /trigger/{trigger_id} | PUT | writer | |
Правила оповещения | /trigger/{trigger_id} | DELETE | writer | |
Оповещения о сработавших правилах | /trigger/{trigger_id}/alerts | GET | reader, writer | |
Правила оповещения | /trigger/{trigger_id}/enable | POST | writer | |
Правила оповещения | /trigger/{trigger_id}/disable | POST | writer | |
Получатели уведомлений их группы | /receiver/group | GET | reader, writer | |
Получатели уведомлений их группы | /receiver/group | POST | writer | |
Получатели уведомлений их группы | /receiver/group/{receiver_group_id} | GET | reader, writer | |
Получатели уведомлений их группы | /receiver/group/{receiver_group_id} | PUT | writer | |
Получатели уведомлений их группы | /receiver/group/{receiver_group_id} | DELETE | writer | |
Получатели уведомлений их группы | /receiver/group/bulk_delete | POST | writer | |
Получатели уведомлений их группы | /receiver/ | GET | reader, writer | |
Получатели уведомлений их группы | /receiver/ | POST | writer | |
Получатели уведомлений их группы | /receiver/{receiver_id} | GET | reader, writer | |
Получатели уведомлений их группы | /receiver/{receiver_id} | PUT | writer | |
Получатели уведомлений их группы | /receiver/{receiver_id} | DELETE | writer | |
Получатели уведомлений их группы | /receiver/bulk_delete | POST | writer | |
Оповещения о сработавших правилах | /alerts/ | GET | reader, writer | |
Оповещения о сработавших правилах | /alerts/count_by_severity | GET | reader, writer | |
список меток и их значений | /label/favorite | GET | reader, writer | |
список меток и их значений | /label/favorite/{name} | GET | reader, writer | |
список меток и их значений | /label/for_last_day | GET | reader, writer | |
список меток и их значений | /label/for_last_day/{name} | GET | reader, writer | |
Запрос метрик (UI) | /query | POST | reader, writer | |
Запрос метрик (UI) | /query_range | POST | reader, writer | |
Объекты мониторинга | /object/structure_types | GET | reader, writer | |
Объекты мониторинга | /object/ | GET | reader, writer | + |
Объекты мониторинга | /object/ | POST | writer | |
Объекты мониторинга | /object/{object_id} | GET | reader, writer | |
Объекты мониторинга | /object/{object_id} | PUT | writer | |
Объекты мониторинга | /object/{object_id} | DELETE | writer | |
Объекты мониторинга | /object_type/ | GET | reader, writer | |
Инвентори ПАК | /inventory/{pak_id} | GET | reader, writer | |
Запрос метрик (внешний) | /tsdb/query | GET | reader, writer | + |
Запрос метрик (внешний) | /tsdb/query | POST | reader, writer | + |
Запрос метрик (внешний) | /tsdb/query_range | GET | reader, writer | + |
Запрос метрик (внешний) | /tsdb/query_range | POST | reader, writer | + |
Запрос метрик (внешний) | /tsdb/labels | GET | reader, writer | + |
Запрос метрик (внешний) | /tsdb/labels | POST | reader, writer | + |
Запрос метрик (внешний) | /tsdb/labels/{label_name}/values | GET | reader, writer | + |
Запрос метрик (внешний) | /tsdb/status/tsdb | GET | reader, writer | + |
Запрос метрик (внешний) | /tsdb/series | GET | reader, writer | + |
Запрос метрик (внешний) | /tsdb/series | POST | reader, writer | + |
Запрос метрик (внешний) | /tsdb/federate | GET | reader, writer | + |
Импорт данных | /data_import/ | POST | ||
Взаимодействие TaskDaemon с Визион.Сервером | /task/ | POST | ||
Компоненты мониторинга | /component/ | GET | reader, writer | |
Компоненты мониторинга | /component/ | POST | writer | |
Компоненты мониторинга | /component/{component_id} | GET | reader, writer | |
Компоненты мониторинга | /component/{component_id} | PUT | writer | |
Компоненты мониторинга | /component/{component_id} | DELETE | writer | |
Компоненты мониторинга | /component/{component_id}/install | POST | writer | |
Компоненты мониторинга | /component/{component_id}/uninstall | POST | writer | |
Плагины | /plugin/{plugin_name} | GET | reader, writer | |
Плагины | /plugin/ | GET | reader, writer | |
Плагины | /plugin/job/ | GET | reader, writer | |
Плагины | /plugin/job/ | POST | writer | |
Плагины | /plugin/job/{plugin_job_id} | GET | reader, writer | |
Плагины | /plugin/job/{plugin_job_id} | PUT | writer | |
Плагины | /plugin/job/{plugin_job_id} | DELETE | writer | |
Плагины | /plugin/job/{plugin_job_id}/install | POST | writer | |
Плагины | /plugin/job/{plugin_job_id}/uninstall | POST | writer | |
Плагины | /plugin/job/target/ | GET | reader, writer | |
Плагины | /plugin/job/target/auto_create | POST | writer | |
Плагины | /plugin/job/target/ | POST | writer | |
Плагины | /plugin/job/target/{target_id} | GET | reader, writer | |
Плагины | /plugin/job/target/{target_id} | PUT | writer | |
Плагины | /plugin/job/target/{target_id} | DELETE | writer | |
Объекты мониторинга | /pak_dictionary/ | GET | reader, writer | |
Объекты мониторинга | /object_link/ | GET | reader, writer | |
Объекты мониторинга | /object_link/{object_link_id} | GET | reader, writer | |
Объекты мониторинга | /object_link/ | POST | writer | |
Объекты мониторинга | /object_link/{object_link_id} | PUT | writer | |
Объекты мониторинга | /object_link/by_object/{object_id} | DELETE | writer | |
Объекты мониторинга | /object_link/{object_link_id} | DELETE | writer | |
foliage | /foliage/servers | GET | reader, writer | |
foliage | /foliage/switches | GET | reader, writer | |
foliage | /foliage/networks | GET | reader, writer | |
Токены | /auth/token/ | POST | writer | |
Токены | /auth/token/revoke | POST | writer | |
Токены | /auth/token/ | GET | reader, writer |
3. Сторонние УЗ (интеграции: IPMI, SNMP, OpenNebula, PG, СУПВ, SMTP)#
3.1 Учетная запись для IPMI#
Учетная запись используется для взаимодействия с BMC узлов по протоколу IPMI через ipmi_exporter
. Данная учетная запись позволяет собирать информацию о состоянии оборудования сервера, включая питание, температуру, вентиляторы и другие параметры.
Предоставленный пользователь должен быть администратором (роль admin), чтобы иметь доступ ко всем функциям IPMI и получения всех метрик.
Имя пользователя и пароль IPMI указываются в таргетах плагина ipmi_exporter
в интерфейсе Визиона.
3.2 Учетная запись для SNMP#
Учетная запись используется для сбора метрик с помощью snmp_exporter
. Протокол SNMP позволяет осуществлять мониторинг сетевых устройств, таких как коммутаторы, маршрутизаторы и другие устройства.
Экспортер по умолчанию настроен со следующими параметрами public_v1 и public_v2 для версий SNMP v1 и v2 с уровнем безопасности (noAuthNoPriv):
public_v1:
community: public
security_level: noAuthNoPriv
auth_protocol: MD5
priv_protocol: DES
version: 1
public_v2:
community: public
security_level: noAuthNoPriv
auth_protocol: MD5
priv_protocol: DES
version: 2
3.3 Учетная запись для OpenNebula#
Учетная запись используется выполнения запросов к API OpenNebula frontend через one_exporter
. Экспортер собирает метрики о состоянии кластеров и узлов.
Предоставленный пользователь должен иметь права на чтение и выполнение команд через OpenNebula API по указанному в настройках плагина one_exporter
эндпоинту в интерфейсе Визиона.
3.4 Учетная запись для мониторинга PostgreSQL#
Учетная запись предназначена для сбора метрик из PostgreSQL с помощью экспортеров postgres_exporter
и sql_exporter
, которые собирают метрики для мониторинга производительности базы данных, состояний транзакций, процессов и других важных параметров.
Предоставленная учетная запись должна обладать следующими привилегиями:
- Роль
pg_monitor
для предоставления доступа к просмотру метрик базы данных, но не к изменениям в системе. - Права на выполнение
pg_stat_file
для получения информации о файловой системе PostgreSQL.
1. alter role vision nosuperuser;
2. grant pg_monitor to vision;
3. grant execute on function pg_catalog.pg_stat_file(text) to vision;
3.5 Учетная запись панели управления СУПВ#
Учетная запись используется для мониторинга системы управления виртуализацией (СУПВ) через supv_exporter
.
Требуется учетная запись панели управления СУПВ с правами на чтение данных, которая указывается в конфигурации плагина supv_exporter
в интерфейсе Визиона.
3.6 Учетная запись почтового шлюза#
Учетная запись используется для отправки оповещений по электронной почте через SMTP с помощью компонента AlertManager
. Оповещения отправляются при срабатывании правил оповещения, например, превышении пороговых значений.
Параметры почтового шлюза конфигурируются в разделе “Настройки SMTP” интерфейса Визиона.
3.7 Учетная запись для отправки SNMP-трапов#
Учетная запись используется для отправки SNMP-трапов на указанный SNMP-сервер через компонент snmp_notifier
. Оповещения отправляются при срабатывании правил оповещения, например, превышении пороговых значений.
Параметры почтового шлюза конфигурируются с помощью API Визион.Сервера через эндпоинт /vision/api/v1/config/snmp_notifier_config
(в будущем в интерфейсе Визиона).
4. УЗ ОС, используемые компонентами Визиона#
4.1 Пользователь ОС vision#
Создаётся при установке Визион.Сервера, а также при установке компонента plagent
на узлы.
Используется для запуска всех компонентов Визиона на Сервере, Прокси и Агентах, кроме компонента plagent
.
Всегда включается в группу vision
.
Дополнительно включается в группы:
- wheel - на узлах с Altlinux для вызовов sudo экспортерами
utlz_exporter
,vision_exporter
. - haclient - на узлах кластера МБД.П для вызова
pacemaker
экспортеромha_cluster_exporter
.
/etc/passwd
vision:x:986:986: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 *
vision ALL=(root) NOPASSWD: SYSTEMCTL,JOURNALCTL,SMARTCTL,DMIDECODE,FIREWALLCMD,COROSYNCTOOLS,ERACLI
4.2 Пользователь ОС plagent#
Создаётся при установке компонента plagent
на узлы.
Используется для запуска компонента plagent
.
Всегда включается в группу plagent
.
Дополнительно включается в группу:
- wheel - на узлах с Altlinux для вызовов c sudo плагинов компонента
plagent
.
/etc/passwd
plagent:x:985:985: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