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

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 9187 /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 Визион.Прокси мониторинг СУПВ

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

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

#

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

В приведенных в данном руководстве примерах команд в качестве интерпретатора команд терминала используется Bash.

  • Все команды выполняются под привилегированным пользователем root. Для повышения привилегий пользователя может потребоваться использование команды sudo.
  • При вводе команд пользователю не требуется вводить приглашение интерпретатора. Например, если в руководстве приводится команда.
  • Дистрибутив Визиона представляет собой tar.gz архив, который необходимо распаковать в произвольный каталог на узле Визион.Сервер, например в /root. Все команды, приводимые ниже, требуется выполнять из директории distrib распакованного архива.
  • В данном руководстве приводятся примеры команд для версии Визиона “1.0”. Номер версии используется в имени файла с архивом дистрибутива vision-distrib-1.0_alt10-75.tar.gz.

На момент выполнения установки или обновления Визиона пользователем, версия сборки может отличаться (в связи с исправлением багов и незначительных доработок).

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

На узле, с которого выполняется развертывание, требуются следующие пакеты:

- ansible >= 2.8

- sshpass

Возможные зависимости: libsodium23, python3-module-bcrypt, python3-module-jinja2, python3-module-markupsafe, python3-module-paramiko, python3-module-pynacl

3.2 Подготовка к установке#

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

Первый файл описывает параметры Сервера (server.yml).

Требуется указать:

  • ansible_host - адрес ВМ для установки Сервера
  • ansible_user - пользователь для подключения к ВМ по ssh
  • ansible_ssh_pass - пароль для подключения к ВМ по ssh
  • ansible_become_password - пароль root для проведения операций на узле
  • supported_pak_types - перечисление типов ПАК, разворачиваемых на контуре (определяет перечень дашбордов)

Второй файл описывает параметры Прокси и Агентов (proxy.yml).

Базовые параметры ansible_user, ansible_ssh_pass, ansible_become_password заполняются аналогично вышеприведенному описанию Сервера. Данные параметры будут использоваться по умолчанию для всех узлов. При необходимости можно указать данные параметры специфично для любого узла.

Файл состоит из двух больших разделов:

  • vision_current_proxy - раздел с единственным подразделом vision_proxy, в котором описываются параметры Прокси
  • vision_agents - раздел с подразделом hosts в котором перечисляются узлы, на которые небходимо установить Агенты. В шаблоне указан один узел - one-host (название не обязательно должно соответствовать реальному имени узла, но рекомендуется это делать для удобства).

Для раздела vision_proxy указывается:

  • ansible_host - адрес ВМ для установки Прокси (при условии наличия в контуре одного ПАК возможно установка на ту же ВМ, что и Сервер. В этом случае нужно указать адрес Сервера)
  • vision_server_host - адрес установки ВМ Сервера (должен указывать на место установки Сервера)
  • pak_type - тип разворачиваемого Прокси (согласно типу ПАК, выбирается из списка: PG, ADQM, ADB, ADH, ADS, ADG, MHDO, MVS. Определяет перечень разворачиваемых экспортеров)
  • pak_name - имя ПАК. Попадает в метку метрик на Сервер.
  • snmp_targets - список адресов устройств (коммутаторы и пр.) для мониторинга по протоколу SNMP
  • ipmi_targets - список адресов BMC для мониторинга по протоколу IPMI
  • icmp_targets - список адресов узлы, на которые будут ставиться агенты для мониторинга по протоколу ICMP
  • supv_exporter - настройки мониторинга МВ.С: endpoint - URL-адрес СУПВ, login/password - Данные учетной записи для доступа, trust - Разрешить получение данных по незащищенному протоколу или с самоподписанным сертификатом
  • s3_exporter - настройки мониторинга МХДО: endpoint и port - адрес и порт Prometheus S3.

Для раздела vision_agents указывается параметры для каждого узла

  • ansible_host - адрес узла для установки Агента
  • host_type- тип узла: PG - узел кластера МБД.П, VM - служебная ВМ (Спектр, Геном и т.п.)
  • hostname - имя узла. Попадает в метку метрик на Сервер
  • module_title - название модуля. Попадает в метку метрик на Сервер
  • module_id - идентификатор модуля. Попадает в метку метрик на Сервер

Для узла кластера МБД.П так же указывается:

  • cluster_name - имя кластера. Попадает в метку метрик на Сервер
  • cluster_node_name - имя узла кластера. Попадает в метку метрик на Сервер
  • is_spectrum_agent_installed - установлен ли агент Спектра
  • pg_postgres_user и pg_postgres_pass - Данные учетной записи для подключения к Postgres на узле

3.3 Установка Визиона#

Последовательность установки следующая:

- Сервер

- Прокси

- Агент

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

ansible-playbook -i server.yml server_install.yml
ansible-playbook -i server.yml server_config.yml

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

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

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

ansible-playbook -i proxy.yml proxy_install.yml
ansible-playbook -i proxy.yml proxy_config.yml

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

ansible-playbook -i proxy.yml agent_install.yml
ansible-playbook -i proxy.yml agent_config.yml

#

4. Установка обновлений программы#

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

Новый архив с дистрибутивом “Визиона” необходимо распаковать в произвольный каталог на хосте “Визиона”, например в /root/vision-dist.

Для обновления необходимо перейти в директорию, в которую был распакован архив, и выполнить последовательно

ansible-playbook -i server.yml server_install.yml
ansible-playbook -i proxy.yml proxy_install.yml
ansible-playbook -i proxy.yml agent_install.yml

#

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

- postgres_exporter_proxy (в версии 1.0 включено в дистрибутив, но не используется, корректный статус компонента failed до следующего релиза)

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

- 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”

Просмотреть текущие логи в режиме онлайн можно, используя службу журналирования логов 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.0 в процессе развертывания (пункт 3.2 данного руководства) не удается установить rpm пакет по причине конфликта с предыдущей версией (согласно выводу в терминале).

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

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

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

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

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

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