Документ | Описание | Ссылка на PDF |
---|---|---|
Руководство администратора | v1.2 |
1. ОБЩИЕ СВЕДЕНИЯ#
1.1 Наименование программы#
Полное наименование: Система мониторинга ПАК семейства Скала^р: ПО «Скала^р Визион».
Краткое наименование: Визион.
1.2 Область применения#
Основным назначением ПО «Скала^р Визион» (далее Визион) является предоставление возможности контроля жизненного цикла ПАК (машин) производства Скала^р, обслуживаемых персоналом, к квалификации которого не предъявляется серьезных требований. Осуществляется процесс мониторинга программных компонент ПАК, сбор информации о количестве и составе управляемых объектов, метрик, обеспечивается оповещение при сбоях работы.
1.3 Уровень подготовки администратора#
Администратор должен обладать следующими навыками:
- установка, настройка системного программного обеспечения в ОС Linux;
- просмотр и редактирование файлов с использованием команд ls, cat, less, vim, nano.
2 УСЛОВИЯ ПРИМЕНЕНИЯ ПРОГРАММЫ#
2.1 Состав компонентов#
Для развертывания мониторинга на целевой инфраструктуре поставляется архив, содержащий в себе компоненты программного обеспечения:
- Визион.Сервер - предоставляет функционал единой точки доступа к управлению мониторингом; устанавливается в одном экземпляре на контур (совокупность ПАК);
- Визион.Прокси - промежуточное звено, аккумулирует метрики с узлов ПАК; устанавливается по одному на каждый ПАК, возможно совмещение с сервером Визиона при использовании единой точки Визиона в каждом ПАК (Машине);
- Визион.Агент - агент мониторинга, обеспечивающий сбор данных с узла; устанавливается на узел ПАК или на виртуальную машину
- Агент Платформы - сервис, позволяющий серверу Визиона конфигурировать агенты мониторинга по HTTPS. Агент необходимо развернуть на все сервера, на которые в последствии будут установлены агенты мониторинга.
Все компоненты должны находится в одной сети.
Оптимальным решением является выделение под Визион.Сервер и Визион.Прокси отдельных виртуальных серверов в рамках узлов управления Машин.
2.1.1 Визион.Сервер#
В состав Визион.Сервера входят следующие компоненты:
- Визион backend - бекенд, обеспечивающий API и осуществляющий управление и координацию всех сервисов;
- Postgres - служебная база данных
- Victoriametrics - база данных временных рядов для хранения метрик;
- vmalert - компонент, предназначенный для генерации оповещений на основе данных в Victoriametrics и правил алертинга (триггеров);
- alertcollector - компонент, регистрирующий оповещения в служебную БД;
- Grafana backend - компонент, обеспечивающий альтернативную визуализацию собираемых метрик;
- AlertManager - компонент, обеспечивающий обработку, группировку и отправку оповещений (поддерживает SMTP и веб-хуки);
- snmp_notifier - вспомогательный компонент, предназначенный для отправки оповещений с помощью протокола SNMP (Simple Network Management Protocol);
- taskdaemon - компонент, отвечающий за выполнение фоновых задач (например, развертывание агентов и их плагинов);
- Nginx - прокси-сервер, обеспечивающий получение и перенаправление запросов на компоненты Визион.Сервера.
2.1.2 Визион.Прокси#
В состав Визион.Прокси входит единственный компонент - vmagent, обеспечивающий перенаправление поступающих метрик в Визион.Сервер.
2.1.3 Визион.Агент#
В состав Визион.Агента входят следующие компоненты:
- vmagent - компонент, обеспечивающий сбор метрик с плагинов
- плагины - дополнительно устанавливаемые модули, расширяющие состав собираемых системой мониторинга метрик.
2.1.4 Агент Платформы#
Агент Платформы представлен единственным компонентом - plagent.
Описание агента смотрите в пункте 2.4 данного руководства.
2.2 Состав сервисов#
Сервис ОС | Компонент | Порт | Протокол |
---|---|---|---|
postgresql | Визион.Сервер | 5432 | HTTPS |
vision_core | Визион.Сервер | 8088 | HTTPS |
nginx | Визион.Сервер | 443, 80, 8092 | HTTPS |
grafana | Визион.Сервер | 3000 | HTTPS |
victoriametrics_st | Визион.Сервер | 8428 | HTTPS |
vmalert_st | Визион.Сервер | 8880 | HTTPS |
vision_alertcollector | Визион.Сервер | 10111 | HTTPS |
alertmanager | Визион.Сервер | 9093 | HTTPS |
snmp_notifier | Визион.Сервер | 9464 | HTTPS |
vmagent_proxy | Визион.Прокси | 8430 | HTTPS |
vmagent_agent | Визион.Агент | 7529 | HTTPS |
plagent | Агент Платформы | 7550, 7551 | HTTPS, gRPC |
2.3 Плагины#
Плагины Визиона представляют собой механизм, с помощью которого пользователь может расширять функциональность системы мониторинга. Они дают возможность гибко настраивать процессы мониторинга в соответствии с конкретными потребностями и целями.
Каждому плагину соответствует свой тип объекта мониторинга, с которого извлекается соответствующее ему множество метрик.
Извлекаемые метрики адаптированы под характеристики и особенности объекта мониторинга. Например, для мониторинга серверов могут быть доступны метрики использования памяти и дискового пространства, в то время как для сетевых устройств - метрики пропускной способности, задержек и ошибок передачи данных.
Плагину может соответствовать комплиментарный бинарный файл (экспортер), непосредственно осуществляющий сбор метрик. При добавлении в Визион.Агент такого плагина, он автоматически устанавливаются согласно местоположению агента и запускаются как сервис операционной системы.
В случае, если плагин не использует экспортер (так называемый плагин-скреппер), сбор метрик осуществляется непосредственно с эндпоинта объекта мониторинга.
В состав Визиона входят следующие плагины:
Название | Мониторинг | ПАК | Сервер/ВМ* | Сервис ОС | Порт** |
---|---|---|---|---|---|
node_exporter | ОС сервера | все | все | vision_node_exporter | 9101 |
ipmi_exporter | BMC (IPMI) | все | ВМ с Прокси | vision_ipmi_exporter | 9290 |
snmp_exporter | коммутатор (SNMP) | все | ВМ с Прокси | vision_snmp_exporter | 9116 |
utlz_exporter | утилизация сервера | все | все серверы | vision_utlz_exporter | 9092 |
utlz_exporter_v0 | утилизация сервера | все | все серверы | vision_utlz_exporter_v0 | 17070 |
one_exporter | OpenNebula | МВ.ВК | узел с OpenNebula frontend | vision_one_exporter | 9621 |
ceph_scraper | Ceph | МВ.ВК | ВМ с Прокси | ||
ha_cluster_exporter | Pacemaker/Corosync | МБД.П | узел кластера | vision_ha_cluster_exporter | 9664 |
postgres_exporter_local | Postgres | МБД.П | узел кластера | vision_postgres_exporter_local | 9187 |
postgres_exporter_multi | Postgres | МБД.П | узел с Прокси | vision_postgres_exporter_multi | 9188 |
sql_exporter | Postgres | МБД.П | узел кластера | vision_sql_exporter | 9399 |
spectrum_agent_scraper | агент Спектра | МБД.П | узел кластера | ||
supv_exporter | сервисы СУПВ | МВ.С/ВРМ | ВМ с Прокси | vision_supv_exporter | 9179 |
haproxy_scraper_local | HAProxy | МХД.О | узлы балансировки | ||
s3gateway_compression_server_scraper | шлюз S3 | МХД.О | узлы балансировки | ||
s3gateway_ostor_server_scraper | сервисы S3 | МХД.О | узлы хранения | ||
nginx_exporter | Nginx | МХД.О | все серверы | vision_nginx_exporter | 9113 |
vision_exporter | сервисы ОС | МХД.О | все серверы | vision_exporter | 7531 |
* На агенты каких серверов или ВМ добавлять плагины
** Порт, занимаемый экспортером по умолчанию. Конфигурируются в настройках плагина.
2.4 Агент Платформы#
В состав дистрибутива опционально включается плейбук развертывания агента Платформы, необходимый для взаимодействия сервера Визиона с сервером для конфигурирования агентов мониторинга. Данный агент необходимо развернуть на все сервера, на которые в последствии будут установлены Визион.Агент и Визион.Прокси.
В данные момент установка возможна на следующих ОС:
- Alt Linux Server 8 СП p9
- Alt Linux Server 8 СП p10
- Astra Linux 1.7.3 (Орёл)
- РЕДОС 7.3
На целевых системах должны присутствовать следующие пакеты:
- freeipmi (если предполагается присутствие плагина ipmi на узле, как правило, это ВМ Визиона на служебном узле)
- sudo
Перед началом развертывания агентов необходимо обеспечить сетевую связность между узлами и доступность серверов с хоста Визиона, а также наличие доступа к ним по протоколу SSH (порт 22).
2.5 Системные требования#
Параметр | Требование |
---|---|
CPU рекомендованное | Визион.Сервер от 8 ядер |
Визион.Прокси от 2 ядер | |
Визион.Агент от 1 ядра | |
RAM рекомендованное | Визион.Сервер от 32 Гб; |
Визион.Прокси от 16 Гб | |
Визион.Агент от 4 Гб | |
ROM рекомендованное | Визион.Сервер - в зависимости от количества ПАК на контуре и требуемой глубины хранения метрики, от 600 Гб SSD на каждый ПАК |
Визион.Прокси в зависимости от требуемой глубины кеширования данных от 20 Гб SSD | |
Визион.Агент в зависимости от требуемой глубины кеширования данных от 5 Гб SSD | |
Поддерживаемые ОС | ОС АЛЬТ 8 СП СЕРВЕР р9, р10 |
Astra Linux Special Edition 1.7.3 (Орел) | |
РЕД ОС 7.3 (Муром) | |
Поддерживаемые браузеры | Google Chrome версий от 116 и выше |
Firefox начиная с 60.хх версии |
3 УСТАНОВКА ПРОГРАММЫ#
Перед началом установки необходимо убедиться в доступности узлов ПАК с хоста Визиона. Проверить доступность можно при помощи команды ping.
Если в выводе команды ping содержатся ошибки, необходимо убедиться в том, что в инсталляционной карте содержатся корректные данные, обеспечена сетевая связность между узлами и файрвол не блокирует доступ по протоколу SSH (порт 22).
В приведенных в данном руководстве примерах команд в качестве интерпретатора команд терминала используется Bash.
Все команды выполняются под привилегированным пользователем root. Для повышения привилегий пользователя может потребоваться использование команды sudo. В примерах команд опущено приглашение интерпретатора.
В данном руководстве приводятся примеры команд для версии Визиона 1.2 Номер версии используется в имени файла с архивом дистрибутива, например vision-distrib-1.2.2-240.tar.gz.
На момент выполнения установки или обновления “Визиона” пользователем, версия может отличаться.
Актуальную инструкцию для сборки можно посмотреть в файле README.MD в архиве дистрибутива.
Алгоритм установки компонентов Визиона и его настройки:
- Установка Визион.Сервер
- Конфигурация объектов мониторинга
- Формирование инвентори-файла
- Установка агентов Платформы
- Настройка плагинов
Зависимости:
- ansible >= 2.9
- sshpass
- nginx
- postgresql = 11|12
Данные пакеты и их зависимости будут установлены или обновлены при развертывании с помощью плейбуков ansible. При невозможности их автоматической установки требуется вручную установить данные пакеты. Все необходимые зависимости включены в состав дистрибутива для возможности установки Визиона без подключения к глобальной сети Internet.
3.1 Установка Визион.Сервер#
Дистрибутив Визиона представляет собой tar.gz архив. Далее описана работа с дистрибутивом.
Для установки Визиона в состав дистрибутива входит скрипт установки setup.sh. Установка должна выполнятся на целевом сервере (виртуальной машине) и требует привилегий суперпользователя.
1. Открыть терминал и перейти в директорию с архивом дистрибутива, например, /root:
cd /root
2. Распаковать архив с дистрибутивом, например, vision-distrib-1.2.2-240.tar.gz:
tar -xzvf vision-distrib-1.2.1-240.tar.gz
3. Перейти в директорию дистрибутива:
сd ./vision-distrib-1.2.2-240
4. Запустить скрипт ./setup.sh
./setup.sh
5. Выбрать действие “3. Установить пакеты зависимостей.”
Будут установлены все пакеты зависимостей, соответствующие операционной системы. Так же для запуска этой операции можно вызвать команду ./setup.sh -p.
В случае необходимости может потребоваться временно отключение SELINUX (следовать рекомендациям установщика). При невозможности автоматической установки требуется вручную установить пакеты из списка, содержащегося в файле ./os_packages/<YOUR_OS>/package_list (см. документацию на операционную систему). По окончанию установки пакетов ее лог будет сохранен в /opt/skala-r/logs/vision_packages.log.<ДАТА_УСТАНОВКИ>.
- Запустить скрипт
./setup.sh
и выбрать действие “1. Установить сервер Визиона.”.
Будут установлены все необходимые компоненты, запущены требуемые сервисы. Так же для запуска этой операции можно вызвать команду ./setup.sh -i
В случае необходимости может потребоваться временно отключение SELINUX (следовать рекомендациям установщика).
В процессе установки будет предложено выбрать IP-адрес, на который в последствии будут отправляться метрики с агентов мониторинга. Как правило, он соответствует IP-адресу компонента Визион.Сервер в сети, в которой находятся все компоненты мониторинга (менеджмент-сеть).
По окончанию установки лог, сформированный в процессе инсталляции, будет сохранен в файл:
/opt/skala-r/logs/vision_install.log.<ДАТА_УСТАНОВКИ>
В случае возникновения непредвиденных ситуаций следует использовать эти логи для анализа.
3.1.1 Проверка корректной установки Визион.Сервер#
3.1.1.1 Проверка работоспособности Визион.Сервер#
Для проверки корректности установки:
- Открыть терминал и перейти в директорию с установленным Визионом:
cd /opt/skala-r/vision
- Запустить скрипт check_service.sh:
./check_service.sh
Критерием корректности развертывания является значение active для всех сервисов, приведенных в таблице в выводе скрипта check_service.sh.
По завершении процесса установки должен быть доступен веб-интерфейс Визиона через браузер по его IP-адресу (вводим в адресной строке адрес вида https://192.168.186.130, далее выбираем пункты «Аналитические панели» и «Модуль Администратора»).
3.1.1.2 Просмотр логов компонента#
Просмотреть логи работы компонентов за интересующий период можно, используя службу журналирования логов journalctl, выполнив команду:
journalctl -u <имя сервиса> --since "начало интервала YYYY-MM-DD hh:mm:ss" --until "конец интервала YYYY-MM-DD hh:mm:ss"
Просмотреть текущие логи в режиме онлайн можно, используя службу журналирования логов journalctl, выполнив команду:
journalctl -fu <имя сервиса>
Для просмотра событий за временной период можно использовать команду:
journalctl -u <имя сервиса> --since "начало интервала YYYY-MM-DD hh:mm:ss" --until "конец интервала YYYY-MM-DD hh:mm:ss"
Например:
journalctl -u vision_core --since "2024-04-26 11:05:00" --until "2024-04-26 11:10:00"
3.1.1.3 Просмотр журналов Визион.Сервер#
Журнал Визион.Сервера размещаются в директории /opt/skala-r/vision/logs/journal, а журнал аудита - в /opt/skala-r/vision/logs/audit.
Просмотреть текущие журналы можно выполнив команды, например:
nano /opt/skala-r/vision/logs/journal/journal.log
nano /opt/skala-r/vision/logs/audit/audit.log
4 КОНФИГУРАЦИЯ ОБЪЕКТОВ МОНИТОРИНГА#
4.1 Алгоритм настройки (полный цикл постановки ПАК на мониторинг):#
-
Перейти в веб-интерфейс Визиона, открыв Интернет браузер, и введя в строке адреса IP-адрес сервера Визиона, например, https://192.168.186.130.
-
Выбрать пункт “Модуль администратора”
-
Добавить новый ПАК (раздел в боковом меню “Параметры”->“Объекты”, в панели “Контуры” нажать кнопку ⠇ и выбрать “Добавить ПАК”). Ввести информацию о ПАК.
-
В случае отсутствия на добавляемом ПАК агентов Платформы, необходимо его развернуть по инструкции.
-
Перейти во вкладку “Агенты” и нажать кнопку “Сконфигурировать агенты”.
-
Нажать на иконку 🖉 и включить необходимые плагины.
-
Перейти в пункт меню “Конструктор выражений”, ввести выражение up{_pak_id="<ИМЯ_ПАК>"}
-
Проверить, что работают все сконфигурированные плагины (в наличии временные ряды с именем метки “job” и значениями имен агентов).
4.2 Подготовка к настройке#
- Перед настройкой требуется убедиться, что имеется инсталляционная карта с соответствующим описанием ПАК, либо все необходимые параметры и доступы для постановки объектов на мониторинг.
- Перейти в веб-интерфейс Визиона, открыв Интернет браузер, и введя в строке адреса IP-адрес сервера Визиона, например, https://192.168.186.130.
- Добавить новый ПАК: раздел в боковом меню “Параметры”->“Объекты”, в панели “Контур” нажать кнопку ⠇ и выбрать “Добавить ПАК”.
-
Откроется форма «Добавление ПАК».
Пример интерфейса:
Пункт «ПАК»:
Для заполнения требуется следовать подсказкам интерфейса.
Пункт «Модуль»:
В данной форме используется панель редактирования, работающая по следующему принципу:
- Для редактирования строки необходимо нажать на кнопку ✐;
- Для подтверждения редактирования требуется нажать кнопку ✔, иначе изменения не будут приняты;
- Для очистки созданной строки требуется нажать кнопку ✖
- Сохранение будет осуществлено только для подтвержденных строк.
4.3 Заполнение формы «Добавление ПАК»#
4.3.1 ПАК#
- имя - идентификатор ПАК, (в дальнейшем изменить невозможно без реинсталляции);
- «Тип» - выбираем из справочника тип ПАК в соответствие с поставкой;
- «Описание» – вводим произвольный вспомогательный текст;
затем нажимаем кнопку «Далее».
4.3.2 Модуль#
Заполнение информации о модулях. Тип модуля берется из инсталляционной карты. Список меняется в зависимости от предварительно выбранного типа ПАК.
- имя - идентификатор модуля, (в дальнейшем изменить невозможно без реинсталляции);
- Тип – тип модуля, в соответствие с типом ПАК. Требуется выбрать из списка.
4.3.3 Сервер#
Требуется ввести информацию об узлах.
- имя - идентификатор сервера, (в дальнейшем изменить невозможно без реинсталляции);
- модуль – выбирается из заведенных ранее в пункте Модуль;
- Тип – выбирается из справочника
- Адрес – IP адрес, по которому будет установлен агент
- Адрес BMC – адрес, по которому будут производить опрос агенты мониторинга, расположенные на Визион.Прокси
4.3.4 ВМ#
В этом пункте добавляются все виртуальные машины, которые указаны в инсталляционной карте и которые необходимо поставить на мониторинг. Сервисные ВМ (Визиона, Генома и т.д) также указываем в этом пункте.
- имя - идентификатор ВМ, (в дальнейшем изменить невозможно без реинсталляции);
- сервер – принадлежность ВМ к физическому узлу (серверу);
- адрес – IP адрес ВМ в соответствие с инсталляционной картой.
4.3.5 Коммутатор#
Требуется заполнить информацию о серверах маршрутизации (коммутаторы) из инсталляционной карты.
- имя - идентификатор коммутатора, (в дальнейшем изменить невозможно без реинсталляции);
- модуль – принадлежность к модулю, выбирается из заведенных ранее
- адрес – IP адрес коммутатора.
4.3.6 Проверка#
Сводная таблица по всем объектам ПАК, необходимо проверить корректность введенных данных.
После проверки данных и нажатия кнопки Добавить произойдет создание иерархической структуры объектов.
Пример заполненного раздела:
5 ФОРМИРОВАНИЕ ИНВЕНТОРИ-ФАЙЛА#
Для проведения сервисных операций с узлами ПАК может потребоваться так называемый инвентори-файл, содержащий перечень узлов и их технические учетные записи (ТУЗ). С использованием Ansible производится автоматизация управления конфигурациями и выполнение задач на этих узлах.
Данный файл может быть получен из веб-интерфейса Визиона для уже добавленных ПАК.
В этом случае достаточно выбрать необходимый ПАК, нажать ⠇,Для этого нужно выбрать пункт “Инвентори”. Файл-инвентори скачается, и также будет доступен в директории /opt/skala-r/vision/server/inventory/. Имя файла состоит из имени ПАК и даты экспорта, например, PAK-1_2024-03-04_21-32-48.yml.
6 РАЗВЕРТЫВАНИЕ АГЕНТОВ ПЛАТФОРМЫ#
- Сформировать инвентори файл для ПАК (см. п.5)
- Отредактировать файл, например:
nano /opt/skala-r/vision/server/inventory/PAK-1_2024-04-14_23-19-46.yml
- Заменить значения “===REPLACE===” на реальные:
- ansible_user и ansible_ssh_pass - имя и пароль учетной записи для подключения к хостам по SSH
- ansible_become_password - пароль учетной записи администратора для установки агента Платформы
- Перейти в директорию дистрибутива:
сd ./vision-distrib-1.2.2-240
- При необходимости, сконфигурировать установку агента Платформы при помощи файла ./plagent/_plagent_settings.yml
- Запустить развертывание, например:
ansible-playbook -i /opt/skala-r/vision/server/inventory/PAK-1_2024-04-14_23-19-46.yml ./plagent/install.yml
Также в рамках автоматизации работы с агентами Платформы доступны некоторые сервисные команды. Общий вид команд для их запуска:
ansible-playbook -i <INVENTORY_PATH> <PLAYBOOK>
ansible-playbook -i <INVENTORY_PATH> -l <HOST> <PLAYBOOK>
где <INVENTORY_PATH> - путь до итогового файла инвентори, например, /opt/skala-r/vision/server/inventory/PAK-1_2024-04-14_23-19-46.yml - выполняемое действие:
- ./plagent/install.yml - установить агенты Платформы
- ./plagent/status.yml - вывести статус агентов Платформы
- ./plagent/stop.yml - остановить агенты Платформы
- ./plagent/start.yml - запустить агенты Платформы
- ./plagent/remove.yml - удалить агенты Платформы - имя сервера(ов) из инвентори, для которых необходимо выполнить команду, например server1.
7 НАСТРОЙКА АГЕНТОВ СБОРА МЕТРИК И УСТАНОВКА ВИЗИОН.ПРОКСИ#
7.1 Конфигурирование агентов#
Для сбора метрик через агент Платформы необходимо осуществить его настройку.
Для этого используется механизм конфигурирования агентов через плагины.
Последовательность действий:
-
Перейти во вкладку “Агенты”
-
Нажать кнопку “Сконфигурировать агенты”.
Откроется форма настроек.
- В настройках указать:
- Расположение прокси-сервера Визиона. На выбранный узел будет установлен компонент Прокси-сервер Визиона, а также на нем требуется сконфигурировать плагины, которые обозначены типом «ВМ с прокси» в пункте 2.3 данного руководства.
- Расположение агентов: по умолчанию, в форме отобразятся все серверы и ВМ, которые были ранее указаны в списке объектов. Для корректного расположения, на серверах должны быть предварительно установлены агенты Платформы.
-
Плагины – состав конфигурационных файлов, содержащих в себе инструкции для настройки агентов и расстановки экспортеров. На данном шаге необходимо выбрать Плагины в соответствие с типом узла. Для узла, который будет выбран как Прокси, требуется выбрать плагины, реализующие сбор метрик снаружи относительно объекта мониторинга. Рекомендуется расставлять плагины по таблице применимости, указанной в разделе 2.3 данного руководства.
Если в столбце Сервер/ВМ указано «ВМ с прокси» - плагин рекомендуется разместить на ВМ, выбранную Прокси. Остальные плагины конфигурируются на усмотрение пользователя, в зависимости от расположения сервисов на узлах.
После расстановки всех агентов и нажатия кнопки «Сохранить», поменяются статусы агентов. В случае успеха будет указан статус «Установлен». Если агент не будет настроен, отобразится статус Ошибка. Требуется проверить логи и сетевую связность между компонентами, а также наличие агента Платформы на всех узлах, за которыми требуется осуществлять мониторинг.
7.2 Конфигурирование плагинов#
Переходим на вкладку «Плагины»
Для каждого плагина предусмотрен набор настроек, которые необходимо задать в контекстном меню ⋮ - конфигурировать.
Часть плагинов используют настройки, которые были заданы при развертывании Визиона. Для тех, которые не получат доступ к данным, будет выведен статус Ошибка. Требуется осуществить настройки.
Перед добавлением убедится, что при установке плагина его порт не конфликтует с другим ПО. Особенности настройки смотрите в файле README.MD, приложенном в дистрибутиве.
После заполнения параметров, применяем настройки и происходит автоматическое конфигурирование.
Для проверки корректности настроек, перейдите в пункт меню “Конструктор выражений”, введите выражение up{_pak_id="<ИМЯ_ПАК>"} и проверьте, что работают все сконфигурированные плагины (в наличии временные ряды с именем метки “job” и значениями имен плагинов).
7.3 Добавление и обновление плагинов#
Выполнить следующие действия на виртуальной машине сервера Визиона:
- Распаковать архив с новым/обновленным плагином в директорию /opt/skala-r/vision, например:
tar -xzf plugin_acrhive.tar.gz -C /opt/skala-r/vision
- Перезапустить сервис vision_core:
systemctl restart vision_core.service
- Проверьте состояние vision_core и убедится, что логе нет ошибок после перезапуска
systemctl status vision_core.service
journalctl -fu vision_core -n 20
7.4 Снятие ПАК с мониторинга (деинсталляция Визиона с узлов ПАК).#
Внимание! Данные действия необратимы. В процессе удаления будут деинсталлированы все агенты мониторинга, их плагины, а также Визион.Прокси.
Перейти в веб-интерфейс Визиона, открыв Интернет браузер, и введя в строке адреса IP-адрес сервера Визиона, например, https://192.168.186.130.
Перейти в боковом меню “Параметры”->“Объекты”, в панели “Контуры” выбрать удаляемый ПАК, нажать кнопку ⠇ и выбрать “Удалить”. Согласиться с удалением, нажав кнопку “Удалить”.
8 НАСТРОЙКА ОТПРАВКИ УВЕДОМЛЕНИЙ ПО SMTP#
Для интеграции с шлюзом SMTP требуется осуществить настройки подключения, затем осуществить подписку пользователей на рассылку уведомлений.
Подробнее о работе с интерфейсом описано в руководстве Пользователя. В данном руководстве мы описываем алгоритм работы.
- Перейти в раздел Настройки SMTP.
Заполнить все поля раздела “Настройки SMTP” валидными значениями (в поле “Основной адрес получателя” указать электронную почту, на которую будут приходить уведомления о сработавших правилах оповещения, для которых нет подписок конкретных групп рассылок), нажать на кнопку “Сохранить”
- Добавить получателя уведомлений с каналом E-mail
- Перейти в пункт меню: Список получателей
- Добавить Группу рассылки,
- добавить в эту группу получателя.
- Добавить условие в этой группе: например, severity = critical
- Проверка: создать правило оповещения
- Перейти в пункт меню Правила оповещения
- Добавить правило оповещения, которое точно сработает,
- ввести в поле ввода PromQL выражение up == 1
- severity = critical
- Дождаться срабатывания Правила оповещения
- Перейти в раздел Уведомления, дождаться появления уведомления
- Войти в электронную почту указанную на шаге 2, дождаться получения письма о сработанном правиле оповещения из шага 3
9 НАСТРОЙКА ОТПРАВКИ УВЕДОМЛЕНИЙ ПО SNMP#
9.1 Настройка SNMP notifier#
Необходимо задать параметры отправки уведомлений мониторинга по SNMP путём POST запроса к API Визиона https://<vision_host>:8092/vision/api/v1/config/snmp_notifier_config с телом JSON со следующими полями:
Имя параметра | Описание |
---|---|
snmp_version | версия SNMP. Допустимые значения: “V2c”, “V3”. По умолчанию “V2c”. |
snmp_destination | адресат сообщений. По умолчанию “127.0.0.1:162”. |
snmp_retries | количество повторных посылок сообщения SNMP. По умолчанию 1. |
snmp_trap_default_oid | OID ловушки, если он не найден в метках сработавшего правила. По умолчанию “1.3.6.1.4.1.98789”. |
snmp_timeout_sec | длительность таймаута в секундах. По умолчанию 5. |
snmp_community | коммьюнити SNMP (только для V2c, иначе null). По умолчанию “public”. |
snmp_authentication_protocol | протокол шифрования пароля (только для V3). Допустимые значения: “MD5”, “SHA”, null. По умолчанию null. |
snmp_authentication_username | имя пользователя аутентификации SNMP (только для V3). Обязателен*, если указан snmp_authentication_protocol. По умолчанию null. |
snmp_authentication_password | пароль аутентификации SNMP (только для V3). Обязателен*, если указан snmp_authentication_protocol. По умолчанию null. |
snmp_private_protocol | протокол передачи данных SNMP (только для V3). Допустимые значения: “DES”, “AES”, null. По умолчанию null. |
snmp_private_password | Пароль шифрования SNMP (только для V3). Обязателен*, если указан snmp_private_protocol. По умолчанию null. |
snmp_security_engine_id | ID механизма безопасности SNMP. По умолчанию null. |
snmp_context_engine_id | ID механизма контекста. По умолчанию null. |
snmp_context_name | имя контекста. По умолчанию null. |
Пример Curl для SNMP V3:
curl -X 'POST' \
https://<vision_host>:8092/vision/api/v1/config/snmp_notifier_config' \
-H 'accept: application/json' \
-H 'Content-Type: application/json' \
-d '{
"snmp_version": "V3",
"snmp_destination": "127.0.0.1:162",
"snmp_retries": 1,
"snmp_trap_default_oid": "1.3.6.1.4.1.98789",
"snmp_timeout_sec": 5,
"snmp_authentication_protocol": "MD5",
"snmp_authentication_username": "username",
"snmp_authentication_password": "password",
"snmp_private_protocol": "AES",
"snmp_private_password": "password",
"snmp_security_engine_id": "0x80001f88802d7f22"
}'
9.2 Настройка перечня уведомлений, отправляемых по SNMP#
- Открыть модуль администратора.
- В меню выбрать раздел “Параметры”, пункт: “Группы рассылки”.
- Нажать кнопку “Добавить” и создать новую группу рассылки.
- В открывшейся форме для группы рассылки заполнить параметры (в скобках – примеры заполнения):
- Имя (“Группа А”)
- Детальное описание (“Группа поддержки 1 линии”)
- Условия отправки уведомлений (
- если необходимо получать абсолютно все уведомления по SNMP установить следующие значения:
- Метка: “severity”;
- Оператор: выбрать все допустимые значения
- Получать только критические:
- Метка: “severity”;
- Значение: “critical”)
- если необходимо получать абсолютно все уведомления по SNMP установить следующие значения:
- Получатели (“SNMP-шлюз”)
- Нажать кнопку “Добавить”.
10 НАСТРОЙКИ БЕЗОПАСНОСТИ#
10.1 Межкомпонентное взаимодействие#
В целях повышения безопасности работа между компонентами Визиона реализована через TLS и Basic Auth.
Стандартные сертификаты расположены в директории cert в корне дистрибутива. Сгенерировать уникальный сертификат можно с помощью скрипта _generate_components_cert.sh.
Настройка аутентификации и размещение сертификатов выполняется автоматически при развертывании компонентов Визиона.
Параметры технической учетной записи для авторизации между компонентами конфигурируются в файле _deploy_settings.yml, расположенном в корне дистрибутива - basic_auth_username и basic_auth_password (имя пользователя и пароль соответственно).
10.2 Сертификат nginx#
После развертывания Визиона при необходимости можно заменить сертификат nginx для эндпоинтов https://<vision-host>/
и https://<vision-host>:8092/
1. Скопируйте сертификат и ключ в **/opt/skala-r/vision/cert/**
2. В файле /etc/nginx/conf.d/cert.conf замените пути к сертификату и ключу на новые
ssl_certificate /opt/skala-r/vision/cert/nginx_default.crt
;
ssl_certificate\_key /opt/skala-r/vision/cert/nginx_default.key;
3. Перезапустите nginx
systemctl restart nginx.service
4. Убедитесь, что на https://<vision-host>/
и https://<vision-host>:8092/
установлен новый сертификат
curl --cacert /opt/skala-r/vision/cert/<YOU-CERT>.crt https://<vision-host>/
11 УСТАНОВКА ОБНОВЛЕНИЙ ПРОГРАММЫ#
Для установки и для обновления “Визиона” используется один и тот же пакет установочных файлов, поставляемый в виде архива.
Обновление выполняется путем установки новой версии поверх существующей.
Обратите внимание! В данной версии обновление с сохранением файлов конфигурации (таких, как .vault_store, config.yml, grafana.ini) не доступно и они будут перезаписаны.
Данные базы данных временных рядов, пользовательские дашборды, а также информация о зарегистрированных ПАК, конфигурации агентов и плагинов будут сохранены.
12 УДАЛЕНИЕ ВИЗИОНА#
12.1 Удаление Визион.Сервер#
- Открыть терминал и перейти в директорию с дистрибутивом, например, /root/vision-distrib-1.2.2-240:
сd /root/vision-distrib-1.2.2-240
- Запустить скрипт ./setup.sh
./setup.sh
- Выбрать действие “2. Удалить сервер Визиона.”
Будут удалены все компоненты Визиона. При необходимости можно очистить пользовательские данные (метрики Victoriametrics, данные служебной БД Vision и данные Grafana). Так же для запуска этой операции можно вызвать команду ./setup.sh -r.
Внимание! Перед удалением убедится, что через веб-интерфейс Визиона были сняты с мониторинга все ПАК (см. п.3.2). После удаления сервера Визиона соответствующие агенты мониторинга ПАКов можно будет удалить только вручную (см.п.12.2).
При необходимости удалить агенты платформы (см. п.6).
По окончанию удаления его лог будет сохранен в /opt/skala-r/logs/vision_remove.log.<ДАТА_УДАЛЕНИЯ>.
12.2 Ручное удаление агентов мониторинга#
В некоторых случая может потребоваться ручное удаление агентов.
- Перейти в директорию дистрибутива, например:
сd /root/vision-distrib-1.2.2-240
- Запустить команду, указав путь до файла инвентори (см. п.3.3), например, /opt/skala-r/vision/server/inventory/PAK-1_2024-03-04_21-32-48.yml
ansible-playbook -i /opt/skala-r/vision/server/inventory/PAK-1_2024-03-04_21-32-48.yml ./playbooks/agent_delete.yml
13 ХРАНЕНИЕ СЕКРЕТОВ#
13.1 Общая концепция#
В целях безопасности в Визионе организовано безопасное хранение секретов (паролей, токенов и т.п.) в защищенном виде. Данная информация храниться в Ansible Vault и считывается в момент старта компонента vision-core.
Для оперирования содержимым хранилища требуется ключ, выдаваемый разработчиком Визиона. Расположение файла хранилища - /opt/skala-r/vision/.vault_store.
13.2 Работа с хранилищем секретов#
Для просмотра содержимого хранилища необходимо выполнить команду с сервера Визиона:
ansible-vault view /opt/skala-r/vision/.vault_store
Отредактировать содержимое можно командой:
ansible-vault edit /opt/skala-r/vision/.vault_store
В обоих случаях потребуется ввести пароль от хранилища после вывода Vault password.
13.3 Описание хранимых секретов#
vault.auth.client_secret- секрет, используемый для подключения сервера Визиона к Keycloak
vault.database.password - пароль, для подключения к служебной БД Postgres
vault.general.cookie_secret_key - ключ, используемый для работы с cookie
vault.plagent.token - токен для подключения к агенту Платформы
vault.smtp_config.smtp_auth_password - пароль для подключения к почтовому шлюзу для отправки сообщений о сработавших алертах
vault.snmp_notifier.snmp_*_password - пароли для подключения к SNMP-шлюзу для отправки сообщений о сработавших алертах посредством SNMP-трапов (для SNMP v3 протоколов шифрования паролей authentication и protocol)
vault.*.basic_auth_password - пароли HTTP Basic Auth соответствующих компонентов
14 ПРОВЕРКА ПРОГРАММЫ#
14.1 Отображение веб-интерфейса#
По завершении процесса установки должен быть доступен веб-интерфейс ПО Визион через браузер по адресу http://<хост Визиона>
, далее пункт Аналитические панели и Модуль Администратора.
14.2 Проверка работоспособности сервисов#
Для проверки успешности установки каждого компонента зайти по ssh
на требуемый узел и запустить команду:
cd /opt/skala-r/vision
./check_service.sh
В результате, например для Визион.Сервера, вывод должен быть следующий:
Критерием успешности развертывания является значение active для сервисов перечисленных в разделе 2.2 данного руководства.
При статусе failed обратиться к пункту 3 для получения дополнительной информации.
Конфигурация компонентов после развертывания находится в директориях /opt/skala-r/vision/<server|proxy|agent>/<vision_component>/etc.
14.3 Просмотр логов компонентов#
Просмотреть логи работы компонентов за интересующий период можно, используя службу журналирования логов journalctl, выполнив команду:
journalctl -u <имя сервиса> --since "начало интервала YYYY-MM-DD hh:mm:ss" --until "конец интервала YYYY-MM-DD hh:mm:ss"
Просмотреть текущие логи в режиме онлайн можно, используя cлужбу журналирования логов journalctl, выполнив команду
journalctl -fu <имя сервиса>
Для просмотра событий за временной период можно использовать команду:
journalctl -u <имя сервиса> --since "начало интервала YYYY-MM-DD hh:mm:ss" --until "конец интервала YYYY-MM-DD hh:mm:ss"
Например
journalctl -u vision_core --since "2022-10-26 11:05:00" --until "2022-10-26 11:10:00"
15 УСТРАНЕНИЕ НЕИСПРАВНОСТЕЙ ВИЗИОНА#
15.1 Выводятся всплывающие сообщения об ошибках в Grafana#
Описание неисправности
В браузере отображается сообщение об ошибке браузера в виде всплывающего сообщения.
Способ устранения
Очистить cookies браузера. Обратитесь к инструкции к вашему браузеру.
15.2 На стартовом дашборде Grafana отсутствуют вычислительные узлы или виртуальные машины#
Описание неисправности
При посещении стартовой страницы Grafana по адресу <IP адрес Визион.Сервера>/vision/grafana/?orgId=1, в списке узлов (виртуальных машин) отсутствует один или все узлы (виртуальные машины).
Способ устранения
-
Убедится, что все сервисы Визиона на отсутствующих узлах (виртуальных машинах) находятся в запущенном состоянии (пункт 5.2 данного руководства). При необходимости просмотреть логи (пункт 5.3 данного руководства).
-
С помощью браузера перейти по адресу <IP адрес узла или ВМ>:8429/targets и убедится, что все таргеты находятся в состоянии (State) равному up.
- Проверить корректность текущего времени и даты командой
date
на отсутствующих узлах (виртуальных машинах).
15.3 При установке Визиона некоторые пакеты не устанавливаются#
Описание неисправности:
При установке Визиона версии 1.2.2 в процессе развертывания не удается установить rpm пакет по причине конфликта с предыдущей версией (согласно выводу в терминале).
Способ устранения:
Необходимо убедиться, что пакеты предыдущих инсталляций удалены. Проверить факт наличия старого пакета можно командой:
rpm -qa | grep <имя конфликтного пакета Визиона>
Удалить командой:
rpm -e <имя конфликтного пакета Визиона>
После чего повторно развернуть компонент Визиона.