- BrainTools - https://www.braintools.ru -

Lumen: попытка воссоздать лучшие практики мониторинга СУБД

Консоль системы мониторинга СУБД Lumen

Консоль системы мониторинга СУБД Lumen

Всем привет!
Я порядка 15 лет занимаюсь администрированием СУБД, а в данный момент работаю на должности старшего инженера по базам данных.

За свою карьеру мне довелось попробовать в работе разные системы мониторинга СУБД, но больше всего мне нравился Spotlight for SQL Enterprise. Это, наверное, лучшая система мониторинга, с которой мне доводилось работать.

К сожалению, Quest Software ушел из РФ, и компании, которые вынуждены соблюдать санкционные режимы, больше не могут им пользоваться. В попытках найти близкие альтернативы я понял, что ничего похожего на рынке нет, и понял: вот она, ниша, в которой можно проявить себя и применить весь свой опыт [1]! :=)

Так появился Lumen.

Сначала — об архитектуре.
Lumen имеет аналогичную архитектуру со Spotlight, есть Diagnostic Server который устанавливается на Windows host. В нем настраиваются подключения к целевому серверу. На целевой сервер ничего устанавливать не нужно, необходимо лишь наличие прав на стороне сервера.

 Доля языков в репозитории по данным Git: C# 78%, TypeScript 13%, T-SQL 5%.

Доля языков в репозитории по данным Git: C# 78%, TypeScript 13%, T-SQL 5%.
 Архитектура Lumen. Сверху вниз: что смотрим → кто собирает → куда складывается → что открывает администратор

Архитектура Lumen. Сверху вниз: что смотрим → кто собирает → куда складывается → что открывает администратор

Какие системы смотрим. Сейчас это SQL Server, PostgreSQL, Windows и сама служба мониторинга.
Набор данных закрывает обычный день DBA: сессии, блокировки, память [2], диски, бэкапы, HA, репликация. Linux и MySQL – coming soon.

За сбор данных отвечает Lumen Diagnostic Server (LDS) — служба на Windows.
Сборщиков сейчас 137, правил алертов из коробки — 100. Частота разная: сессии и блокировки каждые 30 секунд, список баз и файлы — раз в час.

Lumen: попытка воссоздать лучшие практики мониторинга СУБД - 4

Куда это складывается. Данные с SQL Server, Windows и PostgreSQL едут в одно место: Diagnostic Server снимает срез и пишет его в свои две базы.

Lumen: попытка воссоздать лучшие практики мониторинга СУБД - 5

Playback. Самая частая жалоба после инцидента звучит так: «час назад всё стояло, а сейчас уже нормально — покажи, что тогда было». В Lumen на это отвечает Playback.

Выбираете время — и все экраны покажут сервер на тот момент: сессии, блокировки, диски, алерты.
Playback позволяет проводить детальный postmortem инцидентов и видеть состояние всех метрик и активных сессий, запросов и планов сервера на момент проблемы.

Перемещение между временными срезами осуществляется при помощи формы Playback или кнопками перемотки на панели. Для удобства, средние и высокие проблемы показываются на карте дня.

Перемещение между временными срезами осуществляется при помощи формы Playback или кнопками перемотки на панели. Для удобства, средние и высокие проблемы показываются на карте дня.

Lumen Alert System. Уже встроена в Diagnostic Server и содержит 100 настраиваемых правил. Пользователь может задать свои пороги и условия или вернуть правило к заводским настройкам.

Предустановленные правила Lumen

Предустановленные правила Lumen
Активные алерты в системе.

Активные алерты в системе.
Lumen: попытка воссоздать лучшие практики мониторинга СУБД - 9
Лог всех фиксируемых событий

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

Настройка порогов и исключений для правила.

Карта дашбордов Lumen:

Карта дашбордов Lume

Карта дашбордов Lume

Теперь давайте посмотрим на основной функционал, он покажется привычным для пользователей Spotlight for SQL Enterprise. Слева мы видим список подключенный в мониторинг хостов, при выборе хоста мы увидим домашний экран с основными показателяим.

Home Drilldown

Home Drilldown
Memory Drilldown

Memory Drilldown
Waits Drilldown

Waits Drilldown
Database Drilldown

Database Drilldown
Workload Drilldown

Workload Drilldown
TempDB Check

TempDB Check
TempDB Usage

TempDB Usage

Основной Drilldown для анализа текущей активности SQL Activity:

SQL Activity Sessions

SQL Activity Sessions
SQL Activity Sessions

SQL Activity Sessions

Удобная область для работы даже с самыми большими планами:

Plan View

Plan View
SQL Activity Disk I/O by File

SQL Activity Disk I/O by File

Workload Analisys
Незаменимый инструмент экспресс анализа нагрузки

Срез по основным потребителям CPU за последний час.

Срез по основным потребителям CPU за последний час.
Срез по самым долгим запросам за последний час.

Срез по самым долгим запросам за последний час.

AI Оператор
Мне давно хотелось подружить ИИ агента и мониторинг, визуализируя, я представлял, как агент 24/7 следит за здоровьем вверенного ему хоста и сигнализирует, когда фиксирует проблему. Ровно так я реализовал эту идею в Lumen. Для каждого подключения создается Watcher (но мне нравится термин “Хранитель”, поэтому я буду в дальнейшем использовать его), хранитель использует локальную LLM модель llma 3.1, имеет свой “RAG” и набор инструментов. Когда хранитель фиксирует проблему, он сигнализирует агенту оркестратору (Supervisor), который приступает к первичному анализу. Supervisor ставит задачи хранителю, проверить дополнительные параметры, ждет результат, проводит анализ и сообщает человеку в чат.
Ниже я приведу полную архитектуру и покажу несколько примеров.

Архитектура AI Operator

Архитектура AI Operator

Как я говорил, хранитель имеет память и запоминает все значимые события на сервере. К нему можно обратиться напрямую в чате:

Lumen: попытка воссоздать лучшие практики мониторинга СУБД - 27
Lumen: попытка воссоздать лучшие практики мониторинга СУБД - 28

Так Supervisor реагирует на блокировку, как видно по тексту, он помнит, что такие блокировки уже были и совершенно точно опознал, что это тесты.

AI Operator фиксирует длительную блокировку и сразу же сообщает оператору.

AI Operator фиксирует длительную блокировку и сразу же сообщает оператору.

Хранитель отлично справляется с мониторингом и фиксирует проблему практически сразу

Анализ блокировки Супервизором

Анализ блокировки Супервизором

Реакция [3] на заполнение tempDB:

Реакция на заполнение tempDB

Реакция на заполнение tempDB

Кажется я рассказал все, что хотел, если что-то забыл, обязательно расскажу об этом в новых статьях. Спасибо за внимание [4].

Автор: apatkin

Источник [5]


Сайт-источник BrainTools: https://www.braintools.ru

Путь до страницы источника: https://www.braintools.ru/article/35222

URLs in this post:

[1] опыт: http://www.braintools.ru/article/6952

[2] память: http://www.braintools.ru/article/4140

[3] Реакция: http://www.braintools.ru/article/1549

[4] внимание: http://www.braintools.ru/article/7595

[5] Источник: https://habr.com/ru/articles/1080080/?utm_source=habrahabr&utm_medium=rss&utm_campaign=1080080

www.BrainTools.ru

Rambler's Top100