Справочник алертов мониторинга

В справочнике приведены алерты мониторинга платформы KeyStack с описанием метрик, порогов срабатывания и рекомендуемых действий.

Инфраструктура

Компонент

Что проверяется

Что означает алерт

На что влияет

Необходимые действия

Имя алерта

Группа алерта

Экспортёр

Метрика

Порог алерта

Node

Свободное место на файловой системе

Нехватка свободного места на файловой системе

Возможен отказ ключевых сервисов, таких как sshd, auditd, logrotate

Может наступить отказ в работе docker-контейнеров сервисов виртуализации

Ситуация требует анализа

На узле с помощью команды 'df -h' проверить, какая файловая система израсходовала свободное место.

Далее с помощью команды 'du -hd1 /*' проанализировать размер каталогов/файлов.

При необходимости освободить место либо расширить файловую систему.

SystemDiskFull

KeyStack - System

node_exporter

node_filesystem_free_bytes / node_filesystem_size_bytes

Warning, если занято >=85% дискового пространства

Critical, если занято >= 95% дискового пространства

Node

Свободные inode на файловой системе

Слишком много файлов в системе

Может влиять на возможность создавать новые файлы

Может возникать перегрузка ядра при работе с файловыми дескрипторами

На узле с помощью команды 'df -ih' проанализировать, на какой файловой системе закончились inode.

С помощью инструментов 'lsof', 'ps' и /proc/PID/fd продиагностировать, какими процессами активно используются inode.

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

SystemDiskInodesFull

KeyStack - System

node_exporter

node_filesystem_files_free / node_filesystem_files

Warning, если занято >=85% inodes

Critical, если занято >= 95% inodes

Node

Средняя нагрузка за 15 минут

Виртуальные машины на узле стали потреблять больше ресурсов процессора, чем раньше

Виртуальные машины могут получать меньше процессорного времени, что может вызвать снижение их отзывчивости

Может расти значение iowait time, steal time в выводе утилит подобных top

С помощью 'htop' или 'top' выявить наиболее активных потребителей процессорного времени.

Проанализировать исторические данные по нагрузке на процессор.

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

Проверить работу сервиса DRS: сервис мог не успеть отработать (или по иным причинам не стал распределять ВМ по гипервизорам) и требуется ручное перераспределение ВМ.

SystemLoadTooHigh

KeyStack - System

node_exporter

(node_load15) / count by (instance) (count by (cpu, instance) (node_cpu_seconds_total))

Warning, если отношение средней нагрузки за 15 мин к количеству ядер > 1

Critical, если отношение средней нагрузки за 15 мин к количеству ядер > 2

Node

Использование оперативной памяти

Повышенное давление на память узла

Может наступить событие Out-Of-Memory с принудительным завершением процессов с низким приоритетом у планировщика ядра

Проанализировать графики загрузки памяти.

С помощью 'htop' или 'top' выявить наиболее активных потребителей памяти.

Диагностировать процессы на предмет утечки памяти.

Оценить значения в '/proc/meminfo': распределение страниц памяти, '/proc/buddyinfo': фрагментацию памяти разного порядка.

Оценить необходимость миграции ВМ на другой гипервизор.

SystemMemoryFull

KeyStack - System

node_exporter

(1 - (node_memory_MemFree_bytes + node_memory_Cached_bytes + node_memory_Buffers_bytes) / node_memory_MemTotal_bytes) * 100 and node_memory_MemAvailable_bytes

Warning, если занято > 90% ОЗУ и свободно < 8Gb ОЗУ

Critical, если занято > 95% ОЗУ и свободно < 4Gb ОЗУ

Node

Количество отбрасываемых пакетов на приём

Может означать ошибку в конфигурации сетевых интерфейсов

Может означать неисправность физического оборудования

Может снижаться скорость передачи данных по сети

Проверить состояние физического оборудования: состояние патч-кордов, патч-панелей, сетевой карты, порта коммутатора.

Проверить настройки порта на коммутаторе.

Проверить настройки сетевого интерфейса.

SystemRxPacketsDroppedTooHigh

KeyStack - System

node_exporter

node_network_receive_drop_total

Warning, если количество потерянных пакетов > 60 в мин

Node

Количество отбрасываемых пакетов на отправку

Может означать ошибку в конфигурации сетевых интерфейсов

Может означать неисправность физического оборудования

Может снижаться скорость передачи данных по сети

Проверить состояние физического оборудования: состояние патч-кордов, патч-панелей, сетевой карты, порта коммутатора.

Проверить настройки порта на коммутаторе.

Проверить настройки сетевого интерфейса.

SystemTxPacketsDroppedTooHigh

KeyStack - System

node_exporter

node_network_transmit_drop_total

Warning, если количество потерянных пакетов > 60 в мин

Node

Количество пакетов с ошибками на получение

Может означать ошибку в конфигурации сетевых интерфейсов

Может означать неисправность физического оборудования

Может снижаться скорость передачи данных по сети

Проверить состояние физического оборудования: состояние патч-кордов, патч-панелей, сетевой карты, порта коммутатора.

Проверить настройки порта на коммутаторе.

Проверить настройки сетевого интерфейса.

SystemRxPacketsErrorTooHigh

KeyStack - System

node_exporter

node_network_receive_errs_total

Warning, если количество ошибок > 0

Node

Количество пакетов с ошибками на отправку

Может означать ошибку в конфигурации сетевых интерфейсов

Может означать неисправность физического оборудования

Может снижаться скорость передачи данных по сети

Проверить состояние физического оборудования: состояние патч-кордов, патч-панелей, сетевой карты, порта коммутатора.

Проверить настройки порта на коммутаторе.

Проверить настройки сетевого интерфейса.

SystemTxPacketsErrorTooHigh

KeyStack - System

node_exporter

node_network_transmit_errs_total

Warning, если количество ошибок > 0

Node

Рассинхронизация времени между узлом и источником времени

Рассинхронизация времени на узле и сетевым источником времени

Может вызывать нарушение в работе сервисов, которые зависят от синхронизации времени между узлами

В частности может происходить отказ keystone в авторизации

Проверить работоспособность NTP сервиса на узле.

Проверить, что в конфигурации NTP сервиса указаны корректные серверы времени.

Проверить сетевую доступность серверов времени.

Просмотреть содержимое лог-файлов NTP сервиса.

ClockSkewDetected

KeyStack - System

node_exporter

node_timex_offset_seconds

Warning, если расхождение времени > 0.03 сек

Node

Отсутствие синхронизации времени

Нет синхронизации с узлом сетевого времени

Может вызывать нарушение в работе сервисов, которые зависят от синхронизации времени между узлами

В частности может происходить отказ keystone в авторизации

Проверить работоспособность NTP сервиса на узле.

Проверить, что в конфигурации NTP сервиса указаны корректные серверы времени.

Проверить сетевую доступность серверов времени.

Просмотреть содержимое лог-файлов NTP сервиса.

HostClockNotSynchronising

KeyStack - System

node_exporter

node_timex_sync_status node_timex_maxerror_seconds

Warning, если часы на узле не синхронизируется (node_timex_sync_status = 0) и максимальная ошибка >= 16 сек

Node

Перезагрузка узла

Может означать недавнюю перезагрузку узла

Недоступность узла на время перезагрузки

Возможен неправомерный доступ, аппаратные и/или программные причины

В случае нештатной перезагрузки проанализировать журналы узла для выявления причин перезагрузки.

InstanceRebooted

KeyStack - System

node_exporter

(time() - node_boot_time_seconds)

Critical, если аптайм узла < 900 сек

Node

Код ответа на HTTP запросы к заданным эндпоинтам

Точки входа управляющих сущностей доступны по сети, но отдают неправильные коды ответа

Невозможность взаимодействия сервисов между собой

Проанализировать журналы keystone и других компонентов, влияющих на общение сервисов друг с другом через API (например haproxy, mariadb).

Проверить статус docker-контейнеров.

Проанализировать журналы docker-контейнеров.

BlackboxProbeHttpFailureMoreThan5min

KeyStack - System

blackbox_exporter

probe_http_status_code

Critical, если код ответа <= 199 или >= 402

Node

Утилизация CPU

Может означать высокое потребление процессорного времени каким-либо процессом

Узел оказался под нагрузкой

ВМ и управляющие процессы будут получать меньше процессорного времени, что может повлечь деградацию производительности или отказ в обслуживании

С помощью 'htop' или 'top' выявить наиболее активных потребителей процессорного времени.

Проанализировать исторические данные по нагрузке на процессор.

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

SystemCpuFull

KeyStack - System

node_exporter

node_cpu_seconds_total

Warning, если утилизация CPU >= 60%

Immediate, если утилизация CPU >= 80%

Critical, если утилизация CPU >= 90%

Node

Сбой ОЗУ

Сработала аппаратная коррекция памяти

Потенциально опасная ситуация

Может привести к непредвиденной потере данных

Перевести узел в режим обслуживания (maintenance mode), провести диагностику и анализ журналов.

При необходимости произвести замену модуля памяти.

HostEdacCorrectableErrorsDetected

KeyStack - System

node_exporter

increase(node_edac_correctable_errors_total[5m])

Info, если количество устранимых ошибок ОЗУ > 0

Node

Сбой ОЗУ

Обнаружена неисправимая ошибка в памяти

Опасная ситуация

Может привести к непредвиденной потере данных

Перевести узел в режим обслуживания (maintenance mode), провести диагностику и анализ журналов.

При необходимости произвести замену модуля памяти.

HostEdacUncorrectableErrorsDetected

KeyStack - System

node_exporter

increase(node_edac_uncorrectable_errors_total[5m])

Warning, если количество неустранимых ошибок ОЗУ > 0

Node

Статус сетевого интерфейса

Сетевой интерфейс перестал быть активным

Влияет на все функции работы узла

Необходимо подключиться к управляющему интерфейсу или консоли узла.

Проверить отсутствие ошибок аппаратного обеспечения.

Проверить функционирование операционной системы.

Проверить статус сетевых интерфейсов.

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

Host interface state

KeyStack - System

node_exporter

node_network_up{device=~"^mgmt|^external|^bond.+"}

Warning, если статус интерфейсов с именами mgmt, external, bond* != 1 (link down)

Node

Флаппинг сетевого интерфейса

Может означать ошибку в конфигурации сетевых интерфейсов

Может означать неисправность физического оборудования

Может снижаться скорость передачи данных по сети

Может влиять на сетевую доступность узла

Проверить отсутствие ошибок аппаратного обеспечения.

Проверить состояние физического оборудования: состояние патч-кордов, патч-панелей, сетевой карты, порта коммутатора.

Проверить настройки порта на коммутаторе.

Проверить настройки сетевого интерфейса.

Network interface flapping

KeyStack - System

node_exporter

node_network_carrier_changes_total

Warning, если > 1.6

Node

Сбой на устройстве файловой системы

Файловая система деградирует

Влияет на стабильность работы узла

Возможна потеря данных на файловой системе

Проанализировать журналы узла в dmesg.

Произвести диагностику дисковой системы.

При необходимости перевести узел в режим обслуживания (maintenance mode) для последующего ремонта.

HostFilesystemDeviceError

KeyStack - System

node_exporter

node_filesystem_device_error

Critical, если значение = 1

Node

Наличие событий OOM kill

Аварийное состояние узловой системы

Повышенное давление на память узла

Влияет на стабильность работы узла

На узле проверить состояние процессов с помощью инструментов top, htop, ps.

Проанализировать журнал dmesg.

Определить процессы с повышенным потреблением памяти.

Определить процессы с растущим потреблением памяти.

При необходимости уменьшить нагрузку на узел.

HostOomKillDetected

KeyStack - System

node_exporter

node_vmstat_oom_kill

Warning, если значение > 0

Node

Установленный режим работы CPUfreq governor

Неоптимальный для ВМ режим работы центрального процессора

Неоптимальный для ВМ режим работы всего узла

Изменить настройки узла для смены режима работы центрального процессора на 'performance'.

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

При необходимости передать оборудование в ремонт.

CPUgovernorNotPerformanceMode

KeyStack - System

node_exporter

node_cpu_scaling_governor{governor!="performance"}

Warning, если количество ядер с режимом, отличным от performance, != 0

Node

Дубликат IPv4 на узлах

В сети обнаружено несколько узлов с одинаковым IP адресом

Нарушение сетевого взаимодействия узлов с одинаковыми IP адресами и остальным сетевым окружением

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

Для каждого затронутого узла установить уникальный IP адрес.

HostDuplicateIPAddressDetected

KeyStack - System

node_exporter

count by (address) (node_network_address_info{scope="global"})

Node

Состояние узла

Недоступность узла

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

Необходимо подключиться к управляющему интерфейсу или консоли узла.

Проверить отсутствие ошибок аппаратного обеспечения.

Проверить функционирование операционной системы.

Проверить статус сетевых интерфейсов.

Проанализировать журналы на узле на предмет ошибок.

Host state

KeyStack - System

node_exporter

up{job!~"redfish_exporter|blackbox_exporter.*"}

Warning, если sum by (node_address) = 0 в течение 5 мин

Node

Состояние узла

Узел выключен или неработоспособность экспортёра

Недоступность гипервизора или управляющей ноды

Отсутствие мониторинга и сбора метрик с узла

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

Убедиться в работоспособности контейнера node.

Проверить журналы контейнера.

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

NodeExporterTargetDown

KeyStack - System

node_exporter

up{job="node"}

Warning, если = 0 в течение 5 мин

Node

Состояние сетевых bond

Агрегированный интерфейс не активен

Влияет на все функции работы узла

Проверить состояние физического оборудования: состояние патч-кордов, патч-панелей, сетевой карты, порта коммутатора.

Проверить настройки и режим работы агрегации.

Проверить настройки порта на коммутаторе.

Host Network Bond Degraded

KeyStack - System

node_exporter

node_bonding_active - node_bonding_slaves

Warning, если разница между количеством активных интерфейсов и количеством резервных != 0

Node

Утилизация сетевого интерфейса

Высокая нагрузка на сеть

Потенциально может привести к недоступности узла или облака

Проанализировать потребление сетевого трафика на узле, например с помощью инструмента 'iftop'.

Проанализировать сетевые подключения с помощью инструмента 'ss'.

High network utilization

KeyStack - System

node_exporter

((rate(node_network_transmit_bytes_total{device=~"^bond.+|^mgmt"}[5m]) + rate(node_network_receive_bytes_total{device=~"^bond.+|^mgmt"}[5m])) / node_network_speed_bytes{device=~"^bond.+|^mgmt"}) * 100

Warning, если загрузка сетевого интерфейса > 70% от пропускной способности

Immediate, если загрузка сетевого интерфейса > 80% от пропускной способности

Critical, если загрузка сетевого интерфейса > 90% от пропускной способности

Node

Ошибки линка FC

Сбой в работе FibreChannel соединения

Возможно замедление или полная блокировка работы блочных устройств ВМ

Проанализировать журнал dmesg.

Проверить отсутствие ошибок аппаратного обеспечения.

Проверить состояние физического оборудования: состояние патч-кордов, патч-панелей, FC-адаптера, порта коммутатора.

Проанализировать журналы FC-фабрик.

FC link failure

KeyStack - System

node_exporter

node_fibrechannel_link_failure_total

Warning, если в течение 5 мин количество ошибок > 0

Node

Потеря сигнала FC

Сбой в работе FibreChannel соединения

Возможно замедление или полная блокировка работы блочных устройств ВМ

Проанализировать журнал dmesg.

Проверить отсутствие ошибок аппаратного обеспечения.

Проверить состояние физического оборудования: состояние патч-кордов, патч-панелей, FC-адаптера, порта коммутатора.

Проанализировать журналы FC-фабрик.

FC loss signal

KeyStack - System

node_exporter

node_fibrechannel_loss_of_signal_total

Warning, если в течение 5 мин значение > 0

Node

Срок действия SSL сертификата

Срок действия SSL сертификата в цепочке истекает в течение 90 дней

Влияет на работоспособность и доступность сервисов облака

Проверить срок действия каждого сертификата в цепочке.

При необходимости выпустить новый сертификат и произвести его замену.

SSL certificate expiration soon

KeyStack - System

blackbox_exporter

probe_ssl_earliest_cert_expiry{job="blackbox_exporter"} - time()

Warning, если до окончания срока действия сертификата < 30 и > 29 дней

Critical, если до окончания срока действия сертификата < 14 дней

Node

Сетевая недоступность nova-api

Точки входа управляющих сущностей или недоступны по сети, или отдают неправильные коды ответа

Невозможность взаимодействия сервисов между собой на затронутых узлах

Проверить сетевую связность между управляющими узлами и корректность маршрутов.

Проверить статус контейнера nova_api на соответствующем управляющем узле.

Проверить журналы контейнера.

BlackboxProbeHttpNovaApi

KeyStack - System

blackbox_exporter

probe_http_status_code{job="blackbox_exporter_blackhole_check"}

Critical, если код ответа <= 199 или >= 402

Region

Утилизация vCPU на узле с учётом переподписки

Переподписка на ресурсы процессора превышает допустимую норму

Возможно замедление работы и повышенная нагрузка на центральный процессор, и потенциально потеря данных в случайных процессах

С помощью 'htop' или 'top' выявить наиболее активных потребителей процессорного времени.

Проанализировать исторические данные по нагрузке на процессор.

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

Проверить работу сервиса DRS: сервис мог не успеть отработать (или по иным причинам не стал распределять ВМ по гипервизорам) и требуется ручное перераспределение ВМ.

Cluster CPU oversubscription

KeyStack - System

openstack_exporter

openstack_placement_resource_usage{resourcetype="VCPU"} / (openstack_placement_resource_total{resourcetype="VCPU"} * 100

Warning, если утилизировано с учётом переподписки > 90% vCPU

Region

Утилизация памяти на узле с учётом переподписки

Высокое использование памяти на гипервизорах

Возможно замедление работы ВМ, возможны локальные сбои в работе

Возможны события Out Of Memory

Проанализировать графики загрузки памяти.

С помощью 'htop' или 'top' выявить наиболее активных потребителей памяти.

Диагностировать процессы на предмет утечки памяти.

Оценить значения в '/proc/meminfo': распределение страниц памяти, '/proc/buddyinfo': фрагментацию памяти разного порядка.

Проверить работу сервиса DRS: сервис мог не успеть отработать (или по иным причинам не стал распределять ВМ по гипервизорам) и требуется ручное перераспределение ВМ.

Cluster memory oversubscription

KeyStack - System

openstack_exporter

openstack_placement_resource_usage{resourcetype="MEMORY_MB"} / (openstack_placement_resource_total{resourcetype="MEMORY_MB"} *100

Immediate, если на узле утилизировано с учётом переподписки >= 90% памяти

Node

Состояние systemd сервиса на узле

Systemd сервис был остановлен

Отказоустойчивость облака или доступность сервисов может быть нарушена

Зайти на узел и посмотреть статус сервиса.

Посмотреть вывод journalctl по данному сервису.

Посмотреть журналы сервиса.

Проверить конфигурацию сервиса.

SystemdServiceStopped

KeyStack - Systemd

node_exporter

node_systemd_unit_state{state="active"}

Warning, если = 0

Node

Состояние systemd сервиса на всех узлах

Systemd сервис был остановлен

Отказоустойчивость облака или доступность сервисов может быть нарушена

Зайти на узел и посмотреть статус сервиса.

Посмотреть вывод journalctl по данному сервису.

Посмотреть журналы сервиса.

Проверить конфигурацию сервиса.

SystemdServiceOutage

KeyStack - Systemd

node_exporter

node_systemd_unit_state{state="active"}

Critical, если sum by (name) = 0

Node

Состояние systemd сервиса на узле

Зафиксирован перезапуск Systemd сервиса

Отказоустойчивость облака или доступность сервисов может быть нарушена

Зайти на узел и посмотреть статус сервиса.

Посмотреть вывод journalctl по данному сервису.

Посмотреть журналы сервиса.

Проверить конфигурацию сервиса.

SystemdServiceRestarts

KeyStack - Systemd

node_exporter

rate(node_systemd_service_restart_total[5m])

Warning, если > 0

OpenStack

Компонент

Что проверяется

Что означает алерт

На что влияет

Необходимые действия

Имя алерта

Группа алерта

Экспортёр

Метрика

Порог алерта

Cinder

Состояние cinder-агента на узле

Сбой работы агента работы с блочными хранилищами

Могут не подключаться новые хранилища к узлу

Возможен сбой запуска ВМ

Убедиться в работоспособности контейнера cinder_*.

Проверить журналы контейнера.

Проверить состояние RabbitMQ.

CinderServiceDown

KeyStack - Cinder

openstack_exporter

openstack_cinder_agent_state{adminState="enabled"}

Warning, если статус cinder-агента установлен в enabled, но его текущий статус = 0 (cinder-агент не запущен на данном узле)

Cinder

Состояние cinder-агентов в регионе

Сбой работы агента работы с блочными хранилищами

Могут не подключаться новые хранилища к узлу

Возможен сбой запуска ВМ

Убедиться в работоспособности контейнера cinder_*.

Проверить журналы контейнера.

Проверить состояние RabbitMQ.

CinderServiceOutage

KeyStack - Cinder

openstack_exporter

sum by (service) (openstack_cinder_agent_state{adminState="enabled"})

Critical, если статус cinder-агентов установлен в enabled, но текущий статус всех cinder-агентов = 0 (во всём регионе нет ни одного запущенного cinder-агента)

Cinder

Статус cinder-агентов в регионе

Сбой работы агента работы с блочными хранилищами

Могут не подключаться новые хранилища к узлу

Возможен сбой запуска ВМ

Убедиться в работоспособности контейнера cinder_*.

Проверить журналы контейнера.

Проверить состояние RabbitMQ.

CinderServiceDisabled

KeyStack - Cinder

openstack_exporter

count by (service)(openstack_cinder_agent_state{adminState="enabled"})

Critical, если количество cinder-агентов со статусом enable = 0 (все cinder-агенты в регионе отключены)

Cinder

Утилизация cinder-пула

Нехватка свободного места на системе хранения данных

Могут перестать создаваться новые ВМ

Ранее созданные ВМ могут быть остановлены

Возможна потеря данных внутри ВМ

Ситуация требует анализа

При необходимости освободить место либо расширить дисковую ёмкость.

CinderPoolFull

KeyStack - Cinder

openstack_exporter

(openstack_cinder_pool_capacity_total_gb - openstack_cinder_pool_capacity_free_gb) / openstack_cinder_pool_capacity_total_gb * 100

Warning, если > 80

Immediate, если > 90

Critical, если > 95

Cinder

Диск ВМ долго находится в статусе attaching

Диск ВМ длительное время не может сменить статус 'attaching' на статус 'in-use'

ВМ не может использовать диск

Возможно отключение дисков ВМ при неуспешных попытках миграции ВМ с диском в статусе 'attaching'

Убедиться в работоспособности контейнера cinder_*.

Проверить журналы контейнера.

Проверить состояние RabbitMQ.

CinderVolumeAttachingStateLongTime

KeyStack - Cinder

openstack_exporter

openstack_cinder_volume_gb{status="attaching"}

Warning, если статус не меняется более 5 мин

Cinder

Диск ВМ долго находится в статусе error

Диск ВМ длительное время находится в статусе 'error'

ВМ не может использовать диск

Убедиться в работоспособности контейнера cinder_*.

Проверить журналы контейнера.

Проверить состояние RabbitMQ.

CinderVolumeErrorStateLongTime

KeyStack - Cinder

openstack_exporter

openstack_cinder_volume_gb{status="error"}

Warning, если статус не меняется более 5 мин

Cinder

Зафиксирован снапшот старше 14 дней

Зафиксирован снапшот старше 14 дней

Повышенная утилизация дисковой ёмкости

Большое количество снапшотов может влиять на время выполнения некоторых запросов, связанных со снапшотами или дисковыми томами

Убедиться в необходимости хранения снапшота.

CinderSnapshotTooOld

KeyStack - Cinder

openstack_exporter

time() - openstack_cinder_snapshot

Warning, если > 14 дней

Nova

Состояние nova-агента на узле

Сбой агента сервиса работы с ВМ

Могут перестать создаваться новые ВМ

Ранее созданные ВМ могут остаться без управления

Убедиться в работоспособности контейнера nova_*.

Проверить журналы контейнера.

Проверить состояние RabbitMQ.

NovaServiceDown

KeyStack - Nova

openstack_exporter

openstack_nova_agent_state{adminState="enabled"}

Warning, если статус nova-агента установлен в enabled, но его текущий статус = 0 (nova-агент не запущен на данном узле)

Nova

Состояние nova-агентов в регионе

Сбой агента сервиса работы с ВМ

Могут перестать создаваться новые ВМ

Ранее созданные ВМ могут остаться без управления

Убедиться в работоспособности контейнера nova_*.

Проверить журналы контейнера.

Проверить состояние RabbitMQ.

NovaServiceOutage

KeyStack - Nova

openstack_exporter

sum by(service) (openstack_nova_agent_state{adminState="enabled"})

Critical, если статус nova-агентов установлен в enabled, но текущий статус всех nova-агентов = 0 (во всём регионе нет ни одного запущенного nova-агента)

Nova

Статус nova-агентов в регионе

Сбой агента сервиса работы с ВМ

Могут перестать создаваться новые ВМ

Ранее созданные ВМ могут остаться без управления

Убедиться в работоспособности контейнера nova_*.

Проверить журналы контейнера.

Проверить состояние RabbitMQ.

NovaServiceDisabled

KeyStack - Nova

openstack_exporter

count by (service)(openstack_nova_agent_state{adminState="enabled"})

Critical, если количество nova-агентов со статусом enable = 0 (все nova-агенты в регионе отключены)

Nova

Состояние nova-агента на узле

Отключен сервис агента работы с ВМ

Могут перестать создаваться новые ВМ

Ранее созданные ВМ могут остаться без управления

Проанализировать причину отключения, указанную в статусе агента.

Убедиться в работоспособности контейнера nova_*.

Проверить журналы контейнера.

Убедиться в работоспособности контейнера libvirt_*.

Проверить журналы контейнера.

Проверить состояние RabbitMQ.

NovaServiceAutoDisabled

KeyStack - Nova

openstack_exporter

openstack_nova_agent_state{disabledReason=~"AUTO:.+|BOND_DISABLED:.+|FENCED:.+"}

Warning, если в течение 5 мин nova agent имеет соответствующие disabledReason

Nova

Перевод гипервизора в Maintenance mode

Гипервизор был переведен в режим обслуживания

Гипервизор не готов для рабочих нагрузок

Проверить, что перевод гипервизора в режим обслуживания (Maintenance mode) был произведён в плановом порядке.

Проверить корректность миграции ВМ на остальные гипервизоры.

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

ComputeNodeInMM

KeyStack - Nova

openstack_exporter

openstack_nova_agent_state{adminState="disabled",disabledReason="maintenance mode.*|Service was transitioned to MaintenanceMode.",service="nova-compute"}

Warning, если условие выполняется

Nova

Гипервизор не смог перейти в Maintenance mode

Гипервизор не смог перейти в режим обслуживания

Гипервизор не готов для рабочих нагрузок

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

Проанализировать журналы для выявления причины изменения режима работы.

Проанализировать журналы и значение error_details для выявления причины невозможности изменения режима работы.

ComputeNodeToMMerror

KeyStack - Nova

openstack_exporter

openstack_nova_agent_state{adminState="disabled",disabledReason="Service was transitioned to Error.",service="nova-compute"}

Warning, если условие выполняется

Neutron

Состояние neutron-агента на узле

Сбой работы агента работы с виртуальными сетями

Возможно нарушение сетевой связности с ВМ

Возможен сбой при создании новых ВМ

Убедиться в работоспособности контейнера neutron_*.

Проверить журналы контейнера.

Проверить состояние RabbitMQ.

NeutronServiceDown

KeyStack - Neutron

openstack_exporter

openstack_neutron_agent_state{adminState="up"}

Warning, если статус neutron-агента установлен в up, но его текущий статус = 0 (neutron-агент не запущен на данном узле)

Neutron

Состояние neutron-агентов в регионе

Сбой работы агента работы с виртуальными сетями

Возможно нарушение сетевой связности с ВМ

Возможен сбой при создании новых ВМ

Убедиться в работоспособности контейнера neutron_*.

Проверить журналы контейнера.

Проверить состояние RabbitMQ.

NeutronServiceOutage

KeyStack - Neutron

openstack_exporter

sum by(service) (openstack_neutron_agent_state{adminState="up"})

Critical, если статус neutron-агентов установлен в up, но текущий статус всех neutron-агентов = 0 (во всём регионе нет ни одного запущенного neutron-агента)

Neutron

Статус neutron-агентов в регионе

Сбой работы агента работы с виртуальными сетями

Возможно нарушение сетевой связности с ВМ

Возможен сбой при создании новых ВМ

Убедиться в работоспособности контейнера neutron_*.

Проверить журналы контейнера.

Проверить состояние RabbitMQ.

NeutronServiceDisabled

KeyStack - Neutron

openstack_exporter

count by (service)(openstack_neutron_agent_state{adminState="up"})

Critical, если количество neutron-агентов со статусом up = 0 (все neutron-агенты в регионе отключены)

Nova

Состояние libvirt exporter

Может означать:

неработоспособность экспортёра и невозможность отдавать метрики

недоступность узла

Отсутствие мониторинга и сбора метрик ВМ

Убедиться в работоспособности контейнеров libvirt.

Проверить журналы контейнера.

LibvirtDown

KeyStack - Libvirt

libvirt_exporter

libvirt_up

Critical, если статус !=1 (экспортёр выключен)

Nova

Сбор всех метрик с libvirt exporter с узла

Может означать:

неработоспособность экспортёра и невозможность отдавать метрики

недоступность узла

Сбой в сети

Отсутствие мониторинга и сбора метрик ВМ

Убедиться в работоспособности контейнеров libvirt.

Проверить журналы контейнера.

LibvirtExporterTargetDown

KeyStack - Libvirt

node_exporter

avg_over_time(max by (instance) (up{job="libvirt_exporter"})[5m:30s])

Critical, если среднее количество успешных сборов метрик на определённом узле < 0.85 (наблюдается пропуск сбора метрик на узле)

Nova

Сбор всех метрик с libvirt exporter со всех узлов

Может означать:

неработоспособность экспортёра и невозможность отдавать метрики

недоступность узла

Сбой в сети

Отсутствие мониторинга и сбора метрик ВМ

Убедиться в работоспособности контейнеров libvirt.

Проверить журналы контейнера.

LibvirtExporterTargetOutage

KeyStack - Libvirt

node_exporter

max(avg_over_time(max by (instance) (up{job="libvirt_exporter"})[5m:30s]))

Critical, если среднее количество успешных сборов метрик для всех узлов < 0.85 (наблюдается пропуск сбора метрик на каком-то узле)

Haproxy

Состояние балансировщика

Неработоспособность балансировщика или сетевая недоступность балансировщика

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

Убедиться в работоспособности контейнера haproxy.

Проверить журналы контейнера haproxy.

HAProxyInstanceDown

KeyStack - HAproxy

haproxy_exporter

up{job="haproxy"}

Warning, если avg_over_time(max by (instance) (up{job="haproxy"})[5m:30s]) < 0.85

Haproxy

Состояние балансировщика

Неработоспособность балансировщика или сетевая недоступность балансировщика

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

Убедиться в работоспособности контейнеров haproxy.

Проверить журналы контейнера.

Проверить конфигурацию балансировщика.

HAProxyInstanceOutage

KeyStack - HAproxy

haproxy_exporter

up{job="haproxy"}

Critical, если max(avg_over_time(max by (instance) (up{job="haproxy"})[5m:30s])) < 0.85

Haproxy

Состояние бэкенда на балансировщике

Неработоспособность бэкенда (сервиса) или его сетевая недоступность на всех узлах (во всём пуле балансировки)

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

Убедиться в работоспособности контейнера haproxy.

Проверить журналы контейнера haproxy.

Убедиться в работоспособности docker-контейнера соответствующего бэкенда (сервиса).

Проверить журналы контейнера соответствующего бэкенда.

Проверить конфигурацию соответствующего бэкенда.

HAProxyBackendDown

KeyStack - HAproxy

haproxy_exporter

haproxy_backend_status

Critical, если haproxy_backend_status{state!="UP"} = 1

Haproxy

Состояние сервера в пуле на балансировщике

Неработоспособность бэкенда (сервиса) или его сетевая недоступность

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

Убедиться в работоспособности и доступности соответствующего узла.

Убедиться в работоспособности docker-контейнера соответствующего бэкенда (сервиса).

Проверить журналы контейнера соответствующего бэкенда.

Проверить конфигурацию соответствующего бэкенда.

Убедиться в работоспособности контейнера haproxy.

Проверить журналы контейнера haproxy.

HAProxyServerDown

KeyStack - HAproxy

haproxy_exporter

haproxy_server_status

Critical, если haproxy_server_status{state!="UP"} = 1

Haproxy

Результаты health check балансировщика

Не пройдена проверка health check для сервера (бэкенда) в пуле балансировки

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

Убедиться в работоспособности контейнера haproxy.

Проверить журналы контейнера haproxy.

Убедиться в работоспособности docker-контейнера соответствующего бэкенда (сервиса).

Проверить журналы контейнера соответствующего бэкенда.

HAProxyServerHealthcheckFailure

KeyStack - HAproxy

haproxy_exporter

sum by (proxy, server) (rate(haproxy_server_check_failures_total[5m]))

Warning, если количество непройденных тестов за 5 мин > 0

Haproxy

Наличие ошибок со статусом 5хх в ответе бэкендов

Сбой в работе БД или иных компонентов сервиса

Переполнение по количеству запросов

Неработоспособность сервисов или облака в целом

Проверить сетевую доступность соответствующего узла.

Проверить статус сетевых интерфейсов узла.

Убедиться в работоспособности docker-контейнера соответствующего бэкенда (сервиса).

Проверить журналы контейнера.

Проверить, что соответствующий бэкенд слушает правильный сетевой порт.

Убедиться в работоспособности контейнера haproxy.

Проверить журналы контейнера.

Проверить конфигурацию haproxy.

HAProxyHigh5xxErrorRateBackend

KeyStack - HAproxy

haproxy_exporter

(sum by (proxy, instance) (rate(haproxy_backend_http_responses_total{code="5xx"}[10m])) / sum by (proxy, instance) (rate(haproxy_backend_http_responses_total[10m]))) * 100

Warning, если для бэкенда в течение 10 мин количество ответов со статусом 5хх > 5

Haproxy

Наличие ошибок со статусом 5хх в ответе фронтендов

Высокая нагрузка, сбой haproxy

Недоступность фронтенда

Проверить сетевую доступность соответствующего узла.

Проверить статус сетевых интерфейсов узла.

Убедиться в работоспособности docker-контейнера соответствующего фронтенда (сервиса).

Проверить журналы контейнера.

Проверить, что соответствующий фронтенд слушает правильный сетевой порт.

Убедиться в работоспособности контейнера haproxy.

Проверить журналы контейнера.

Проверить конфигурацию haproxy.

HAProxyHigh5xxErrorRateFrontend

KeyStack - HAproxy

haproxy_exporter

(sum by (proxy, instance) (rate(haproxy_frontend_http_responses_total{code="5xx"}[10m])) / sum by (proxy, instance) (rate(haproxy_frontend_http_responses_total[10m]))) * 100

Warning, если для фронтенда в течение 10 мин количество ответов со статусом 5хх > 5

Haproxy

Время ответа от бэкенда keystone

Повышенная нагрузка на keystone или медленная работа самого сервиса

Возможно нарушение работы сервисов и сбой облака

Провести диагностику нагрузки по памяти и центральному процессору на управляющих узлах.

Проанализировать журналы keystone и его docker-контейнера.

Проанализировать нагрузку по управляющей сети.

Проанализировать журналы haproxy и его docker-контейнера.

HAProxyKeystoneBackendSlowingDown

KeyStack - HAproxy

haproxy_exporter

avg by (proxy, instance) (haproxy_backend_total_time_average_seconds{proxy=~"keystone_.*"}

Warning, если время ответа keystone > 1 сек

Haproxy

Флаппинг статуса сервера

Может означать ошибку в конфигурации бэкенда (сервиса) или его сетевую недоступность

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

Убедиться в работоспособности и доступности соответствующего узла.

Убедиться в работоспособности docker-контейнера соответствующего бэкенда (сервиса).

Проверить журналы контейнера соответствующего бэкенда.

Проверить конфигурацию соответствующего бэкенда.

Убедиться в работоспособности контейнера haproxy.

Проверить журналы контейнера haproxy.

HAProxyBackendFlapping

KeyStack - HAproxy

haproxy_exporter

haproxy_server_check_up_down_total[2m]

Warning, если rate(haproxy_server_check_up_down_total[2m]) > 0

VictoriaMetrics

Компонент

Что проверяется

Что означает алерт

На что влияет

Необходимые действия

Имя алерта

Группа алерта

Экспортёр

Метрика

Порог алерта

VMAgent

Состояние vmagent

VMAgent не успевает своевременно отправлять данные в удалённое хранилище метрик и удалил часть данных из постоянной очереди

Частичная потеря данных мониторинга за какой-то период времени

Проверить доступность и работоспособность удалённых хранилищ метрик, указанных в параметре '-remoteWrite.url' команды запуска VMAgent.

Проанализировать производительность дисковой подсистемы передающей и принимающей сторон.

Проанализировать скорость передачи данных по сети и утилизацию сетевых интерфейсов.

Проанализировать журналы контейнеров *vmagent и *vmstorage.

VMPersistentQueueIsDroppingData

Keystack -VMAgent

victoriametrics

sum(increase(vm_persistentqueue_bytes_dropped_total[5m]))

Critical > 0

VMAgent

Состояние vmagent

VMAgent отбрасывает блоки данных, отклоненные удалённым хранилищем

Частичная потеря данных мониторинга за какой-то период времени

Проанализировать журналы контейнеров *vmagent для диагностики причины отклонения данных удалённым хранилищем.

VMRejectedRemoteWriteDataBlocksAreDropped

Keystack -VMAgent

victoriametrics

sum(increase(vmagent_remotewrite_packets_dropped_total[5m]))

Warning > 0

VMAgent

Состояние vmagent

VMAgent не смог собрать метрики с одного или нескольких экспортёров (targets) за последние 15 мин

Отсутствие мониторинга и сбора метрик некоторых компонентов

Проанализировать журналы контейнера *vmagent для диагностики недоступного экспортёра (target).

Убедиться в корректности перечня таргетов, а также параметров соответствующего задания (job) в конфигурационном файле vmagent.

Проверить доступность и работоспособность соответствующего экспортёра.

VMTooManyScrapeErrors

Keystack -VMAgent

victoriametrics

increase(vm_promscrape_scrapes_failed_total[5m])

Warning > 0

VMAgent

Состояние vmagent

В конфигурационном файле VMAgent одно или несколько заданий (job) не содержит перечня экспортёров (targets) для сбора метрик

Отсутствие мониторинга и сбора метрик некоторых компонентов

Проанализировать и проверить конфигурацию региона.

Проанализировать и проверить inventory региона.

Проанализировать кем и когда вносились последние изменения в конфигурационный файл VMAgent.

VMScrapePoolHasNoTargets

Keystack -VMAgent

victoriametrics

sum(vm_promscrape_scrape_pool_targets)

Warning == 0

VMAgent

Состояние vmagent

VMAgent отвечает ошибками на запросы записи данных в удалённое хранилище

Частичная потеря данных мониторинга за какой-то период времени

Проанализировать журналы контейнеров *vmagent.

Проанализировать журналы контейнеров victoriametrics_*.

Проанализировать утилизацию вычислительных ресурсов, на которых размещаются компоненты VictoriaMetrics, а также сетевую связность между ними.

VMTooManyWriteErrors

Keystack -VMAgent

victoriametrics

sum(increase(vm_ingestserver_request_errors_total[5m]))+ sum(increase(vmagent_http_request_errors_total[5m]))

Warning > 0

VMAgent

Состояние vmagent

Высокая утилизация соединения между vmagent и удалённым хранилищем

Частичная потеря данных мониторинга за какой-то период времени

Проанализировать производительность дисковой подсистемы передающей и принимающей сторон.

Проанализировать скорость передачи данных по сети и утилизацию сетевых интерфейсов.

Проанализировать утилизацию вычислительных ресурсов принимающей стороны.

Проанализировать необходимость увеличения параметра '-remoteWrite.queues' команды запуска VMAgent.

VMRemoteWriteConnectionIsSaturated

Keystack -VMAgent

victoriametrics

rate(vmagent_remotewrite_send_duration_seconds_total[5m]) / vmagent_remotewrite_queues)

Warning > 0.9

VMAgent

Состояние vmagent

Увеличенное время записи в постоянную очередь

VMAgent может не успевать записывать данные из оперативной памяти на дисковую подсистему

Частичная потеря данных мониторинга за какой-то период времени

Проанализировать нагрузку на vmagent.

Проанализировать производительность дисковой подсистемы vmagent.

VMPersistentQueueForWritesIsSaturated

Keystack -VMAgent

victoriametrics

rate(vm_persistentqueue_write_duration_seconds_total[5m])

Warning > 0.9

VMAgent

Состояние vmagent

Увеличенное время чтения из постоянной очереди

VMAgent может не успевать считывать данные с дисковой системы

Частичная потеря данных мониторинга за какой-то период времени

Проанализировать нагрузку на vmagent.

Проанализировать производительность дисковой подсистемы vmagent.

VMPersistentQueueForReadsIsSaturated

Keystack -VMAgent

victoriametrics

rate(vm_persistentqueue_read_duration_seconds_total[5m])

Warning > 0.9

VMAgent

Состояние vmagent

Неуспешное обновление конфигурации vmagent

Отсутствие мониторинга и сбора метрик некоторых компонентов

Проанализировать журналы контейнера *vmagent.

VMConfigurationReloadFailure

Keystack -VMAgent

victoriametrics

vm_promscrape_config_last_reload_successful vmagent_relabel_config_last_reload_successful

Warning vm_promscrape_config_last_reload_successful !=1 or vmagent_relabel_config_last_reload_successful !=1

VMAgent

Состояние vmagent

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

Частичная потеря данных мониторинга за какой-то период времени

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

Проанализировать значение параметра '-remoteWrite.maxHourlySeries' команды запуска VMAgent для удалённого хранилища.

VMSeriesLimitHourReached

Keystack -VMAgent

victoriametrics

vmagent_hourly_series_limit_current_series / vmagent_hourly_series_limit_max_series)

Warning > 0.9

VMAgent

Состояние vmagent

Число уникальных временных рядов записанных в удалённое хранилище за предыдущие сутки приближается к установленному максимальному значению

Частичная потеря данных мониторинга за какой-то период времени

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

Проанализировать значение параметра '-remoteWrite.maxDailySeries' команды запуска VMAgent для удалённого хранилища.

VMSeriesLimitDayReached

Keystack -VMAgent

victoriametrics

(vmagent_daily_series_limit_current_series / vmagent_daily_series_limit_max_series)

Warning > 0.9

VMAgent

Состояние vmagent

Процесс агрегации сэмплов (samples) в режиме потоковой передачи не завершился в течение заданного интервала агрегации

Неверные результаты агрегации в целевом удалённом хранилище метрик

Проанализировать журналы контейнера *vmagent.

Проанализировать установленные интервалы агрегации в конфигурационном файле потоковой агрегации.

Возможные решения: увеличить интервал агрегации, агрегировать меньшее количество серий, уменьшить скорость приема сэмплов (samples) для потоковой агрегации.

VMStreamAggrFlushTimeout

Keystack -VMAgent

victoriametrics

increase(vm_streamaggr_flush_timeouts_total[5m])

Warning > 0

VMAgent

Состояние vmagent

Процесс дедупликации в режиме потоковой передачи не завершился в течение заданного интервала агрегации

Неверные результаты агрегации в целевом удалённом хранилище метрик

Проанализировать журналы контейнера *vmagent.

Проанализировать установленные интервалы дедупликации в конфигурационном файле потоковой агрегации.

Обратиться к разделу Deduplication документации VictoriaMetrics.

Возможные решения: увеличить интервал дедупликации, дедуплицировать меньшее количество серий, уменьшить скорость приема сэмплов (samples) для потоковой агрегации.

VMStreamAggrDedupFlushTimeout

Keystack -VMAgent

victoriametrics

increase(vm_streamaggr_dedup_flush_timeouts_total[5m])

Warning > 0

VMAlert

Состояние vmalert

Неуспешное обновление конфигурации vmalert

Отсутствие результата обработки правил и отправки уведомлений об алертах

Проанализировать журналы контейнера *vmalert.

VMConfigurationReloadFailure

Keystack - VMAlert

victoriametrics

vmalert_config_last_reload_successful

Warning != 1

VMAlert

Состояние vmalert

Не выполняется обработка правила оповещения (alert rule)

Отсутствие результата обработки правил и отправки уведомлений об алертах

Проанализировать журналы контейнера *vmalert.

VMAlertingRulesError

Keystack - VMAlert

victoriametrics

sum(increase(vmalert_alerting_rules_errors_total[5m]))

Warning > 0

VMAlert

Состояние vmalert

Не выполняется обработка правила записи (record rule)

Отсутствие результата обработки правил и расчёта метрик

Проанализировать журналы контейнера *vmalert.

VMRecordingRulesError

Keystack - VMAlert

victoriametrics

sum(increase(vmalert_recording_rules_errors_total[5m]))

Warning > 0

VMAlert

Состояние vmalert

Отсутствуют результаты выполнения правил записи (recording rules)

Отсутствие результата обработки правил и расчёта метрик

Отсутствие мониторинга и сбора метрик некоторых компонентов

Проанализировать запрос в правиле записи (recording rule).

Проанализировать данные, используемые в запросе.

VMRecordingRulesNoData

Keystack - VMAlert

victoriametrics

sum(vmalert_recording_rules_last_evaluation_samples)

info < 1

VMAlert

Состояние vmalert

Обработка группы правил занимает больше времени, чем установленный интервал

Отсутствие результата обработки правил и отправки уведомлений об алертах

Проанализировать время обработки группы правил.

Обратиться к разделу Groups документации vmalert.

Если выполнение правил занимает больше ожидаемого времени, обратиться к разделу Slow queries документации VictoriaMetrics.

VMTooManyMissedIterations

Keystack - VMAlert

victoriametrics

increase(vmalert_iteration_missed_total[5m])

Warning > 0

VMAlert

Состояние vmalert

Неуспешная отправка запросов на запись данных в удалённое хранилище

Частичная потеря данных мониторинга за какой-то период времени

Проанализировать журналы контейнеров *vmalert.

Проверить доступность и работоспособность удалённого хранилища метрик.

Убедиться в корректности параметров удалённого хранилища метрик в параметрах запуска VMAlert.

VMRemoteWriteErrors

Keystack - VMAlert

victoriametrics

increase(vmalert_remotewrite_errors_total[5m])

Warning > 0

VMAlert

Состояние vmalert

VMAlert не может отправить данные на запись в удалённое хранилище и отбрасывает их

Перегружен буфер клиента удалённой записи

Отсутствие результата обработки правил и отправки уведомлений об алертах

Отсутствие статусов алертов

Проанализировать журналы контейнеров *vmalert.

Проверить доступность и работоспособность удалённого хранилища метрик.

Убедиться в корректности параметров удалённого хранилища метрик в параметрах запуска VMAlert.

Проанализировать утилизацию вычислительных ресурсов удалённого хранилища.

VMRemoteWriteDroppingData

Keystack - VMAlert

victoriametrics

increase(vmalert_remotewrite_dropped_rows_total[5m])

Warning > 0

VMAlert

Состояние vmalert

VMAlert не может отправлять уведомления в Alertmanager

Отсутствие отправки уведомлений об алертах

Проанализировать журналы контейнеров *vmalert.

Проанализировать параметры команды запуска VMAlert.

Проанализировать доступность и работоспособность Alertmanager.

Проанализировать журналы контейнеров *alertmanager.

VMAlertmanagerErrors

Keystack - VMAlert

victoriametrics

increase(vmalert_alerts_send_errors_total[5m])

Warning > 0

VMCluster

Состояние кластера VictoriaMetrics

Зафиксированы ошибки в запросах к API

Некорректная работа с данными мониторинга

Проанализировать журналы контейнеров victoriametrics*.

Проанализировать конфигурацию компонента, получающего запросы с ошибками.

Проанализировать конфигурацию компонента, отправляющего запросы с ошибками.

Проанализировать содержимое запросов.

VMRequestErrorsToAPI

KeyStack - VMCluster

victoriametrics

increase(vm_http_request_errors_total[5m])

Warning > 0

VMCluster

Состояние кластера VictoriaMetrics

Зафиксированы ошибки во взаимодействии между компонентами кластера VictoriaMetrics

Отсутствие мониторинга и сбора метрик некоторых компонентов

Отсутствие предоставления данных мониторинга

Проанализировать журналы контейнеров victoriametrics*.

Проанализировать конфигурацию контейнеров victoriametrics*.

Проанализировать утилизацию вычислительных ресурсов, на которых размещаются компоненты VictoriaMetrics, а также сетевую связность между ними.

VMRPCErrors

KeyStack - VMCluster

victoriametrics

sum(increase(vm_rpc_connection_errors_total[5m])) + sum(increase(vm_rpc_dial_errors_total[5m])) + sum(increase(vm_rpc_handshake_errors_total[5m]))

Warning > 0

VMCluster

Состояние кластера VictoriaMetrics

VictoriaMetrics постоянно создает новые временные ряды

Частота изменений (Churn Rate) составляет более 10%

Снижение производительности базы данных, наличие событий OOM (Out of memory), медленные запросы

Проанализировать метки (labels) с наиболее часто изменяемыми данными.

Проанализировать возможность удаления или агрегации таких меток.

VMTooHighChurnRate

KeyStack - VMCluster

victoriametrics

sum(rate(vm_new_timeseries_created_total[5m])) by(job) / sum(rate(vm_rows_inserted_total[5m])) by(job))

Warning > 0.1

VMCluster

Состояние кластера VictoriaMetrics

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

Снижение производительности базы данных, наличие событий OOM (Out of memory), медленные запросы

Проанализировать метки (labels) с наиболее часто изменяемыми данными.

Проанализировать возможность удаления или агрегации таких меток.

VMTooHighChurnRate24h

KeyStack - VMCluster

victoriametrics

sum(increase(vm_new_timeseries_created_total[24h]))

Warning > (sum(vm_cache_entries{type="storage/hour_metric_ids"}) by(job) * 3)

VMCluster

Состояние кластера VictoriaMetrics

Высокий процент медленных операций insert относительного общего количества таких операций

Возможно нарушение корректного функционирования системы мониторинга

Проанализировать утилизацию вычислительных ресурсов, на которых размещаются компоненты VictoriaMetrics.

Проанализировать утилизацию оперативной памяти компонента vminsert.

Проанализировать текущую нагрузку на систему мониторинга.

Обратиться к GitHub issue в репозитории VictoriaMetrics.

VMTooHighSlowInsertsRate

KeyStack - VMCluster

victoriametrics

(sum(rate(vm_slow_row_inserts_total[5m])) by(job) / sum(rate(vm_rows_inserted_total[5m])) by(job))

Warning > 0.05

VMCluster

Состояние кластера VictoriaMetrics

Высокая утилизация соединения между vminsert и vmstorage

Возможно нарушение корректного функционирования системы мониторинга

Проанализировать утилизацию вычислительных ресурсов, на которых размещаются компоненты vminsert и vmstorage.

Проанализировать нагрузку на компоненты vminsert и vmstorage.

Проанализировать необходимость добавления в кластер узлов vminsert или vmstorage.

VMVminsertVmstorageConnectionIsSaturated

KeyStack - VMCluster

victoriametrics

rate(vm_rpc_send_duration_seconds_total[5m])

Warning > 0.9

VMCluster

Состояние кластера VictoriaMetrics

Нехватка свободного места на файловой системе

Нарушение процессов слияния и ухудшение общей производительности

Проанализировать возможность ограничения объёма принимаемых данных, уменьшения периода хранения данных или расширения дискового пространства.

VMDiskRunsOutOfSpace

KeyStack - VMCluster

victoriametrics

sum(vm_data_size_bytes) / (sum(vm_free_disk_space_bytes) + sum(vm_data_size_bytes) )

Critical > 0.8

Warning > 0.75

VMCluster

Состояние кластера VictoriaMetrics

В соответствии с текущим объёмом получаемых данных свободное место на диске закончится в течение трёх дней

Возможно нарушение корректного функционирования системы мониторинга

Проанализировать возможность ограничения объёма принимаемых данных, уменьшения периода хранения данных или расширения дискового пространства.

VMDiskRunsOutOfSpaceIn3Days

KeyStack - VMCluster

victoriametrics

sum(vm_free_disk_space_bytes) / ((rate(vm_rows_added_to_storage_total[1d]) - sum(rate(vm_deduplicated_samples_total[1d])) ) * (sum(vm_data_size_bytes{type!~"indexdb.*"}) / sum(vm_rows{type!~"indexdb.*"}) ) + rate(vm_new_timeseries_created_total[1d]) * scalar(sum(vm_data_size_bytes{type="indexdb/file"}) / sum(vm_rows{type="indexdb/file"}))) < 3 * 24 * 3600

Critical > 0

VMCluster

Состояние кластера VictoriaMetrics

В соответствии с текущим объёмом получаемых данных система мониторинга в течение трёх дней перейдёт в режим только для чтения

Частичная потеря данных мониторинга за какой-то период времени

Проанализировать возможность ограничения объёма принимаемых данных, уменьшения периода хранения данных или расширения дискового пространства.

VMNodeBecomesReadonlyIn3Days

KeyStack - VMCluster

victoriametrics

sum(vm_free_disk_space_bytes - vm_free_disk_space_limit_bytes) / ((rate(vm_rows_added_to_storage_total[1d]) - sum(rate(vm_deduplicated_samples_total[1d])) ) * (sum(vm_data_size_bytes{type!~"indexdb.*"}) / sum(vm_rows{type!~"indexdb.*"}) ) + rate(vm_new_timeseries_created_total[1d]) * scalar(sum(vm_data_size_bytes{type="indexdb/file"}) / sum(vm_rows{type="indexdb/file"}))) < 3 * 24 * 3600

Warning > 0

VMCluster

Состояние кластера VictoriaMetrics

Система мониторинга перешла в режим только для чтения

Частичная потеря данных мониторинга за какой-то период времени

С помощью команды 'du -hd1 /*' проанализировать размер каталогов/файлов.

Проанализировать возможность ограничения объёма принимаемых данных, уменьшения периода хранения данных.

При необходимости освободить место либо расширить файловую систему.

VMStorageIsReadonly

KeyStack - VMCluster

victoriametrics

vm_storage_is_read_only

Warning == 1

VMHealth

Состояние компонентов VictoriaMetrics

Компонент VictoriaMetrics часто перезапускается

Отсутствие мониторинга и сбора метрик некоторых компонентов

Отсутствие предоставления данных мониторинга

Проанализировать журналы контейнеров victoriametrics*.

Проанализировать конфигурацию компонентов.

VMTooManyRestarts

KeyStack - VMHealth

victoriametrics

changes(process_start_time_seconds{job="victoriametrics"}[15m])

Critical > 2

VMHealth

Состояние компонентов VictoriaMetrics

Один или несколько компонентов VictoriaMetrics выключен или неисправен на всех узлах

Отсутствие мониторинга и сбора метрик некоторых компонентов

Отсутствие предоставления данных мониторинга

Проанализировать журналы контейнеров victoriametrics*.

Проанализировать конфигурацию компонентов.

VMServiceDown

KeyStack - VMHealth

victoriametrics

(label_replace(up{job="victoriametrics"}

Critical sum by (service_port) == 0

Warning == 0

VMHealth

Состояние компонентов VictoriaMetrics

Количество открытых файлов приближается к установленному ограничению

Может означать повышенную нагрузку на компонент

Может означать некорректную конфигурацию

Проанализировать состояние компонентов VictoriaMetrics.

С помощью инструментов 'lsof', 'ps' и /proc/PID/fd продиагностировать какими файловыми дескрипторами пользуются процессы VictoriaMetrics.

При необходимости произвести перезагрузку затронутого компонента VictoriaMetrics или узла.

Проанализировать журналы узла и ядра.

Проанализировать необходимость увеличения ограничения.

VMProcessNearFDLimits

KeyStack - VMHealth

victoriametrics

process_open_fds{job="victoriametrics"} / process_max_fds{job="victoriametrics"} * 100

Critical > 90

VMHealth

Состояние компонентов VictoriaMetrics

Высокое потребление памяти компонентом VictoriaMetrics

Возможно нарушение корректного функционирования системы мониторинга, наличие событий OOM (Out of memory), снижение производительности

Проанализировать состояние компонентов VictoriaMetrics.

Проверить работу балансировщика (haproxy).

При необходимости произвести перезагрузку затронутого компонента VictoriaMetrics или узла.

VMTooHighMemoryUsage

KeyStack - VMHealth

victoriametrics

min_over_time(process_resident_memory_anon_bytes{job="victoriametrics"}[10m]) / vm_available_memory_bytes) * 100

Critical > 80

VMHealth

Состояние компонентов VictoriaMetrics

Высокое потребление ресурсов ЦП компонентом VictoriaMetrics

Возможно нарушение корректного функционирования системы мониторинга, снижение производительности

Проанализировать состояние компонентов VictoriaMetrics.

Проверить работу балансировщика (haproxy).

Проанализировать возможность ограничения объёма обрабатываемых данных.

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

VMTooHighCPUUsage

KeyStack - VMHealth

victoriametrics

rate(process_cpu_seconds_total{job="victoriametrics"}[5m]) / process_cpu_cores_available{job="victoriametrics"})

Critical > 0.9

VMHealth

Состояние компонентов VictoriaMetrics

Среда выполнения Go не может запланировать выполнение goroutines в приемлемое время

Возможно нарушение корректного функционирования системы мониторинга, снижение производительности

Проанализировать утилизацию вычислительных ресурсов, на которых размещаются компоненты VictoriaMetrics.

Проверить достаточность выделения ресурсов ЦП для компонентов VictoriaMetrics и отсутствие динамического изменения частоты ЦП (throttling) на узле.

VMTooHighGoroutineSchedulingLatency

KeyStack - VMHealth

victoriametrics

(histogram_quantile(0.99, sum(rate(go_sched_latencies_seconds_bucket{job="victoriametrics"}[5m])) by (le, job, instance))

Critical > 0.1

VMHealth

Состояние компонентов VictoriaMetrics

В журналах компонента VictoriaMetrics фиксируется большое количество записей с уровнем error

Возможно нарушение корректного функционирования системы мониторинга

Проанализировать журналы контейнеров victoriametrics*.

VMTooManyLogs

KeyStack - VMHealth

victoriametrics

sum(increase(vm_log_messages_total{level="error"}[5m])

Warning > 0

VMHealth

Состояние компонентов VictoriaMetrics

Количество одновременных операций insert приближается к установленному ограничению, зависящему от количества ЦП

Возможно нарушение корректного функционирования системы мониторинга

Проанализировать утилизацию вычислительных ресурсов, на которых размещаются компоненты VictoriaMetrics.

Для компонентов vmagent и vminsert проанализировать количество клиентов с запросами на запись.

При нормальной утилизации ЦП и сетевого соединения компонентами vmagent и vminsert рассмотреть необходимость настройки параметра '-maxConcurrentInserts' команды запуска соответствующего компонента.

VMConcurrentInsertsHitTheLimit

KeyStack - VMHealth

victoriametrics

avg_over_time(vm_concurrent_insert_current[5m])

Warning >= vm_concurrent_insert_capacity

VMHealth

Состояние компонентов VictoriaMetrics

IndexDB отклонил регистрацию поступивших временных рядов

Отсутствие мониторинга и сбора метрик некоторых компонентов

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

В качестве примера, 'reason=too_long_item' означает, что размер временного ряда превышает ограничение по умолчанию в 64 КБ.

В таком случае необходимо проанализировать возможность уменьшения количества меток (labels) или значений меток, либо увеличить ограничение с помощью параметров '-maxLabelsPerTimeseries' или '-maxLabelValueLen' команды запуска vmstorage.

VMIndexDBRecordsDrop

KeyStack - VMHealth

victoriametrics

increase(vm_indexdb_items_dropped_total[5m])

Critical > 0

VMHealth

Состояние компонентов VictoriaMetrics

Некоторые метрики были отклонены во время процесса записи

Отсутствие мониторинга и сбора метрик некоторых компонентов

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

VMRowsRejectedOnIngestion

KeyStack - VMHealth

victoriametrics

rate(vm_rows_ignored_total[5m])

Warning > 0

VMHealth

Состояние компонентов VictoriaMetrics

Запросы на чтение завершаются сбоем из-за тайм-аута

Достигнут предел параллелизма, установленный параметром '-search.maxConcurrentRequests', и остальные запросы были помещены в очередь на время, установленное параметром '-search.maxQueueDuration'

Но даже после ожидания в очереди эти запросы не были обработаны

Возможно нарушение корректного функционирования системы мониторинга, снижение производительности

Проанализировать утилизацию вычислительных ресурсов, на которых размещаются компоненты VictoriaMetrics.

Проанализировать время ответа компонента vmstorage.

Проанализировать возможность снижения нагрузки, увеличения количество реплик vmstorage, увеличения значения параметров '-search.maxConcurrentRequests', '-search.maxQueueDuration'.

Дополнительно обратиться к разделу Slow queries документации VictoriaMetrics.

VMTooHighQueryLoad

KeyStack - VMHealth

victoriametrics

increase(vm_concurrent_select_limit_timeout_total[5m])

Warning > 0

Middleware

Компонент

Что проверяется

Что означает алерт

На что влияет

Необходимые действия

Имя алерта

Группа алерта

Экспортёр

Метрика

Порог алерта

RabbitMQ

Очередь Unacknowledged Messages

Количество сообщений в очередях RabbitMQ, которые были доставлены потребителям, но ещё не подтверждены этими потребителями

Может влиять на производительность, надёжность и потребление ресурсов

Проверить в Grafana метрики rabbitmq_queue_messages_unacknowledged, rabbitmq_queue_messages_ready and rabbitmq_queue_messages.

Определить очереди, которые подверглись увеличению количества сообщений.

Посмотреть журналы RabbitMQ и потребителей.

RabbitMQUnacknowledgedMessagesIncrease

KeyStack - RabbitMQ

rabbitmq internal exporter

rabbitmq_queue_messages_unacked

Warning, если за последние 15 мин размер очереди увеличился на > 300 сообщений

RabbitMQ

Очередь Unroutable Messages

Количество сообщений, которые RabbitMQ пытался доставить в очередь, но не смог найти подходящую очередь и впоследствии были возвращены отправителю или удалены из очереди

Может увеличить нагрузку на сеть, потребление ресурсов и потерю сообщений

Потенциально влияет на весь регион

Проверить привязку очередей к обменникам (exchanges).

Удостовериться, что отправители (publishers) имеют правильные маршруты.

Проверить маршруты от отправителя к получателю.

Проверить конфигурацию RabbitMQ.

RabbitmqUnroutableMessages

KeyStack - RabbitMQ

rabbitmq internal exporter

increase(rabbitmq_channel_messages_unroutable_returned_total[5m]) + increase(rabbitmq_channel_messages_unroutable_dropped_total[5m])

Warning, если в течение 10 мин среднее значение unroutable_returned сообщений > 0

или, если в течение 10 мин среднее значение  unroutable_dropped сообщений > 5

RabbitMQ

Очередь Unroutable Messages

Увеличилось количество сообщений, которые не попадают под правила маршрутизации и впоследствии были возвращены отправителю

Может увеличить нагрузку на сеть, потребление ресурсов и потерю сообщений

Потенциально влияет на весь регион

Проверить привязку очередей к обменникам (exchanges).

Удостовериться, что отправители (publishers) имеют правильные маршруты.

Проверить маршруты от отправителя к получателю.

Проверить конфигурацию RabbitMQ.

RabbitMQUnroutableReturnedMessagesIncrease

KeyStack - RabbitMQ

rabbitmq internal exporter

increase(rabbitmq_channel_messages_unroutable_returned_total[5m])

Warning, если в течение 10 мин в очереди прибавилось > 5 unroutable_returned сообщений

RabbitMQ

Очередь Unroutable Messages

Увеличилось количество сообщений, которые не попадают под правила маршрутизации и впоследствии были удалены из очереди

Может увеличить нагрузку на сеть, потребление ресурсов и потерю сообщений

Потенциально влияет на весь регион

Проверить привязку очередей к обменникам (exchanges).

Удостовериться, что отправители (publishers) имеют правильные маршруты.

Проверить маршруты от отправителя к получателю.

Проверить конфигурацию RabbitMQ.

RabbitMQUnroutableDroppedMessagesIncrease

KeyStack - RabbitMQ

rabbitmq internal exporter

increase(rabbitmq_channel_messages_unroutable_dropped_total[5m])

Warning, если в течение 10 мин в очереди прибавилось > 50 unroutable_dropped сообщений

RabbitMQ

Размер очередей

Значительно увеличилось общее количество сообщений, находящихся в очереди, включая готовые и неподтверждённые сообщения

Рост количества сообщений влияет на быстродействие всего кластера, потребление ресурсов и отзывчивость кластера

Проанализировать состояние сервиса RabbitMQ.

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

Проверить работу балансировщика (haproxy), выделение ресурсов, конфигурацию очередей.

При необходимости произвести оптимизацию потребителей.

При необходимости произвести перезагрузку какого-либо сервиса RabbitMQ или узла кластера.

RabbitMQQueueMessagesIncrease

KeyStack - RabbitMQ

rabbitmq internal exporter

rabbitmq_queue_messages

Warning, если за последние 10 мин размер очереди увеличился на > 300 сообщений

RabbitMQ

Размер очередей

Общее количество сообщений, находящихся в очереди, включая готовые и неподтверждённые сообщения

Рост количества сообщений влияет на быстродействие всего кластера, потребление ресурсов и отзывчивость кластера

Проанализировать состояние сервиса RabbitMQ.

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

Проверить работу балансировщика (haproxy), выделение ресурсов, конфигурацию очередей.

При необходимости произвести оптимизацию потребителей.

При необходимости произвести перезагрузку какого-либо сервиса RabbitMQ или узла кластера.

RabbitMQTooManyMessages

KeyStack - RabbitMQ

rabbitmq internal exporter

rabbitmq_queue_messages

Warning, если в течение 5 мин размер очереди > 40 сообщений

RabbitMQ

Статус узла

Может означать:

сетевую недоступность узла

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

Влияет на все службы кластера

На управляющем узле убедиться в работоспособности контейнеров rabbitmq*.

Проверить журналы контейнеров.

Проанализировать журналы rabbitmq.

RabbitmqDown

KeyStack - RabbitMQ

rabbitmq internal exporter

up{job="rabbitmq"}

Warning, если статус == 0

RabbitMQ

Превышение ограничения памяти

Потребление памяти сервисом RabbitMQ превысило установленное ограничение

Может влиять на быстродействие и доступность сервиса RabbitMQ

Проанализировать состояние сервиса RabbitMQ.

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

Проанализировать конфигурацию RabbitMQ.

Проверить работу балансировщика (haproxy), выделение ресурсов, конфигурацию очередей.

При необходимости произвести оптимизацию потребителей.

При необходимости произвести перезагрузку какого-либо сервиса RabbitMQ или узла кластера.

RabbitMQMemoryAlarm

KeyStack - RabbitMQ

rabbitmq internal exporter

rabbitmq_alarms_memory_used_watermark

Critical, если статус == 1

RabbitMQ

Количество доступной памяти для процесса RabbitMQ

Процесс RabbitMQ стал потреблять больше памяти, чем ему выделено

Может влиять на работоспособность и доступность всех сервисов узла

Проанализировать состояние сервиса RabbitMQ.

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

Проверить работу балансировщика (haproxy), выделение ресурсов, конфигурацию очередей.

При необходимости произвести оптимизацию потребителей.

При необходимости произвести перезагрузку какого-либо сервиса RabbitMQ или узла кластера.

RabbitmqMemoryHigh

KeyStack - RabbitMQ

rabbitmq internal exporter

rabbitmq_process_resident_memory_bytes / rabbitmq_resident_memory_limit_bytes

Warning, если RabbitMQ использует > 90% памяти на узле

RabbitMQ

Превышение ограничения свободного места на диске

Свободное дисковое пространство выделенное для RabbitMQ ниже установленного ограничения

Может влиять на быстродействие и доступность сервиса RabbitMQ

Проанализировать состояние сервиса RabbitMQ.

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

Проанализировать конфигурацию RabbitMQ.

Проанализировать утилизацию дисковых ресурсов на узле.

Проверить работу балансировщика (haproxy), выделение ресурсов, конфигурацию очередей.

При необходимости произвести оптимизацию потребителей.

При необходимости произвести перезагрузку какого-либо сервиса RabbitMQ или узла кластера.

RabbitMQDiskAlarm

KeyStack - RabbitMQ

rabbitmq internal exporter

rabbitmq_alarms_free_disk_space_watermark

Critical, если статус == 1

RabbitMQ

Количество используемых файловых дескрипторов

Большое количество открытых на чтение-запись файлов

Может означать повышенную нагрузку на сервис

Может означать некорректную конфигурацию RabbitMQ

Проанализировать состояние сервиса RabbitMQ.

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

При необходимости произвести оптимизацию потребителей.

С помощью инструментов 'lsof', 'ps' и /proc/PID/fd продиагностировать, какими файловыми дескрипторами пользуется процесс.

При необходимости произвести перезагрузку какого-либо сервиса RabbitMQ или узла кластера.

Проанализировать журналы узла и ядра.

RabbitmqFileDescriptorsUsage

KeyStack - RabbitMQ

rabbitmq internal exporter

rabbitmq_process_open_fds / rabbitmq_process_max_fds

Warning, если RabbitMQ использует > 90% доступных файловых дескрипторов на узле

RabbitMQ

Наличие очередей с сообщениями, но без подписчиков

Может означать ошибку в конфигурации

Может означать повышенную нагрузку на кластер

Может означать некорректную конфигурацию RabbitMQ

Проверить корректность конфигурации RabbitMQ.

RabbitmqNoQueueConsumer

KeyStack - RabbitMQ

rabbitmq internal exporter

rabbitmq_queue_messages > 0 and rabbitmq_queue_consumers == 0

Warning, если условие выполняется

RabbitMQ

Количество соединений

Может означать повышенную нагрузку на кластер

Может означать ошибку в конфигурации

Может означать повышенную нагрузку на кластер

Может означать некорректную конфигурацию RabbitMQ

Провести аудит административных действий и нагрузки на регион.

Проверить корректность конфигурации RabbitMQ.

RabbitmqTooManyConnections

KeyStack - RabbitMQ

rabbitmq internal exporter

rabbitmq_connections

Warning, если количество подключений > 1000

RabbitMQ

Статус сервиса

В регионе не работают все экземпляры RabbitMQ

Влияет на работу всего региона

Убедиться в работоспособности контейнеров rabbitmq.

Проверить журналы контейнера.

RabbitmqServiceOutage

KeyStack - RabbitMQ

rabbitmq internal exporter

up{job="rabbitmq_internal"}

Critical, если sum = 0

RabbitMQ

Состояние сервиса

RabbitMQ имеет много неподтверждённых сообщений

Замедление работы региона или его неработоспособность

Проанализировать состояние и журналы сервиса RabbitMQ.

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

Проверить работу балансировщика (haproxy), выделение ресурсов, конфигурацию очередей.

Найти и проанализировать очереди, в которых находятся такие сообщения, и проанализировать состояние связанных служб.

RabbitmqTooManyUnackMessages

KeyStack - RabbitMQ

rabbitmq internal exporter

rabbitmq_queue_messages_unacked

Warning, если sum by (queue,instance) > 1000

RabbitMQ

Состояние сервиса

В RabbitMQ возросло количество сообщений без подтверждения

Замедление работы региона или его неработоспособность

Проанализировать состояние и журналы сервиса RabbitMQ.

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

Проверить работу балансировщика (haproxy), выделение ресурсов, конфигурацию очередей.

Найти и проанализировать очереди, в которых находятся такие сообщения, и проанализировать состояние связанных служб.

RabbitMQUnacknowledgedMessagesIncrease

KeyStack - RabbitMQ

rabbitmq internal exporter

rabbitmq_queue_messages_unacked

Warning, если за последние 15 мин размер очереди увеличился на > 300 сообщений

RabbitMQ

Состояние сервиса

Размер очереди RabbitMQ быстро увеличивается

Рост количества сообщений влияет на быстродействие всего кластера, потребление ресурсов и отзывчивость кластера

Проанализировать состояние сервиса RabbitMQ.

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

Проверить работу балансировщика (haproxy), выделение ресурсов, конфигурацию очередей.

При необходимости произвести оптимизацию потребителей.

При необходимости произвести перезагрузку какого-либо сервиса RabbitMQ или узла кластера.

RabbitMQQueueGrowing

KeyStack - RabbitMQ

rabbitmq internal exporter

rate(rabbitmq_queue_messages[5m]) > 100 and rabbitmq_queue_messages > 1000

Warning, если условие выполняется

RabbitMQ

Состояние сервиса

Высокая скорость публикации в очереди RabbitMQ

Рост количества сообщений влияет на быстродействие всего кластера, потребление ресурсов и отзывчивость кластера

Проанализировать состояние сервиса RabbitMQ.

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

Проверить работу балансировщика (haproxy), выделение ресурсов, конфигурацию очередей.

При необходимости произвести оптимизацию потребителей.

При необходимости произвести перезагрузку какого-либо сервиса RabbitMQ или узла кластера.

RabbitMQHighPublishRate

KeyStack - RabbitMQ

rabbitmq internal exporter

rate(rabbitmq_queue_messages_published_total[2m])

Info, если sum by (instance) > 10000

RabbitMQ

Доступность сервиса RabbitMQ

В лог-файлах зафиксированы записи о недоступности RabbitMQ

Влияет на работу всего региона

Убедиться в работоспособности контейнеров rabbitmq.

Проверить журналы контейнера.

Проанализировать журналы rabbitmq.

RabbitMQserverUnreachable

KeyStack - RabbitMQ

fluentd exporter

fluentd_input_amqp_errors_records_total

Warning, если в логах фиксируются новые ошибки подключения

RabbitMQ

Состояние соединения (distribution link)

Не активное соединение (distribution link) между узлами RabbitMQ

Влияет на работу всего региона

Убедиться в работоспособности контейнеров rabbitmq.

Проверить журналы контейнера.

Проверить сетевую связность между управляющими узлами и корректность маршрутов.

Проверить журналы RabbitMQ.

RabbitmqNodeNotDistributed

KeyStack - RabbitMQ

rabbitmq internal exporter

erlang_vm_dist_node_state

Critical, если < 3

RabbitMQ

Кол-во соединений (distribution link)

Недостаточное количество установленных связей между узлами кластера RabbitMQ

Ожидаемое кол-во связей должно быть n*(n-1), где 'n' - кол-во узлов RabbitMQ в кластере

Влияет на работу всего региона

Убедиться в работоспособности контейнеров rabbitmq.

Проверить журналы контейнера.

Проверить сетевую связность между управляющими узлами и корректность маршрутов.

Проверить журналы RabbitMQ.

InsufficientEstablishedErlangDistributionLinks

KeyStack - RabbitMQ

rabbitmq internal exporter

erlang_vm_dist_node_state

Critical, если count(erlang_vm_dist_node_state==3) < n*(n-1)

RabbitMQ

Наличие короткоживущих соединений

Значительное кол-во соединений имеет короткое время жизни

Может означать повышенную нагрузку на кластер

Может означать некорректную конфигурацию клиентов или сервера RabbitMQ

Провести аудит административных действий и нагрузки на регион.

Проверить корректность конфигурации серверов RabbitMQ.

Проверить корректность конфигурации клиентов RabbitMQ.

HighConnectionChurn

KeyStack - RabbitMQ

rabbitmq internal exporter

rabbitmq_connections_closed_total rabbitmq_connections_opened_total rabbitmq_connections

Warning, если (rabbitmq_connections_closed_total + rabbitmq_connections_opened_total) / rabbitmq_connections > 10%

RabbitMQ

Размер очередей

RabbitMQ имеет много сообщений готовых к отправке потребителям

Замедление работы региона или его неработоспособность

Проанализировать состояние и журналы сервиса RabbitMQ.

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

Проверить работу балансировщика (haproxy), выделение ресурсов, конфигурацию очередей.

Найти и проанализировать очереди, в которых находятся такие сообщения, и проанализировать состояние связанных служб.

RabbitmqTooManyReadyMessages

KeyStack - RabbitMQ

rabbitmq internal exporter

rabbitmq_queue_messages_ready

Warning, если > 1000

MariaDB

Состояние экземпляра

Экземпляр MariaDB на узле ещё не готов для использования

Влияет на все службы узла

На управляющем узле убедиться в работоспособности контейнеров mariadb*.

Проверить журналы контейнеров.

Проанализировать журналы mariadb.

MariaDBDown

Keystack - MariaDB

mariadb exporter

mysql_up

Warning, если = 0

MariaDB

Состояние экземпляра

Недоступны все экземпляры MariaDB

Влияет на все службы узла

На управляющем узле убедиться в работоспособности контейнеров mariadb*.

Проверить журналы контейнеров.

Проанализировать журналы mariadb.

MariaDBOutage

Keystack - MariaDB

mariadb exporter

mysql_up

Critical, если sum = 1

MariaDB

Состояние экземпляра

Экземпляр MariaDB не синхронизирован с кластером

Влияет на все службы узла

На управляющем узле убедиться в работоспособности контейнеров mariadb*.

Проверить журналы контейнеров.

Проанализировать журналы mariadb.

MariaDBInstanceNotSynced

Keystack - MariaDB

mariadb exporter

mysql_global_status_wsrep_local_state

Warning, если статус != 4

MariaDB

Состояние экземпляра

Экземпляр MariaDB на узле ещё не готов для использования

Влияет на все службы узла

На управляющем узле убедиться в работоспособности контейнеров mariadb*.

Проверить журналы контейнеров.

Проанализировать журналы mariadb.

MariaDBInstanceNotReady

Keystack - MariaDB

mariadb exporter

mysql_global_status_wsrep_ready

Warning, если статус != 1

Critical, если sum = 0

MariaDB

Состояние экземпляра

Во входящей очереди на экземпляре MariaDB длительное время остаются сообщения, что может мешать синхронизации с кластером

Влияет на все службы узла

На управляющем узле убедиться в работоспособности контейнеров mariadb*.

Проверить журналы контейнеров.

Проанализировать журналы mariadb.

MariaDBInstanceReceiveQueueHigh

Keystack - MariaDB

mariadb exporter

mysql_global_status_wsrep_local_recv_queue

Warning, если размер очереди > 0 в течение 10 мин

MariaDB

Состояние экземпляра

Длительное время записи на диск журналов транзакций MariaDB

Влияет на все службы узла

На управляющем узле убедиться в работоспособности контейнеров mariadb*.

Проверить журналы контейнеров.

Проанализировать журналы mariadb.

Проанализировать производительность дисковой подсистемы.

MariadbInnodbLogWaits

Keystack - MariaDB

mariadb exporter

mysql_global_status_innodb_log_waits

Warning, если запросов > 10 в секунду на интервале 15 мин

MariaDB

Состояние экземпляра

Длительное время ожидания блокировки таблиц БД MariaDB

Влияет на все службы узла

На управляющем узле убедиться в работоспособности контейнеров mariadb*.

Проверить журналы контейнеров.

Проанализировать журналы mariadb.

Проанализировать производительность дисковой подсистемы.

MariadbTableLockWaitHigh

Keystack - MariaDB

mariadb exporter

100 * mysql_global_status_table_locks_waited / (mysql_global_status_table_locks_waited + mysql_global_status_table_locks_immediate)

Warning, если > 30

MariaDB

Состояние экземпляра

Экземпляр MariaDB на узле ещё не подключён к кластеру

Влияет на все службы узла

На управляющем узле убедиться в работоспособности контейнеров mariadb*.

Проверить журналы контейнеров.

Проанализировать журналы mariadb.

MariaDBInstanceWsrepNotConnected

Keystack - MariaDB

mariadb exporter

mysql_global_status_wsrep_connected

Warning, если статус != 1

Critical, если sum = 0

MariaDB

Состояние кластера

Нарушен кворум MariaDB

Влияет на все службы узла

На всех управляющих узлах убедиться в работоспособности контейнеров mariadb*.

Проверить журналы контейнеров.

Проанализировать журналы mariadb.

MariaDBClusterNotPrimary

Keystack - MariaDB

mariadb exporter

mysql_global_status_wsrep_cluster_status

Warning, если статус кластера != 1

Critical, если sum = 0

MariaDB

Состояние кластера

Количество узлов кластера MariaDB меньше трёх

Нарушен кворум MariaDB

Влияет на все службы узла

На всех управляющих узлах убедиться в работоспособности контейнеров mariadb*.

Проверить журналы контейнеров.

Проанализировать журналы mariadb.

MariaDBClusterSizeChange

Keystack - MariaDB

mariadb exporter

mysql_global_status_wsrep_cluster_size

Warning, если статус < 3

Consul

Статус службы Consul на узле

Экземпляр Consul на узле выключен или сломался

Недоступна статистика о работе сервисов облака

Недоступен сервис отказоустойчивости для узла

На управляющем узле убедиться в работоспособности контейнеров consul*.

Проверить журналы контейнеров.

Проанализировать журналы consul.

ConsulDown

Keystack - Consul

consul_exporter

consul_up

Warning, если = 0

Consul

Статус службы Consul в облаке

Недоступны все экземпляры Consul

Влияет на работу сервисов, обеспечивающих отказоустойчивость

На управляющем узле убедиться в работоспособности контейнеров consul*.

Проверить журналы контейнеров.

Проанализировать журналы consul.

ConsulOutage

Keystack - Consul

consul_exporter

consul_up

Critical, если sum = 0

Consul

Статус экспортёра Consul

Экспортёр Consul недоступен или выключен

За период недоступности нет данных о Consul

На управляющем узле убедиться в работоспособности контейнера consul_exporter.

Проверить и проанализировать журналы контейнера.

Проверить сетевую связность между управляющими узлами и корректность маршрутов.

ConsulExporterDown

Keystack - Consul

consul_exporter

up{job="consul_exporter"}

Warning, если = 0

Consul

Статус экспортёра Consul

Экспортёр Consul недоступен или выключен на всех узлах

За период недоступности нет данных о Consul

На управляющем узле убедиться в работоспособности контейнера consul_exporter.

Проверить и проанализировать журналы контейнера.

Проверить сетевую связность между управляющими узлами и корректность маршрутов.

ConsulExporterOutage

Keystack - Consul

consul_exporter

up{job="consul_exporter"}

Critical, если sum = 0

Consul

Не пройдена проверка health check сервиса Consul на узле

Работа служб отказоустойчивости не находится в целевом состоянии

Работа служб отказоустойчивости не находится в целевом состоянии

Отказоустойчивость сервисов недоступна

На управляющем узле убедиться в работоспособности контейнеров consul*.

Проверить журналы контейнеров.

Проанализировать журналы consul.

Проверить сетевую связность между управляющими узлами и корректность маршрутов.

ConsulHealthNodeStatus

Keystack - Consul

consul_exporter

consul_catalog_service_node_healthy

Critical, если = 0

Consul

Состояние подчиненных сущностей Consul

Необходимое количество сущностей в кластере не достигнуто

Потенциальная нестабильность в работе отказоустойчивости

На управляющем узле убедиться в работоспособности контейнеров consul*.

Проверить журналы контейнеров.

Проанализировать журналы consul.

ConsulRaftPeers

Keystack - Consul

consul_exporter

consul_raft_peers

Critical, если < 3

Consul

Состояние агентов Consul

Не целевое состояние сервиса Consul

Потенциальная нестабильность в работе отказоустойчивости

На управляющем узле убедиться в работоспособности контейнеров consul*.

Проверить журналы контейнеров.

Проанализировать журналы consul.

Проверить сетевую связность между управляющими узлами и корректность маршрутов.

ConsulAgentUnhealthy

Keystack - Consul

consul_exporter

consul_health_node_status

Warning, если == 1

Consul

Состояние сервиса consul

Сервис Consul на узле в критическом состоянии

Работа служб отказоустойчивости на узле недоступна

Зайти на узел, проверить состояние и журналы контейнеров consul*.

Проверить сетевую связность между управляющими узлами и корректность маршрутов.

ConsulHealthServiceStatus

Keystack - Consul

consul_exporter

consul_health_service_status

Warning, если == 1

Consul

Состояние участника LAN кластера

Не целевое состояние узла LAN кластера Consul

Потенциальная нестабильность в работе отказоустойчивости

Зайти на узел, проверить состояние и журналы контейнеров consul*.

Проанализировать журналы consul.

Проверить сетевую связность между управляющими узлами и корректность маршрутов.

ConsulLanMemberStatus

Keystack - Consul

consul_exporter

consul_serf_lan_member_status

Warning, если != 1

Consul

Состояние участника WAN кластера

Не целевое состояние узла WAN кластера Consul

Потенциальная нестабильность в работе отказоустойчивости

Зайти на узел, проверить состояние и журналы контейнеров consul*.

Проанализировать журналы consul.

Проверить сетевую связность между управляющими узлами и корректность маршрутов.

ConsulWanMemberStatus

Keystack - Consul

consul_exporter

consul_serf_wan_member_status

Warning, если != 1

Виртуальные машины

Компонент

Что проверяется

Что означает алерт

На что влияет

Необходимые действия

Имя алерта

Группа алерта

Экспортёр

Метрика

Порог алерта

VM

Соответствие MTU для ВМ и MTU на узле

Размер сообщения пересылки по сети для ВМ не совпадает с установленным размером сообщения на интерфейсе узла

Может снижаться скорость передачи данных по сети

Может влиять на сетевую доступность узла или ВМ

Проанализировать и проверить настройки сетевого интерфейса ВМ, интерфейса узла.

Привести настройки к рекомендованным значениям.

MTU mismatch

KeyStack - System

node_exporter

node_network_mtu_bytes{device="mgmt"} - node_network_mtu_bytes{device=~"(tap.*)"}

Warning, если разница между значением MTU узла и значением MTU ВМ < 0

VM

Изменение AZ для ВМ

Произведена миграция ВМ в другую AZ

Может влиять на работу механизма DRS

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

Проанализировать журналы действий над ВМ.

При необходимости вернуть ВМ в нужную AZ.

VMchangeAZ

KeyStack - System

Warning, если произошла смена AZ

VM

Проверка CPU Steal time

ВМ долго ждут исполнения на процессоре

Замедление работы ВМ, потенциальный отказ от обслуживания

С помощью 'htop' или 'top' выявить наиболее активных потребителей процессорного времени.

Проанализировать исторические данные по нагрузке на процессор.

Проверить, что режим работы центрального процессора установлен на 'performance'.

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

Host with High VM CPU Steal time

KeyStack - System

libvirt_exporter

libvirt_domain_vcpu_delay_seconds_total * 100

Warning, если значение cpu steal time для ВМ > 5%

VM

Статус ВМ

ВМ длительное время не меняет свой статус

Замедление работы ВМ, потенциальный отказ от обслуживания

Проверить размер ВМ — для ВМ с большим количеством выделенных ресурсов длительная смена статуса 'Migrationg', 'Resize' или 'Rebuild' может быть нормальным поведением.

Проверить работу сервиса RabbitMQ: состояние и журналы сервиса, состояние и журналы контейнера, очереди.

Проверить состояние и журналы контейнеров nova_* на гипервизоре-источнике и приёмнике.

VMStatusChangeTooLong

KeyStack - System

openstack_exporter

openstack_nova_server_status

Warning, если статус =~ "MIGRATING|RESIZE|REBUILD" более 2х минут

VM

Дубликат IPv4 на ВМ

В регионе обнаружено несколько виртуальных машин с одинаковым IP адресом

Нарушение сетевого взаимодействия виртуальных машин с одинаковыми IP адресами и остальным сетевым окружением, в случае нахождения таких ВМ в одной сети или в случае настроенной маршрутизации между сетями, где размещаются такие ВМ

Выявить виртуальные машины с одинаковыми IP адресами.

Проверить находятся ли они в одной сети.

Проверить настроена ли маршрутизация между сетями, где размещаются ВМ с совпадающими IP адресами.

В случае нахождения ВМ с одинаковыми IP адресами в одной сети для каждой затронутой ВМ установить уникальный IP адрес.

В случае нахождения ВМ с одинаковыми IP адресами в разных сетях и настроенной маршрутизации между этими сетями для каждой затронутой ВМ установить уникальный IP адрес.

VmDuplicateIPAddressDetected

KeyStack - System

openstack_exporter

openstack_nova_server_net_info

Warning, если count by (addr) > 1

VM

Аварийное завершение QEMU-процесса

В лог-файлах зафиксированы записи о нештатной остановке ВМ

Влияет на доступность ВМ

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

Проанализировать журналы действий над ВМ.

Проанализировать журналы узла и сервиса nova.

VMunexpectedShutdown

KeyStack - System

fluentd exporter

fluentd_input_VM_unexpected_shutdown_records_total

Warning, если в логах фиксируются новые записи

Мониторинг

Компонент

Что проверяется

Что означает алерт

На что влияет

Необходимые действия

Имя алерта

Группа алерта

Экспортёр

Метрика

Порог алерта

Prometheus

Не удалось обновить конфигурацию Prometheus

Файл Prometheus конфигурации содержит ошибки

Влияет на доступность мониторинга

Зайти на узел, проверить журнал prometheus контейнера, исправить ошибки в конфигурации.

PrometheusConfigurationReloadFailure

Keystack - Prometheus

prometheus_exporter

prometheus_config_last_reload_successful

Warning, если != 1

Prometheus

Количество перезапусков prometheus превышает норму

Сервисы prometheus часто перезапускаются

Влияет на доступность мониторинга

Зайти на узел, проверить журнал prometheus контейнера, исправить ошибки в конфигурации.

PrometheusTooManyRestarts

Keystack - Prometheus

prometheus_exporter

changes(process_start_time_seconds{job=~"prometheus|pushgateway|alertmanager"}[15m])

Warning, если за 15 мин кол-во изменений времени старта процесса > 2

Prometheus

Задача AlertManager не найдена

Задача AlertManager отсутствует

Влияет на отправку уведомлений о наступлении событий

Зайти на узел, проверить журнал alertmanager контейнера, исправить ошибки в конфигурации.

PrometheusAlertmanagerJobMissing

Keystack - Prometheus

prometheus_exporter

absent(up{job="alertmanager"})

Warning, если условие выполняется

Prometheus

Не удалось обновить конфигурацию AlertManager

Файл конфигурации AlertManager содержит ошибки

Влияет на отправку уведомлений о наступлении событий

Зайти на узел, проверить журнал alertmanager контейнера, исправить ошибки в конфигурации.

PrometheusAlertmanagerConfigurationReloadFailure

Keystack - Prometheus

prometheus_exporter

alertmanager_config_last_reload_successful

Warning, если != 1

Prometheus

Конфигурация Alertmanager не синхронизирована между всеми узлами кластера

Конфигурация Alertmanager не синхронизирована между всеми узлами кластера

Влияет на отправку уведомлений о наступлении событий

Проверить журналы контейнеров alertmanager на управляющих узлах.

PrometheusAlertmanagerConfigNotSynced

Keystack - Prometheus

prometheus_exporter

count(count_values("config_hash", alertmanager_config_hash))

Warning, если > 1

Prometheus

Подключение Prometheus к Alertmanager

Prometheus не смог подключиться к Alertmanager

Влияет на отправку уведомлений о наступлении событий

Зайти на узел, проверить журнал alertmanager и prometheus контейнеров, исправить ошибки в конфигурации.

PrometheusNotConnectedToAlertmanager

Keystack - Prometheus

prometheus_exporter

prometheus_notifications_alertmanagers_discovered

Critical, если < 1

Prometheus

Состояние правил Prometheus

Prometheus не смог обработать правило алерта

Влияет на обработку правил алертов и отправку уведомлений по ним

Проверить статус Health для правил алертов.

Проанализировать сообщение об ошибке для правила алерта, при его наличии.

Зайти на узел, проверить журнал prometheus контейнера.

Исправить запрос в правиле алерта.

Исправить ошибки в конфигурации.

PrometheusRuleEvaluationFailures

Keystack - Prometheus

prometheus_exporter

increase(prometheus_rule_evaluation_failures_total[3m])

Critical, если > 0

Prometheus

Состояние службы уведомлений

AlertManager не смог отправить уведомление о событии

Влияет на отправку уведомлений о наступлении событий

Зайти на узел, проверить журнал alertmanager контейнера, исправить ошибки в конфигурации.

PrometheusAlertmanagerNotificationFailing

Keystack - Prometheus

prometheus_exporter

rate(alertmanager_notifications_failed_total[1m])

Critical, если > 0

Prometheus

Отсутствуют таргеты Prometheus

Конфигурация Prometheus не содержит таргетов

Влияет на работу мониторинга

Проверить конфигурацию prometheus, проверить журналы настройки узлов.

PrometheusTargetEmpty

Keystack - Prometheus

prometheus_exporter

prometheus_sd_discovered_targets

Critical, если = 0

Prometheus

Скорость скрейпинга

Скрейпинг таргетов Prometheus замедлился

Влияет на работу мониторинга

Зайти на узел, проверить доступность ресурсов и давление на память, проверить загруженность сетевых интерфейсов.

PrometheusTargetScrapingSlow

Keystack - Prometheus

prometheus_exporter

prometheus_target_interval_length_seconds

Warning, если отношение 90% перцентиля к 50% перцентилю > 1.05

Prometheus

Состояние скрейпинга

Скрейпинг занимает больше времени чем установленный лимит по времени

Влияет на доступность мониторинга

Сменить лимит по времени и пересмотреть конфигурацию скрейпа.

PrometheusLargeScrape

Keystack - Prometheus

prometheus_exporter

increase(prometheus_target_scrapes_exceeded_sample_limit_total[10m])

Warning, если > 10

Prometheus

Состояние скрейпинга

Скрейпинг таргета Prometheus предоставил одинаковые значения для разного времени

Влияет на актуальность данных мониторинга

Зайти на узел и проверить актуальность данных сервиса который передает не корректные данные.

PrometheusTargetScrapeDuplicate

Keystack - Prometheus

prometheus_exporter

increase(prometheus_target_scrapes_sample_duplicate_timestamp_total[5m])

Warning, если > 0

Prometheus

Состояние openstack exporter

Неработоспособность экспортёра и невозможность отдавать метрики, или недоступность узла, или сбой балансировщика, или сбой в сети

Отсутствие мониторинга и сбора метрик компонентов OpenStack

Убедиться в работоспособности контейнеров prometheus_openstack_exporter.

Проверить журналы контейнеров.

Убедиться в работоспособности балансировщика.

OpenstackExporterDown

Keystack - Prometheus

openstack_exporter

avg_over_time(max by (instance) (up{job="openstack_exporter"})[5m:30s])

Critical, если < 0.85

Prometheus

Состояние blackbox exporter

Экземпляр blackbox exporter на узле не доступен, выключен или неисправен

Отсутствие мониторинга доступности nova-api с узлов

Проверить сетевую связность между управляющими узлами и узлом с экземпляром blackbox exporter.

Проверить корректность маршрутов.

Проверить статус контейнера prometheus_blackbox_exporter, проверить журналы контейнера.

Проверить разрешение DNS имён на узле с экземпляром prometheus_blackbox_exporter.

BlackboxExporterDown

Keystack - Prometheus

blackbox exporter

up{job="blackbox_exporter_blackhole_check"}

Warning, если group by(source) = 0

Оборудование

Компонент

Что проверяется

Что означает алерт

На что влияет

Необходимые действия

Имя алерта

Группа алерта

Экспортёр

Метрика

Порог алерта

Redfish

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

Неработоспособность экспортёра и невозможность отдавать метрики или недоступность узла, или сбой по сети

Отсутствие мониторинга и сбора метрик BMC

Убедиться в работоспособности контейнера redfish.

Проверить журналы контейнера.

Проверить сетевую связность между управляющими узлами и адресами BMC-интерфейсов, а также корректность маршрутов.

BMC_RedfishExporterTargetsOutage

KeyStack - Redfish

redfish_exporter

up{job="redfish_exporter"}

Critical, если max(avg_over_time(max by (bmc_address)) < 0.85

Redfish

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

Неработоспособность экспортёра и невозможность отдавать метрики или недоступность узла, или сбой по сети

Отсутствие мониторинга и сбора метрик BMC

Убедиться в работоспособности контейнера redfish.

Проверить журналы контейнера.

Убедиться в корректности разрешения DNS-имён для адреса BMC-интерфейса.

Проверить сетевую связность между управляющими узлами и адресом BMC-интерфейса, а также корректность маршрутов.

BMC_RedfishExporterTargetDown

KeyStack - Redfish

redfish_exporter

up{job="redfish_exporter"}

Warning, если avg_over_time(max by (bmc_address) < 0.85

Redfish

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

Сервер выключен

Недоступность гипервизора или управляющей ноды

Проверить легитимность нахождения сервера в выключенном состоянии.

Проверить состояние аппаратной части сервера.

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

BMC_Power_Off

KeyStack - Redfish

redfish_exporter

group by (bmc_address, hostname) (last_over_time(redfish_system_power_on[5m:])

Critical, если !=1

Redfish

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

Самопроверкой аппаратной части сервера выявлено, что имеются предупреждения или ошибки на всех блоках питания сервера

Высокая вероятность недоступности гипервизора или управляющей ноды

Проанализировать журналы BMC сервера на наличие ошибок или предупреждений.

Проверить настройки BMC сервера, связанные с электропитанием.

Проверить наличие поступающего напряжения сетевого питания.

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

Провести диагностику аппаратной части сервера.

При необходимости перевести узел в режим обслуживания (maintenance mode) для последующего ремонта.

BMC_Power_Supply_Health_Outage

KeyStack - Redfish

redfish_exporter

count by (bmc_address, hostname) (group by (bmc_address, hostname, id) (last_over_time(redfish_power_supply_health[5m:]))) - count by (bmc_address, hostname) (group by (bmc_address, hostname, id) (last_over_time(redfish_power_supply_health[5m:]) != 0))

Critical, если == 0

Redfish

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

Самопроверкой аппаратной части сервера выявлена критическая ошибка в работе блока питания

Возможна внезапная недоступность гипервизора или управляющей ноды

Проанализировать журналы BMC сервера на наличие ошибок или предупреждений.

Проверить настройки BMC сервера, связанные с сетевым питанием.

Проверить подачу напряжения на блок питания.

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

Провести диагностику аппаратной части сервера.

BMC_Power_Supply_Health_Critical

KeyStack - Redfish

redfish_exporter

redfish_power_supply_health

Critical, если == 2

Redfish

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

Самопроверкой аппаратной части сервера выявлены предупреждения в работе блока питания

Возможна недоступность гипервизора или управляющей ноды

Проанализировать журналы BMC сервера на наличие ошибок или предупреждений.

Проверить настройки BMC сервера, связанные с сетевым питанием.

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

Проверить наличие поступающего напряжения сетевого питания.

Провести диагностику аппаратной части сервера.

BMC_Power_Supply_Health_Warning

KeyStack - Redfish

redfish_exporter

redfish_power_supply_health

Warning, если == 1

Redfish

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

Самопроверкой аппаратной части сервера зафиксирована критическая ошибка

Уменьшение производительности сервера

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

Вероятность недоступности гипервизора или управляющей ноды

Проанализировать журналы BMC сервера на наличие ошибок или предупреждений.

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

Провести диагностику аппаратной части сервера.

BMC_System_Health_Critical

KeyStack - Redfish

redfish_exporter

redfish_system_health

Critical, если == 2

Redfish

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

Самопроверкой аппаратной части сервера обнаружено предупреждение

Уменьшение производительности сервера

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

Вероятность недоступности гипервизора или управляющей ноды

Проанализировать журналы BMC сервера на наличие ошибок или предупреждений.

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

Провести диагностику аппаратной части сервера.

BMC_System_Health_Warning

KeyStack - Redfish

redfish_exporter

redfish_system_health

Critical, если == 1

Redfish

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

Зафиксировано изменение количества доступных CPU серверу

Уменьшение производительности сервера

Возможна недоступность гипервизора или управляющей ноды

Проанализировать журналы BMC сервера на наличие ошибок или предупреждений.

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

Провести диагностику аппаратной части сервера.

При необходимости перевести узел в режим обслуживания (maintenance mode) для последующего ремонта.

BMC_CPU_Count

KeyStack - Redfish

redfish_exporter

redfish_system_cpu_count

Critical, если unless redfish_system_cpu_count offset 5m

Redfish

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

Самопроверкой аппаратной части сервера выявлены предупреждения или критические ошибки во всех модулях ОЗУ

Высокая вероятность недоступности сервера

Вероятность повреждения данных

Проанализировать журналы BMC сервера на наличие ошибок или предупреждений.

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

Провести диагностику аппаратной части сервера.

При необходимости перевести узел в режим обслуживания (maintenance mode) для последующего ремонта.

BMC_Memory_Module_Health_Outage

KeyStack - Redfish

redfish_exporter

count by (bmc_address, hostname) (group by (bmc_address, hostname, id) (last_over_time(redfish_memory_module_health[5m:]))) - count by (bmc_address, hostname) (group by (bmc_address, hostname, id) (last_over_time(redfish_memory_module_health[5m:]) != 0))

Critical, если == 0

Redfish

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

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

Снижение производительности сервера

Возможно уменьшение доступного объёма ОЗУ

Высокая вероятность повреждения данных

Проанализировать журналы BMC сервера на наличие ошибок или предупреждений.

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

Провести диагностику аппаратной части сервера.

При необходимости перевести узел в режим обслуживания (maintenance mode) для последующего ремонта.

BMC_Memory_Module_Health_Critical

KeyStack - Redfish

redfish_exporter

redfish_memory_module_health

Critical, если == 2

Redfish

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

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

Снижение производительности сервера

Возможно уменьшение доступного объёма ОЗУ

Вероятность повреждения данных

Проанализировать журналы BMC сервера на наличие ошибок или предупреждений.

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

Провести диагностику аппаратной части сервера.

При необходимости перевести узел в режим обслуживания (maintenance mode) для последующего ремонта.

BMC_Memory_Module_Health_Warning

KeyStack - Redfish

redfish_exporter

redfish_memory_module_health

Warning, если == 1

Redfish

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

Сетевой порт интерфейса перестал быть активным

Недоступность сервера через сетевой интерфейс

Возможно уменьшение пропускной способности или потеря отказоустойчивости агрегированного сетевого интерфейса

Проверить статус сетевых интерфейсов.

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

Проверить настройки соответствующего порта на сетевом коммутаторе.

Проанализировать журналы BMC сервера на наличие ошибок или предупреждений.

Провести диагностику аппаратной части сервера.

BMC_Network_Port_Link_Up

KeyStack - Redfish

redfish_exporter

redfish_network_port_link_up

Warning, если == 0

Redfish

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

Системой самопроверки аппаратной части сервера зафиксирована критическая ошибка в работе носителя данных

Вероятность повреждения или потери данных

Вероятность уменьшения производительности сервера

Проанализировать журналы BMC сервера на наличие ошибок или предупреждений.

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

Провести диагностику аппаратной части сервера.

При необходимости перевести узел в режим обслуживания (maintenance mode) для последующего ремонта.

BMC_Drive_Health_Critical

KeyStack - Redfish

redfish_exporter

redfish_drive_health

Critical, если == 2

Redfish

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

Системой самопроверки аппаратной части сервера зафиксировано предупреждение в работе носителя данных

Вероятность повреждения или потери данных

Проанализировать журналы BMC сервера на наличие ошибок или предупреждений.

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

Провести диагностику аппаратной части сервера.

При необходимости перевести узел в режим обслуживания (maintenance mode) для последующего ремонта.

BMC_Drive_Health_Warning

KeyStack - Redfish

redfish_exporter

redfish_drive_health

Warning, если == 1

Redfish

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

Самопроверкой аппаратной части сервера выявлены предупреждения или критические ошибки во всех компонентах системы охлаждения сервера

Повышение температуры аппаратной части сервера

Уменьшение производительности сервера

Вероятность повреждения компонентов аппаратной части сервера

Недоступность гипервизора или управляющей ноды

Высокая вероятность повреждения данных

Проанализировать журналы BMC сервера на наличие ошибок или предупреждений.

Проверить настройки BMC сервера, связанные с системой охлаждения сервера (вентиляторов).

Провести диагностику аппаратной части сервера.

При необходимости перевести узел в режим обслуживания (maintenance mode) для последующего ремонта.

BMC_Sensors_Fan_Health_Outage

KeyStack - Redfish

redfish_exporter

count by (bmc_address, hostname) (group by (bmc_address, hostname, id) (last_over_time(redfish_sensors_fan_health[5m:]))) - count by (bmc_address, hostname) (group by (bmc_address, hostname, id) (last_over_time(redfish_sensors_fan_health[5m:]) != 0))

Critical, если == 0

Redfish

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

Системой самопроверки аппаратной части сервера зафиксирована критическая ошибка в работе системы охлаждения сервера

Повышение температуры аппаратной части сервера

Уменьшение производительности сервера

Вероятность повреждения компонентов аппаратной части сервера

Недоступность гипервизора или управляющей ноды

Проанализировать журналы BMC сервера на наличие ошибок или предупреждений.

Проверить настройки BMC сервера, связанные с системой охлаждения сервера (вентиляторов).

Провести диагностику аппаратной части сервера.

При необходимости перевести узел в режим обслуживания (maintenance mode) для последующего ремонта.

BMC_Sensors_Fan_Health_Critical

KeyStack - Redfish

redfish_exporter

redfish_sensors_fan_health

Critical, если == 2

Redfish

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

Системой самопроверки аппаратной части сервера зафиксировано предупреждение в работе системы охлаждения сервера

Повышение температуры аппаратной части сервера

Уменьшение производительности сервера

Вероятность повреждения компонентов аппаратной части сервера

Недоступность гипервизора или управляющей ноды

Проанализировать журналы BMC сервера на наличие ошибок или предупреждений.

Проверить настройки BMC сервера, связанные с системой охлаждения сервера (вентиляторов).

Провести диагностику аппаратной части сервера.

BMC_Sensors_Fan_Health_Warning

KeyStack - Redfish

redfish_exporter

redfish_sensors_fan_health

Warning, если == 1

SMART

Состояние дисковых накопителей на основе параметров S.M.A.R.T

Неработоспособность экспортёра и невозможность отдавать метрики или недоступность узла, или сбой по сети

Отсутствие мониторинга и сбора метрик состояния дисковых накопителей

Убедиться в работоспособности контейнера smartctl.

Проверить журналы контейнера.

SmartctlExporterTargetDown

KeyStack - SMART

smartctl exporter

up{job="smartctl_exporter"}

Warning, если == 0

SMART

Состояние NVMe накопителей на основе параметров S.M.A.R.T

Зафиксированы критические ошибки в работе накопителя

Вероятность отказа накопителя и потери данных

Зайти на узел и проанализировать состояние устройства.

При необходимости произвести замену устройства.

DeviceCriticalWarning

KeyStack - SMART

smartctl exporter

smartctl_device_critical_warning

Critical, если > 0

SMART

Состояние NVMe накопителей на основе параметров S.M.A.R.T

Значение доступной резервной ёмкости ниже порогового значения

Невозможность подмены вышедших из строя ячеек памяти

Зайти на узел и проанализировать состояние устройства.

При необходимости произвести замену устройства.

DeviceAvailableSpare

KeyStack - SMART

smartctl exporter

smartctl_device_available_spare

Warning, если < 20

Critical, если < smartctl_device_available_spare_threshold

SMART

Состояние NVMe накопителей на основе параметров S.M.A.R.T

Высокий уровень износа накопителя

Вероятность перехода накопителя в режим для чтения

Вероятность отказа накопителя и потери данных

Зайти на узел и проанализировать состояние устройства.

При необходимости произвести замену устройства.

DevicePercentageUsed

KeyStack - SMART

smartctl exporter

smartctl_device_percentage_used

Warning, если > 90

Critical, если > 95

SMART

Состояние NVMe накопителей на основе параметров S.M.A.R.T

Высокая температура накопителя

Вероятность отказа накопителя и потери данных

Зайти на узел и проанализировать состояние устройства.

При необходимости произвести замену устройства.

DeviceHighTemperature

KeyStack - SMART

smartctl exporter

smartctl_device_temperature{temperature_type="current"}

Warning, если > 60

Critical, если > 75

SMART

Состояние NVMe накопителей на основе параметров S.M.A.R.T

Обнаружена неустранимая ошибка целостности данных

Вероятность отказа накопителя и потери данных

Зайти на узел и проанализировать состояние устройства.

При постоянном росте значения произвести замену устройства.

DeviceMediaErrors

KeyStack - SMART

smartctl exporter

increase(smartctl_device_media_errors[5m])

Warning, если > 0

SMART

Состояние NVMe накопителей на основе параметров S.M.A.R.T

С некоторых накопителей не были получены данные SMART

Отсутствие мониторинга и сбора метрик состояния дисковых накопителей

Зайти на узел и проанализировать перечень и тип установленных накопителей.

Проанализировать конфигурацию smartctl-экспортёра.

Проанализировать журналы контейнера smartctl.

При необходимости внести изменения в команду запуска smartctl-экспортёра.

SmartctlExporterConfigWarning

KeyStack - SMART

smartctl exporter

smartctl_device

Info, если count(smartctl_device) < scalar(smartctl_devices)

Сеть

Компонент

Что проверяется

Что означает алерт

На что влияет

Необходимые действия

Имя алерта

Группа алерта

Экспортёр

Метрика

Порог алерта

Multipath

Состояние multipath устройств

На узле обнаружены недоступные multipath-устройства

Может влиять на доступность и целостность дисков ВМ

Может влиять на доступность ВМ

Может влиять на работоспособность gitlab pipelines

Определить принадлежность multipath-устройства к ВМ.

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

Проанализировать журналы действий над ВМ.

Проанализировать журнал dmesg на узле.

Проверить отсутствие ошибок аппаратного обеспечения на узле: HBA-адаптера, статус FC-линков, наличие ошибок в передаче фреймов.

Проверить настройки порта и зон на FC-коммутаторе.

Провести диагностику состояния СХД.

DeadMultipathDeviceDetected

KeyStack - Multipath

multipath exporter

multipathd_info{vend="##",prod="##"}

Warning, если в течение 5 мин наблюдаются устройства с vend="##" и prod="##"

Multipath

Состояние multipath путей

У multipath-устройства зафиксированы переходы путей в статус 'сбойный'

Может влиять на доступность и целостность дисков ВМ

Может влиять на доступность ВМ

Проанализировать журнал dmesg на узле.

Проверить отсутствие ошибок аппаратного обеспечения на узле: HBA-адаптера, статус FC-линков, наличие ошибок в передаче фреймов.

Проверить настройки порта и зон на FC-коммутаторе.

Провести диагностику состояния СХД.

DMPathFaultsDetected

KeyStack - Multipath

multipath exporter

multipath_errors_total

Warning, если > 0

Multipath

Состояние multipath путей

У multipath-устройства не обнаружено ни одного рабочего пути

Может влиять на доступность и целостность дисков ВМ

Может влиять на доступность ВМ

Проанализировать журнал dmesg на узле.

Проверить отсутствие ошибок аппаратного обеспечения на узле: HBA-адаптера, статус FC-линков, наличие ошибок в передаче фреймов.

Проверить настройки порта и зон на FC-коммутаторе.

Провести диагностику состояния СХД.

DMPathOutage

KeyStack - Multipath

multipath exporter

multipath_status{paths="0"}

Critical, если в течение 5 мин условие выполняется

Multipath

Состояние multipath путей

У multipath-устройства обнаружены сбойные пути

Может влиять на доступность и целостность дисков ВМ

Может влиять на доступность ВМ

Проанализировать журнал dmesg на узле.

Проверить отсутствие ошибок аппаратного обеспечения на узле: HBA-адаптера, статус FC-линков, наличие ошибок в передаче фреймов.

Проверить настройки порта и зон на FC-коммутаторе.

Провести диагностику состояния СХД.

DMPathFaulure

KeyStack - Multipath

multipath exporter

multipath_path_status == 0

Warning, если в течение 5 мин условие выполняется

OVS

Ошибки на OVS-интерфейсах

Часть получаемых сетевых пакетов на tap-интерфейсах были отброшены

Может влиять на трафик виртуальных машин

Проверить утилизацию гипервизора.

Проанализировать журналы гипервизора.

OvsRxPacketsDroppedTooHigh

KeyStack - OVS

ovs_exporter

rate(ovs_interface_rx_dropped{name=~"tap.+"}[2m])

Warning, если > 120

OVS

Ошибки на OVS-интерфейсах

Часть отправляемых сетевых пакетов на tap-интерфейсах были отброшены

Может влиять на трафик виртуальных машин

Проверить утилизацию гипервизора.

Проанализировать журналы гипервизора.

OvsTxPacketsDroppedTooHigh

KeyStack - OVS

ovs_exporter

rate(ovs_interface_tx_dropped{name=~"tap.+"}[2m])

Warning, если > 200

OVS

Ошибки на OVS-интерфейсах

Зафиксированы ошибки в сетевых пакетах во входящем трафике на tap-интерфейсах

Может влиять на трафик виртуальных машин

Проверить утилизацию гипервизора.

Проанализировать журналы гипервизора.

OvsRxPacketsErrorTooHigh

KeyStack - OVS

ovs_exporter

rate(ovs_interface_rx_errors{name=~"tap.+"}[2m])

Warning, если > 0

OVS

Ошибки на OVS-интерфейсах

Зафиксированы ошибки в сетевых пакетах в исходящем трафике на tap-интерфейсах

Может влиять на трафик виртуальных машин

Проверить утилизацию гипервизора.

Проанализировать журналы гипервизора.

OvsTxPacketsErrorTooHigh

KeyStack - OVS

ovs_exporter

rate(ovs_interface_tx_errors{name=~"tap.+"}[2m])

Warning, если > 0

OVS

Ошибки на OVS-интерфейсах

Зафиксированы ошибки фреймов в сетевых пакетах во входящем трафике на tap-интерфейсах

Может влиять на трафик виртуальных машин

Проверить утилизацию гипервизора.

Проанализировать журналы гипервизора.

OvsRxFrameErrorTooHigh

KeyStack - OVS

ovs_exporter

rate(ovs_interface_rx_frame_err{name=~"tap.+"}[2m])

Warning, если > 0

OVS

Ошибки на OVS-интерфейсах

Зафиксированы CRC-ошибки в сетевых пакетах во входящем трафике на tap-интерфейсах

Может влиять на трафик виртуальных машин

Проверить утилизацию гипервизора.

Проанализировать журналы гипервизора.

OvsRxCRCErrorTooHigh

KeyStack - OVS

ovs_exporter

rate(ovs_interface_rx_crc_err{name=~"tap.+"}[2m])

Warning, если > 0

OVS

Ошибки на OVS-интерфейсах

Зафиксированы пропущенные сетевые пакеты во входящем трафике на tap-интерфейсах

Может влиять на трафик виртуальных машин

Проверить утилизацию гипервизора.

Проанализировать журналы гипервизора.

OvsRxMissedErrorTooHigh

KeyStack - OVS

ovs_exporter

rate(ovs_interface_rx_missed_errors{name=~"tap.+"}[2m])

Warning, если > 0

OVS

Ошибки на OVS-интерфейсах

Зафиксированы сетевые пакеты с RX overrun во входящем трафике на tap-интерфейсах

Может влиять на трафик виртуальных машин

Проверить утилизацию гипервизора.

Проанализировать журналы гипервизора.

OvsRxOverrunErrorTooHigh

KeyStack - OVS

ovs_exporter

rate(ovs_interface_rx_over_err{name=~"tap.+"}[2m])

Warning, если > 0

Bird

Состояние сервиса bird

Нарушение пиринга с удалённым маршрутизатором

Работоспособность и доступность облака в целом

Проанализировать журналы сервиса bird и его docker-контейнера.

С помощью утилиты birdc проанализировать список BGP-соседей и состояние BGP-сессий.

BirdProtocolDown

KeyStack - Bird

bird exporter

bird_protocol_up{name=~"uplink.?", proto="BGP"}

Critical, если sum by (proto,ip_version) = 0

Bird

Состояние сервиса bird

Нарушение пиринга с удалённым маршрутизатором

Работоспособность и доступность облака в целом

Проанализировать журналы сервиса bird и его docker-контейнера.

С помощью утилиты birdc проанализировать список BGP-соседей и состояние BGP-сессий.

BirdProtocolDown

KeyStack - Bird

bird exporter

bird_protocol_up{name=~"uplink.?", proto="BGP"}

Warning, если != 1

Bird

Состояние сервиса bird

Сервис bird не отправляет к аплинку все требуемые маршруты на более чем одном узле

Работоспособность облака в целом

Проанализировать журналы сервиса bird и его docker-контейнеров.

Проанализировать журналы сервиса exabgp и его docker-контейнеров.

BirdNoRoutesToUplink

KeyStack - Bird

bird exporter

(bird_protocol_prefix_export_count{name=~"uplink.?",proto="BGP"} - on(instance) group_left (proto) bird_protocol_prefix_import_count{name="exabgp",proto="BGP"} < 0))

Critical, если count by (instance,proto,ip_version) > 1

Bird

Состояние сервиса bird

Сервис bird не отправляет к аплинку все требуемые маршруты

Работоспособность облака в целом

Проанализировать журналы сервиса bird и его docker-контейнера.

Проанализировать журналы сервиса exabgp и его docker-контейнера.

BirdNoRoutesToUplink

KeyStack - Bird

bird exporter

bird_protocol_prefix_export_count{name=~"uplink.?",proto="BGP"} - on(instance) group_left (proto) bird_protocol_prefix_import_count{name="exabgp",proto="BGP"}

Warning, если < 0

Bird

Невозможность подключения к сокету сервиса bird

Неработоспособность экспортёра или сервиса bird

Отсутствие возможности мониторинга и сбора метрик сервиса bird

Убедиться в работоспособности контейнера bird_exporter.

Проверить журналы контейнера.

Проанализировать журналы сервиса bird и его docker-контейнера.

BirdSocketQueryNotSuccess

KeyStack - Bird

bird exporter

bird_socket_query_success

Critical, если sum = 0

Bird

Невозможность подключения к сокету сервиса bird

Неработоспособность экспортёра или сервиса bird

Отсутствие возможности мониторинга и сбора метрик сервиса bird

Убедиться в работоспособности контейнера bird_exporter.

Проверить журналы контейнера.

Проанализировать журналы сервиса bird и его docker-контейнера.

BirdSocketQueryNotSuccess

KeyStack - Bird

bird exporter

bird_socket_query_success

Warning, если = 0

Контейнеры

Компонент

Что проверяется

Что означает алерт

На что влияет

Необходимые действия

Имя алерта

Группа алерта

Экспортёр

Метрика

Порог алерта

Docker

Завершенный процесс контейнера

docker-контейнер был остановлен

Отказоустойчивость облака или доступность сервисов может быть нарушена

Зайти на узел и посмотреть статусы docker-контейнеров, какие были недавно перезапущены, посмотреть их журналы.

ContainerKilled

KeyStack - Docker

cadvisor exporter

container_last_seen

Warning, если разница между текущим временем и значением метрики > 120 сек