Руководство администратора Визион

1. ОБЩИЕ СВЕДЕНИЯ#

1.1 Наименование программы

Полное наименование: Система мониторинга ПАК семейства Скала^р: ПО «Скала^р Визион».

Краткое наименование: Визион.

1.2 Область применения

Основным назначением ПО «Скала^р Визион» (далее Визион) является предоставление возможности контроля жизненного цикла ПАК (машин) производства Скала^р, обслуживаемых персоналом, к квалификации которого не предъявляется серьезных требований. Осуществляется процесс мониторинга программных компонент ПАК, сбор информации о количестве и составе управляемых объектов, метрик, обеспечивает оповещение при сбоях работы.

1.3 Уровень подготовки администратора

Администратор должен обладать следующими навыками:

- установка, настройка системного программного обеспечения в ОС Linux;

- просмотр и редактирование файлов с использованием команд ls, cat, less, vim, nano.

2 УСЛОВИЯ ПРИМЕНЕНИЯ ПРОГРАММЫ#

2.1 Состав программного обеспечения

Визион состоит из трех компонентов

- Визион.Сервер (предоставляет функционал единой точки доступа к управлению мониторинга; ставится в одном экземпляре на контур)

- Визион.Прокси (промежуточное звено, аккумулирует метрики с узлов ПАК; устанавливается по одному на каждый ПАК)

- Визион.Агент (сбор данных с узла, устанавливается на узел ПАК или на виртуальную машину)

Все компоненты должны находится в одной сети.

Поддерживается установка компонентов в двух вариантах конфигурации. Оптимальным решением является выделение под Визион.Сервер и Визион.Прокси отдельных виртуальных серверов в рамках узлов управления Машин (вариант 1). Допускается установка Визион.Сервер на сервер с одним из Визион.Прокси (вариант 2).

Варианты конфигурации Визион

Архитектура Визиона

В состав компонентов входят следующие экспортеры:

        Экспортер         Порт         Конечная точка         Компонент         Описание
        node_exporter         9101         /metrics         Агент         базовый агент для мониторинга узла
        utlz_exporter         9092         /metrics         Агент         мониторинг утилизации ресурсов
        ha_cluster_exporter         9664         /metrics         Агент         мониторинг corosync/pacemaker
        postgres_exporter_agent         9187         /metrics         Агент         мониторинг PostgreSQL с узла ПАК
        postgres_exporter_proxy         9188         /metrics         Агент         мониторинг PostgreSQL с узла мониторинга
        snmp_exporter         9116         /snmp         Прокси         мониторинг устройств по SNMP (коммутаторы, роутеры и т.п.)
        ipmi_exporter         9290         /ipmi         Прокси         опрос интерфейсов IPMI
        blackbox_exporter         9115         /probe         Прокси         опрос цели по модели “черный ящик” через HTTP, HTTPS, DNS, TCP, ICMP и gRPC
        supv_exporter         9179         /metrics         Прокси         мониторинг сервисов СУПВ
        one_exporter         9621         /metric         Прокси         мониторинг сервиса OpenNebula

2.2 Используемые сетевые порты

Порт Протокол Назначение
9101 HTTPS получение метрик с экспортера
9092 HTTPS получение метрик с экспортера
9664 HTTPS получение метрик с экспортера
9187 HTTPS получение метрик с экспортера
9188 HTTPS получение метрик с экспортера
9179 HTTPS получение метрик с экспортера
9621 HTTPS получение метрик с экспортера
9099 HTTPS получение метрик с экспортера
5432 HTTPS мониторинг баз данных Postgres
9000 HTTPS получение метрик с экспортера
8429 HTTPS мониторинг компонента
9179 HTTPS получение метрик с экспортера
80, 443 HTTP/HTTPS мониторинг API СУПВ МВ.С
9290 HTTPS получение метрик с экспортера
623 IPMI мониторинг BMC
9116 HTTPS получение метрик с экспортера
161 SNMP мониторинг сетевых устройств
9115 HTTPS получение метрик с экспортера
80, 443 HTTPS мониторинг API
161 SNMP мониторинг сетевых устройств
9188 HTTPS получение метрик с экспортера
5432 HTTPS мониторинг баз данных Postgres
8430 HTTPS прием метрик от Агентов
2023 HTTPS получение конфигурации компонентов
8433 HTTPS прием и выдача метрик
3000 HTTPS доступ к API Grafana
8428 HTTPS прием и выдача метрик
8432 HTTPS прием и выдача метрик
10111 HTTPS прием уведомлений об алертах
8881 HTTPS мониторинг компонента
8880 HTTPS мониторинг компонента
9093 HTTPS прием уведомлений об алертах
9464 HTTPS прием уведомлений об алертах
5432 HTTPS доступ к БД Визиона
8088 HTTPS доступ к API Визиона
80, 8092 HTTPS доступ к API Визиона
443 HTTPS доступ к API Визиона, Grafana
80, 433 HTTPS уведомление об алертах (webhook)
25, 587, 465 SMTP уведомление об алертах (email)
9464 SNMP уведомление об алертах (SNMP-трап)

2.3 Системные требования

Тип реализующей ЭВМ: x86-64.

Минимальная аппаратная конфигурация сервера для установки Визион.Агента:

- CPU: от 1 ядра;

- RAM: от 4 Гб;

- ROM: в зависимости от требуемой глубины кеширования данных;

- NET: от 1 Гб Ethernet.

Минимальная аппаратная конфигурация сервера для установки Визион.Прокси:

- CPU: от 2 ядер;

- RAM: от 16 Гб;

- ROM: в зависимости от требуемой глубины кеширования данных;

- NET: от 1 Гб Ethernet.

Минимальная аппаратная конфигурация сервера для установки Визион.Сервера:

- CPU: от 8 ядер;

- RAM: от 32 Гб;

- ROM: в зависимости от количества ПАК на контуре и требуемой глубины хранения метрики, от 600 Гб SSD на каждый ПАК;

- NET: от 1 Гб Ethernet.

Для установки “Визиона” требуется наличие ПО ОС “АльтЛинукс” версий 8.4 или 10.

3. УСТАНОВКА ПРОГРАММЫ#

Перед началом установки необходимо убедиться в доступности узлов ПАК с хоста Визиона. Проверить доступность можно при помощи команды ping. Если в выводе команды ping содержатся ошибки, необходимо убедиться в том, что в инсталляционной карте содержатся коректные данные, обеспечена сетевая связность между узлами и файрвол не блокирует доступ по протоколу SSH (порт 22).

В приведенных в данном руководстве примерах команд в качестве интерпретатора команд терминала используется Bash.Все команды выполняются под привилегированным пользователем root. Для повышения привилегий пользователя может потребоваться использование команды sudo. В примерах команд опущено приглашение интерпретатора.

В данном руководстве приводятся примеры команд для версии Визиона 1.1.1 Номер версии используется в имени файла с архивом дистрибутива vision-distrib-1.1.1-140.tar.gz.

На момент выполнения установки или обновления “Визиона” пользователем, версия может отличаться.

3.1 Зависимости

- ansible >= 2.9

- sshpass

- nginx

- postgresql = 11|12

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

3.2 Установка сервера Визиона

Дистрибутив Визиона представляет собой tar.gz архив, который необходимо распаковать в произвольный каталог на узле Визион.Сервер (например, в /root). Все команды, приводимые ниже, требуется выполнять из директории распакованного архива (например, vision-distrib-1.1.1-140.tar.gz). Для установки необходимо перейти в директорию, в которую был распакован архив, и выполнить скрипт install_server.sh:

cd /root
tar -xvf vision-distrib-1.1.1-140.tar.gz
cd vision-distrib-1.1.1-140
./install\_server.sh 

В ходе установки будут созданы все необходимые каталоги, установлено необходимое ПО, установлено ПО СУБД Postgres, создана необходимая для работы Визиона база данных.

Успешным считается получение вывода в терминале строк вида

PLAY RECAP **************************************************************************************localhost: ok=112  changed=9  unreachable=0  failed=0  skipped=8  rescued=0  ignored=0

После данной операции необходимо посетить веб-интерфейс Визион по адресу https://VISION_IP_ADRESS/ и выбрать пункт «Модуль администратора»

Веб-интерфейс Визион

Затем в боковом меню выбрать «Параметры» -> «Инсталляционная карта». В открывшемся окне выбрать ⠇и пункт «Добавить ПАК»:

Раздел “Инсталляционная карта”

В окне «Добавление ПАК» перенести из инсталляционной карты конфигурацию ПАК и назначить идентификаторы модулей, узлов, виртуальных машин и сервисов. Данные идентификаторы будут использоваться при работе с мониторингом в метриках и уведомлениях.

Форма “Добавления ПАК”

После создания структуры ПАК, выбрать ⠇и нажать «Инвентори»:

Контекстное меню раздела “Инсталляционная карта”

Плейбук Ansible, необходимый для дальнейшего развертывания, будет сохранен на машине оператора, а так же доступен на узле мониторинга по пути /opt/skala-r/vision/server/inventory/, и будет иметь в названии имя ПАК, дату и время создания, например, МБД.П_2024-01-09 14:54:44.793815.yml

Необходимо отредактировать файл, заменив строки "»>REPLACE ME!«<" на соответствующие корректные данные. Не рекомендуется изменять метки в разделах labels.

Параметры:

  1. all (общие параметры по-умолчанию)

ansible_user - пользователь для подключения к хосту по ssh

ansible_ssh_pass - пароль для подключения к хосту по ssh

ansible_become_user - пользователь для проведения операций на узле (рекомендуется root)

ansible_become_password - пароль пользователя для проведения операций на узле

1.1) ipmi_auth_params - параметры по-умолчанию для подключения через ipmi

username – имя пользователя

password - пароль

  1. vision_proxy (настройки Визион.Прокси)

ansible_host - IP-адрес для подключения к хосту с Визион.Прокси по ssh

vision_server_host - IP-адрес хоста Визион.Сервер

snmp_targets – раздел для указания списка IP-адресов коммутационных узлов

ceph_exporter - раздел для указания IP-адреса для подключения к Ceph в формате ip:port

2.1) supv_exporter

endpoint – URL панели администратора СУПВ, например, https://192.168.186.1/

login - логин для подключения к панели администратора

password - логин для подключения к панели администратора

trust – использовать ли для подключения HTTP взамен HTTPS

2.2) one_exporter

endpoint - URL панели администратора OpenNebula

username - логин для подключения к панели администратора

password - пароль для подключения к панели администратора

  1. vision_agents

ansible_host - IP-адрес для подключения к хосту с Визион.Агентом по ssh

3.1) ipmi_exporter

bmc_ip - IP-адрес соответствующего BMC узла, для подключения по IPMI

3.2) postgres_exporter

pg_postgres_user – пользователь для подключения к Postgres для мониторинга

pg_postgres_pass - пароль для подключения к Postgres для мониторинга

3.3 Установка Визион.Прокси и Визион.Агентов

Для установки требуется описать будущую конфигурацию Визиона в двух файлах (так называемых inventory) с параметрами развёртывания Визиона согласно инсталляционной карте. Шаблоны файлов расположены в директории /inventory_template.

Для установки Визион.Прокси необходимо последовательно запустить команды:

ansible-playbook -i МБД.П_2024-01-09 14:54:44.793815.yml proxy_install.yml
ansible-playbook -i МБД.П_2024-01-09 14:54:44.793815.yml proxy_config.yml

Для установки Визион.Агентов необходимо последовательно запустить команды:

ansible-playbook -i МБД.П_2024-01-09 14:54:44.793815.yml agent_install.yml
ansible-playbook -i МБД.П_2024-01-09 14:54:44.793815.yml agent_config.yml

Успешным считается получение в результате каждой команды вывода сообщений, в которым параметр failed равен 0, например:

vision_proxy: ok=96 changed=43 unreachable=0 failed=0 skipped=5 rescued=0 ignored=0

3.4 Настройки безопасности

3.4.1 Межкомпонентное взаимодействие

В целях повышения безопасности работа между компонентами Визиона реализована через TLS и Basic Auth. Стандартные сертификаты расположены в директории cert в корне дистрибутива. Сгенерировать уникальный сертификат можно с помощью скрипта _generate_components_cert.sh. Настройка аутентификации и размещение сертификатов выполняется автоматически при развертывании компонентов Визиона. Параметры технической учетной записи для авторизации между компонентами конфигурируются в файле _deploy_settings.yml, расположенном в корне дистрибутива - basic_auth_username и basic_auth_password (имя пользователя и пароль соответственно).

3.4.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>/

4 УСТАНОВКА ОБНОВЛЕНИЙ ПРОГРАММЫ#

Установка обновлений ПО “Визион” и дополнительного ПО выполняется в случае, если на хосте “Визиона” уже существует ранее установленные версии ПО. Для установки и для обновления “Визиона” используется один и тот же пакет установочных файлов, поставляемый в виде архива.

5 ПРОВЕРКА ПРОГРАММЫ#

5.1 Отображение веб-интерфейса

По завершении процесса установки должен быть доступен веб-интерфейс ПО Визион через браузер по адресу http://<хост Визиона>, далее пункт Аналитические панели и Модуль Администратора.

5.2 Проверка работоспособности сервисов

Для проверки успешности установки каждого компонента зайти по ssh на требуемый узел и запустить команду:

cd /opt/skala-r/vision
./check_service.sh

В результате, например для Визион.Сервера, вывод должен быть следующий:

Пример результата для Визион.Сервер

Критерием успешности развертывания является значение active для перечисленных сервисов:

Визион.Сервер:

  • grafana

  • victoriametrics_st

  • promlens

  • alertmanager

  • vmalert_st

  • snmp_notifier

  • vision_core

  • vision_alertcollector

  • vision_taskdaemon

  • nginx

  • postgresql

Визион.Прокси (в зависимости от типа ПАК)

  • vmagent_proxy

  • ipmi_exporter

  • snmp_exporter

  • blackbox_exporter

  • supv_exporter

  • one_exporter

  • postgres_exporter_proxy (в версии 1.1.1 не используется)

Визион.Агент (в зависимости от типа ПАК)

  • vmagent_agent

  • node_exporter

  • utlz_exporter

  • postgres_exporter_agent

При статусе равном failed обратиться к пункту 5.3 для получения дополнительной информации.

Конфигурация компонентов после развертывания находится в директориях /opt/skala-r/vision/<server|proxy|agent>/<vision_component>/etc.

5.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"

6 УСТРАНЕНИЕ НЕИСПРАВНОСТЕЙ ВИЗИОНА#

6.1 Выводятся всплывающие сообщения об ошибках в Grafana

Описание неисправности

В браузере отображается сообщение об ошибке браузера в виде всплывающего сообщения.

Способ устранения

Очистить cookies браузера. Обратитесь к инструкции к вашему браузеру.

6.2 На стартовом дашборде Grafana отсутствуют вычислительные узлы или виртуальные машины

Описание неисправности

При посещении стартовой страницы Grafana по адресу <IP адрес Визион.Сервера>/vision/grafana/?orgId=1, в списке узлов (виртуальных машин) отсутствует один или все узлы (виртуальные машины).

Способ устранения

  1. Убедится, что все сервисы Визиона на отсутствующих узлах (виртуальных машинах) находятся в запущенном состоянии (пункт 5.2 данного руководства). При необходимости просмотреть логи (пункт 5.3 данного руководства).

  2. С помощью браузера перейти по адресу <IP адрес узла или ВМ>:8429/targets и убедится, что все таргеты находятся в состоянии (State) равному up.

Пример состояния таргетов

  1. Проверить корректность текущего времени и даты командой date на отсутствующих узлах (виртуальных машинах).

6.3 При установке Визиона некоторые пакеты не устанавливаются

Описание неисправности

При установке Визиона версии 1.1.1 в процессе развертывания не удается установить rpm пакет по причине конфликта с предыдущей версией (согласно выводу в терминале).

Способ устранения

Необходимо убедиться, что пакеты предыдущих инсталляций удалены. Проверить факт наличия старого пакета можно командой:

rpm -qa | grep <имя конфликтного пакета Визиона>

А удалить командой

rpm -e <имя конфликтного пакета Визиона>

После чего повторно развернуть компонент Визиона.