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

ГЛОССАРИЙ#

Термины и сокращения, которые используются для описания внутреннего устройства и функций программы:

Термин Описание, комментарий
Мониторинг Непрерывный процесс сбора и анализа информации о значении параметров состояния объекта с целью выявления их соответствия желаемому результату
Платформа Программная платформа Скала^р
Программно-аппаратный комплекс (ПАК) Совокупность аппаратных компонентов (сервера, коммутаторы доступа и т. п.) и программного обеспечения, решающих прикладные задачи (машина баз данных, машина больших данных и т. д.)
Система мониторинга Модуль Мониторинга ПАК в составе Программной платформы Скала^р
Объект мониторинга Ресурс ПАК, о котором агент собирает данные
Объект управления Компонент ядра системы мониторинга
Плагин объекта управления Подключаемый программный компонент, позволяющий конфигурировать объекты управления, а также производить интеграцию со сторонними системами сбора метрик
Репозиторий ресурсов объектов управления Наборы графических информационных панелей, справочник собираемых метрик, набор правил оповещений, исполняемые файлы агентов мониторинга
Модуль Управления кластером Модуль платформы, обеспечивающий управление и конфигурацию кластерного ПО ПАК
Модуль единой авторизации и разграничения прав доступа Модуль платформы, обеспечивающий авторизацию пользователей платформы и контролирующий возможность взаимодействия с ее компонентами в зависимости от роли пользователя
Пользовательский интерфейс Интерфейс, обеспечивающий передачу информации между пользователем и Модулем Мониторинга ПАК, а также просмотр информации об объектах мониторинга
Агент сбора данных (экспортер) Процесс ОС, собирающий данные о соответствующем объекте мониторинга и предоставляющий к ним доступ по HTTP
Временной ряд Дискретное множество значений во времени определенного числового атрибута (параметра) объекта мониторинга
База данных временных рядов Система хранения простых значений, привязанных к определенным моментам времени
Метрика Временной ряд, который показывает изменение какой-либо величины во времени
Прореживание метрики Механизм архивирования исторических данных, агрегирующий значения метрики в соответствии с политикой прореживания
Визуализация Процесс презентации метрик в визуально удобном формате, что позволяет быстро и интуитивно интерпретировать данные
Информационная панель Интерактивная панель с наглядной визуализацией определенных процессов или состояний, представленных в виде таблиц, диаграмм, графиков
Эффект наблюдателя Воздействие системы мониторинга на наблюдаемые метрики
Оповещение Процедура отправки уведомления о срабатывании предупреждения
Правило оповещения Информация, определяющая действие по отношению к конкретному экземпляру предупреждения при его получении
Уведомление Текстовое сообщение о предупреждении
Предупреждение Индикатор состояния соответствующей метрики, определяющий факт срабатывания правила предупреждения
Правило предупреждения Условие, применяемое к значению метрики и необходимое для срабатывания предупреждения
Канал уведомления Информация о получателях и методах отправки оповещений
Сервер приложения Централизованный сервер, осуществляющий конфигурирование и управление ядром мониторинга и агентами сбора данных, реализацию бизнес-логики, а также взаимодействие с пользовательским интерфейсом
Ядро модуля мониторинга Совокупность взаимоувязанного ПО, обеспечивающего сбор, обработку, хранение и визуализацию информации, полученной от агентов, а так же оповещение о выходе значений метрик за допустимые пределы
База данных Объект сервиса СУБД , в котором пользователи создают таблицы, представления, хранимые процедуры. Обычно для каждого сервиса СУБД создаётся база данных по умолчанию (PostgreSQL), но может быть несколько баз данных.
СУБД Система Управления Базами Данных. Набор программ, позволяющий организовывать, контролировать и администрировать базы данных.
Системная база данных БД, предназначенная для хранения информации об объектах управления, конфигурации ПАК, ролевой модели доступа, конфигурации Модуля Мониторинга
AlertManager Стороннее ПО для организации уведомлений по определенным правилам с использованием различных каналов связи
Grafana Стороннее ПО, позволяющее отображать данные из Prometheus в виде графиков и диаграмм, организованных в информационные панели
PromQL Язык запросов Prometheus
Victoria Metrics Стороннее ПО, отвечающее за сбор и хранение метрик объектов

#

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

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

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

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

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

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

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

  • установка, настройка системного программного обеспечения в ОС Linux;
  • просмотр и редактирование файлов с использованием команд ls, cat, less, vim, nano.

1.4 Лингвистическое обеспечение#

Основной язык в настроенных панелях отображения метрик, уведомлений, графической информации – Русский (пользовательский). Дополнительный язык в интерфейсах всех подсистем – Английский (пользовательский). Основной язык интерпретации событий журналов подсистем – Английский. Дополнительный язык интерпретации событий журналов подсистем – Русский.

1.5 Обеспечение защиты информации#

Информационная безопасность ПО «Скала^р Визион» достигается путем шифрования данных и соединений сервер-клиент по протоколу SSL на всех этапах их жизненного цикла. Кроме этого, все внутренние взаимодействия компонентов ПО «Скала^р Визион» также могут быть зашифрованы с помощью протокола SSL.

2. НАЗНАЧЕНИЕ И УСЛОВИЯ ПРИМЕНЕНИЯ#

2.1 Виды деятельности, функции и классы решаемых задач#

Основные функции ПО «Скала^р Визион»:

  • Сбор данных о конфигурации элементов ПАК (машин).
  • Сбор данных, отображение, мониторинг элементов программного обеспечения, активных компонентов модулей ПАК, служебных сервисов и сервисов баз данных
  • Конфигурирование метрик мониторинга, настройка предупреждений
  • Конфигурирование графического отображения на информационных панелях в виде графиков, отдельных значений, диаграмм, таблиц
  • Хранение метрик с возможностью настройки глубины хранения и управления жизненным циклом хранимых данных.
  • Отображение в графическом пользовательском интерфейсе подробных данных об объектах мониторинга.
  • Мониторинг изменений объектов контроля в режиме, близком к реальному времени
  • Настройка и выполнение командного кода на стороне ПАК и на виртуальной машине Мониторинга с целью сбора данных для контроля работы объектов мониторинга
  • Сопряжение конфигураций Prometheus, Victoria Metrics, Grafana и AlertManager для обеспечения кооперативного поведения;
  • Установка информационных панелей для каждого типа ПАК

2.2 Характеристики и конфигурация технических средств#

Тип реализующей ЭВМ: x86-64. Минимальная конфигурация сервера управления ПО «Скала^р Визион»:

  • CPU: от 2 ядер;
  • RAM: от 16 Гб;
  • ROM: от 600 Гб SSD для системных компонент;
  • NET: от 1 Гб Ethernet.
  • Internet: доступ к сети, возможно через прокси-сервер, конфигурация используется как опция и используется в контурах, где имеется и разрешён доступ к внешней по отношению к контуру сети.

2.3 Характеристики и конфигурация технических средств#

Для установки и работы ПО «Скала^р Визион» требуется операционная система ALT 8 SP Server.

3. РАЗВЕРТЫВАНИЕ #

3.1 Состав дистрибутива#

Дистрибутив «Скала^р Визион» представляет из себя архив, содержащий необходимые пакеты, так что установка может производится даже на систему, не имеющую доступа к сети Internet. Состав архива:

  • Компоненты сервера Визион (vision-api, vision-core, vision-task-daemon, vision_alert_collector)
  • Компоненты ядра мониторинга (alertmanager, grafana, victoriametrics, vmalert, snmp_notifier)
  • UI Визиона (vision-ui)
  • Компоненты агента мониторинга на узлах (vmagent, node_exporter, ha_cluster_exporter, postgres_exporter, utlz_exporter)
  • Компоненты сбора метрик (серверные) (snmp_exporter, ipmi_exporter, blackbox_exporter)
  • Вспомогательные файлы для разворачивания (плейбуки, скрипты, файлы конфигурации)

3.2 Подготовка#

На машине, с которой выполняется развертывание, требуются наличие следующих пакетов: - ansible - sshpass - wget

Установить данные пакеты можно с помощью следующих команд (в процессе установки согласиться на установку зависимостей):

sudo apt-get updatesudo apt-get install ansible wget sshpass

Скопировать дистрибутив Визиона в директорию /opt. Перейти в директорию /opt командой

cd /opt

Распаковать файл с дистрибутивом Визиона командой

tar -xvzf ./vision-dist-altlinux8.4-v0.9-24.01.tar.gz

Перейти в каталог с дистрибутивом командой cd ./vision-dist-altlinux8.4-v0.9-24.01/ Дальнейшие команды, если не указано другое, выполняются из этой директории.

3.3 Конфигурирование развертывания#

Для настройки мониторинга необходимо заполнить файл-inventory с параметрами развёртывания согласно инсталляционной карте. Для примера ориентируйтесь на файл inventory.yml. Далее по тексту он будет использоваться во всех примерах.

В файле укажите: - в разделе allvars (глобальные настройки):

  • ansible\_user и ansible\_ssh\_pass - данные для доступа по ssh для всех узлов (по-умолчанию)
  • pak\_type - тип ПАКа (значения из списка, например, PG для МБД.П)
  • pak\_name - имя ПАКа, например “PG-P-1”
  • vision\_ip - список получателей (экземпляров Визиона), которым отправляются метрики vmagent’ами по remoteWrite

- в разделе allchildren ➤ :

- в подразделе vision\_hostshostsvision\_host (настройки ВМ Визиона и его таргетов согласно инсталляционной карте):

  • ansible\_host - ip-адрес целевой ВМ Визиона
  • snmp\_targets - список устройств, отслеживаемых системой мониторинга по протоколу SNMP, c параметрами
  • ipmi\_targets - список устройств, отслеживаемых системой мониторинга по протоколу IPMI, c параметрами

- в подразделе pak\_hosts (настройки узлов согласно инсталляционной карте) содержится перечень целей для установки агента мониторинга со следующими параметрами каждой цели:

  • ansible\_host - ip-адрес целевого узла
  • mbd\_pg\_user и mbd\_pg\_pass - креды для postgres на узлах кластера МБД.П (для МБД.П)
  • is\_ha\_cluster - признак того, что хост является узлом кластера МБД.П (для МБД.П)
  • labels - перечень дополнительны меток:
  • module\_title - имя модуля, к которому относится цель
  • module\_id - id модуля, к которому относится цель
  • cluster - имя кластера, к которому относится цель (для МБД.П)
  • type: 'vm' - признак того, что цель - виртуальная машина

3.4 Установка#

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

./deploy_and_config.sh

При необходимости, можно выполнить установку последовательно

ansible-playbook -i inventory.yml 1_vision_install.yml # Установка пакетов сервераansible-playbook -i inventory.yml 2_vision_config.yml # Конфигурирование сервера Визионаansible-playbook -i inventory.yml 3_agent_install.yml # Установка пакетов агентаansible-playbook -i inventory.yml 4_agent_config.yml # Конфигурирование агента Визиона

Если установка прошла успешно, то результат будет следующим (пример):

Если в процессе установки возникли ошибки, они будут выделены красным цветом.

3.4 Проверка корректности установки#

Зайти на главную страницу и проверить отображение дашбордов в Grafana

Только для МБД.П:

Зайти в веб-интерфейс VictoriaMetrics и убедиться в наличии зелёных индикаторов в столбце State (пример):

Зайти в веб-интерфейс vmagent на каждом узле и убедиться в наличии зелёных индикаторов в столбце State (пример):

Зайти в веб-интерфейс Визиона и убедится работоспособности компонентов мониторинга (кнопка Статус Визион в нижнем левом углу экрана)

4. КОМПОНЕНТЫ ПО#

4.1 Состав ВМ Визион#

Компонент Версия Назначение
vision-api 0.9 Компонент API Визион
vision-core 0.9 Компонент сервера Визион
vision-task-daemon 0.9 Таск демон для выполнения фоновых задач
vision-ui 0.9 Компонент UI
vision_alert_collector 0.9 Сбор и обработка оповещений от AlertManager
victoriametrics 1.89.1 Сбор и хранение метрик
vmalert 1.89.1 Инициирование оповещений согласно правил
grafana 9.2.8 Визуализация метрик
alertmanager 0.25.0 Обработка оповещений
snmp_notifier 1.4.0 Отправка уведомлений по SNMP
ipmi_exporter 1.6.1 Мониторинг IPMI таргетов
snmp_exporter 0.21.0 Мониторинг SNMP таргетов
blackbox_exporter 0.23.0 Мониторинг ICMP таргетов
vision_exporter 0.9 Мониторинг сервисов различных типов ПАК

#

4.1 Состав агентов мониторинга на узлах#

Компонент Версия Назначение
vmagent 1.89.1 Сбор метрик с экспортеров на узлах и передача их на сервер мониторинга
node_exporter 1.5.0 Мониторинг оборудования и ОС узла
utlz_exporter 0.9 Мониторинг утилизации ресурсов узла
ha_cluster_exporter 1.3.1 Мониторинг кластера МБД.П
postgres_exporter  0.11.1 Мониторинг Postgres МБД.П

5. КОНФИГУРАЦИЯ КОМПОНЕНТОВ#

После конфигурации необходимо перезапустить соответствующий компонент, например:

systemctl restart prometheus.service

VictoriaMetrics#

Путь Файл Описание Настраиваемые параметры
/etc/vision/victoriametrics
victoriametrics.yml Общая конфигурация scrape_interval - глобальный интервал опроса экспортеровscrape_timeout - глобальный интервал ожидания данных от экспортеровКаждый экспортер описывается в виде раздела, например: - job_name: victoriametrics scrape_interval: 15s scrape_timeout: 10smetrics_path: /vision/victoriametrics/metrics static_configs: - targets:- “IP адрес”
snmp_targets.ymlipmi_targets.ymlblackbox_targets.yml Файлы со списком таргетовсоответствующих экспортеров Например, для таргетов ipmi_exporter:- targets: - “IP адрес” labels: instance: depojob: ‘ipmi_exporter’
victoriametrics.env Параметры запуска promscrape.config - путь до файла конфигурацииstorageDataPath - расположение БДretentionPeriod - срок хранения метрик в БДhttpListenAddr - прослушиваемый порт

Grafana#

Путь Файл Описание Настраиваемые параметры
/etc/vision/grafana/
grafana.ini Общая конфигурация admin_user - имя администратораadmin_password - пароль администратора
grafana.env Параметры запуска config - путь до файла конфигурации

Правка дашбордов осуществляется непосредственно через web-интерфейс.

Alertmanager#

Путь Файл Описание Настраиваемые параметры
/etc/vision/alertmanager/
alertmanager.yml Настройка правил оповещения Структура выглядит следующим образом:# глобальная конфигурация параметров# служит значениями по умолчанию для других разделов конфигурацииglobal:<…>  # файлы, из которых считываются пользовательские шаблоны для уведомлений# можно использовать подстановочные знаки (templates/*.tmpl)templates:[ - filepath … ]  # корневой узел дерева маршрутизации уведомленийroute:<…>  # список получателей уведомлений и настройка отправкиreceivers: - receiver …  # список правил подавления уведомленийinhibit_rules: [ - inhibit_rule … ]  # список временных интервалов для использования в маршрутахtime_intervals:[ - time_interval … ]Настройки по-умолчанию:smtp_smarthost: ‘SMTP_хост:порт’smtp_from: ‘адрес_электронной_почты_отправителя’smtp_auth_username: ‘имя_пользователя’ smtp_auth_auth_password: ‘пароль’ Каждый блок route имеет следующую структуру: # Значение ключа name из списка receivers.# По факту - ссылка на получателя по умолчанию.receiver:   # Список имен меток, по которым группируются уведомления.# Для отключения группировки указать: group_by: [’…’]# Группировка в дочерних узлах переопределяет вышестоящую.group_by: ‘[’labelname, … ‘]’ ]  # Должно ли оповещение продолжать соответствовать последующим одноуровневым узлам,# если совпадение найдено в текущем. Уведомления будут отправлены всем найденным совпадениям.# По-умолчанию = falsecontinue:   # Список сопоставителей, которым должно соответствовать оповещение, чтобы соответствовать узлу.# Элемент matcher имеет вид “service=~“mysql
alertmanager.env Параметры запуска config.file - путь до файла конфигурации

snmp_notifier#

Путь Файл Описание Настраиваемые параметры
/etc/vision/snmp_notifier/
description-template.tpl Шаблон отправляемого сообщения -
snmp_notifier.env Параметры запуска snmp.destination - адрес отправки уведомленияsnmp.trap-description-template - путь до шаблона отправляемого сообщения

Конфигурация экспортеров#

Таргеты экспортеров описываются в соответствующих файлах /etc/vision/victoriametrics/<имя экспортера>_targets.yml

Параметры запуска описываются в соответствующих файлах /etc/vision/exporters/<имя экспортера>/<имя экспортера>.env

node_exporter#

Путь Файл Описание Настраиваемые параметры
/etc/vision/exporters/node_exporter
node_exporter.env Параметры запуска web.listen-address - прослушиваемый порт, по которому возвращаются метрики

ipmi_exporter#

Путь Файл Описание Настраиваемые параметры
/etc/vision/exporters/ipmi_exporter/
ipmi_remote.yml Общая конфигурация Группы настроек (модули) задаются в разделе modules виде:# имя модуляmodule_name:# Имя пользователя и пароль для доступаuser: “admin”pass: “admin”# Используемый драйвер и привелегии для доступаdriver: “LAN_2_0”privilege: “admin”# Время ожидания ответа timeout: 10000# Используемые инструменты для сбора данных# доступны: bmc, ipmi, chassis, dcmi, sel, and sm-lan-modecollectors:- bmc- ipmi- chassis- dcmi- selСоответствующий модуль указывается в /etc/prometheus/prometheus.yml- job_name: devices_ipmiparams:module: [‘module_name’] При необходимости может быть создано несколько разделов с разными модулями
ipmi_exporter.env Параметры запуска web.listen-address - прослушиваемый порт, по которому возвращаются метрикиconfig.file - путь до файла конфигурацииfreeipmi.path - путь до бинарного файла инструмента FreeIPMI (при необходимости)

snmp_exporter#

Путь Файл Описание Настраиваемые параметры
/etc/vision/exporters/snmp_exporter/
snmp.yml Общая конфигурация (описание OID) -
snmp_exporter.env Параметры запуска web.listen-address - прослушиваемый порт, по которому возвращаются метрикиconfig.file - путь до файла конфигурации

blackbox_exporter#

Путь Файл Описание Настраиваемые параметры
/etc/vision/exporters/blackbox_exporter/
blackbox_exporter.yml Общая конфигурация Группы настроек (модули) задаются в разделе modules виде:# имя модуляmodule_name:# используемый инструмент (icmp)prober: icmp# время ожидания ответаtimeout: 5s# настройки используемого инструментаicmp:# протоколpreferred_ip_protocol: ip4# исходный адресsource_ip_address: “IP адрес” Соответствующий модуль указывается в /etc/prometheus/prometheus.yml- job_name: blackbox_exporter_icmpparams:module: [module_name]При необходимости может быть создано несколько разделов с разными модулями
blackbox_exporter.env Параметры запуска web.listen-address - прослушиваемый порт, по которому возвращаются метрикиconfig.file - путь до файла конфигурации

utlz_exporter#

Путь Файл Описание Настраиваемые параметры
/etc/vision/exporters/utlz_exporter/
utlz_exporter.json Общая конфигурация Данные в формате JSON. В файле должно быть 4 главных ключа - ssd, ssd3, nvme, nlsas - отображающихся на 4 типа накопителей. Пример: # полное имя блочного устройства, с которого монтируются ФС“dev_name”:"/dev/nvme0n1”,# смонтированные ФС“mount_points”:[”/","/boot/efi"],# добавка в байтах к используемому пространству“incr_us”: 100000000,# добавка в байтах к доступному пространству “incr_ts”: 12000000}
utlz_exporter.env Параметры запуска web.listen-address -  прослушиваемый порт, по которому возвращаются метрикиcommon.config-fname - путь до файла конфигурацииcommon.use-dmidecode  - использовать ли  dmidecode  вместо lsmem для получения утилизации RAM (yes

Собираемые экспортером метрики#

cpu\_num - количество ядер физических CPU ядер

cpu\_usage - общее использование CPU в процентах

mem\_size - общий размер RAM в MiB

mem\_usage - используемое RAM в MiB

disk\_size\_nlsas | disk\_size\_nvme | disk\_size\_ssd | disk\_size\_ssd\_dwpd3 - размер дискового пространства каждого типа в MiB

disk\_usage\_nlsas | disk\_usage\_nvme | disk\_usage\_ssd | disk\_usage\_ssd\_dwpd3 - размер занятого дискового пространства каждого типа в MiB

utlz\_discovery - всегда равна 1, метрика для каждого узла, которая будет присутствовать всегда, вне зависимости от того, есть или нет на данном узле тот или иной тип дисков или сведения о CPU и RAM

utlz\_dev\_status - cтатус дискового устройства, который участвует в подсчете утилизации

utlz\_mount\_point\_status - cтатус точки монтирования, которая участвует в подсчете утилизации

ha_cluster_exporter#

Путь Файл Описание Настраиваемые параметры
/etc/vision/exporters/ha_cluster_exporter
ha_cluster_exporter.env Параметры запуска web.listen-address - прослушиваемый порт, по которому возвращаются метрики

postgres_exporter#

Путь Файл Описание Настраиваемые параметры
/etc/vision/exporters/postgres_exporter
postgres_exporter.env Параметры запуска web.listen-address - прослушиваемый порт, по которому возвращаются метрикиDATA_SOURCE_NAME -строка для подключения к локальной БД Postgres вида:“postgresql://USER:PASSWORD@ “IP адрес”/postgres?sslmode=disable”

6 УСТРАНЕНИЕ НЕПОЛАДОК#

1) При заходе на страницу Grafana не отображаются никакие данные

  • Проверить и, при необходимости, выполнить синхронизацию времени между хостом с Визионом, хостами и системным временем сервера.

2) Не отображаются данные с экспортера (на примере postgres_exporter)

  • Проверить доступность и состояние экспортера
  • Проверить лог работы экспортера:
systemctl status postgres-exporter

При недоступности осуществить перезапуск сервиса, либо осуществить манипуляции по ситуации. Так же можно обратиться в тех.поддержку Скала^Р. 3) Ошибка на этапе миграции базы данных на шаге 2 сценария

  • Очистить служебную базу данных Визиона ‘vision_db’ (все данные буду утеряны, применимо только для новой установки) Подключение к postgres:
psql -h localhost -U vision -d postgres

Закрыть все соединения:

SELECT pg_terminate_backend(pid) FROM pg_stat_activity WHERE datname = ‘vision_db’;

Удалить таблицу:

DROP DATABASE vision_db;
  • Повторно запустить развертывание с шага 2.