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
- пользователь для подключения к ВМ по sshansible_ssh_pass
- пароль для подключения к ВМ по sshansible_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
- список адресов устройств (коммутаторы и пр.) для мониторинга по протоколу SNMPipmi_targets
- список адресов BMC для мониторинга по протоколу IPMIicmp_targets
- список адресов узлы, на которые будут ставиться агенты для мониторинга по протоколу ICMPsupv_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, в списке узлов (виртуальных машин) отсутствует один или все узлы (виртуальные машины).
Способ устранения
-
Убедится, что все сервисы Визиона на отсутствующих узлах (виртуальных машинах) находятся в запущенном состоянии (пункт 5.2 данного руководства). При необходимости просмотреть логи (пункт 5.3 данного руководства).
-
С помощью браузера перейти по адресу <IP адрес узла или ВМ>:8429/targets и убедится, что все таргеты находятся в состоянии (State) равному up.
Пример состояния таргетов
- Проверить корректность текущего времени и даты командой
date
на отсутствующих узлах (виртуальных машинах).
6.3 При установке Визиона некоторые пакеты не устанавливаются#
Описание неисправности
При установке Визиона версии 1.0 в процессе развертывания (пункт 3.2 данного руководства) не удается установить rpm пакет по причине конфликта с предыдущей версией (согласно выводу в терминале).
Способ устранения
Необходимо убедиться, что пакеты предыдущих инсталляций удалены. Проверить факт наличия старого пакета можно командой:
rpm -qa | grep <имя конфликтного пакета Визиона> |
---|
А удалить командой
rpm -e <имя конфликтного пакета Визиона> |
---|
После чего повторно развернуть компонент Визиона.