Мониторинг здоровья MS SQL Server

25.12.18

База данных - HighLoad оптимизация

Описывается очередной изобретенный "велосипед" для мониторинга здоровья MS SQL Server, который мы используем в glassdoor.com - втором крупнейшем в США сайте для соискателей работы.

Apache License 2.0

ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.

Наименование По подписке [?] Купить один файл
Мониторинг здоровья MS SQL Server:
.zip 10,07Kb
12
12 Скачать (1 SM) Купить за 1 850 руб.

Думаю, что с понятием статистики ожиданий MS SQL Server знакомо большинство - SQL Server детально отслеживает потребление ресурсов и длительность выполнения внутренних процессов и позволяет пользователю получать кумулятивные значения со времени старта или сброса статистики. 
Хорошее описание есть здесь - https://habr.com/post/216309/

Наш веб-сайт целиком полагается на MS SQL Server, поэтому важно обеспечить бесперебойную работу и максимально быструю реакцию на возможные изменения. 

Во всех серьезных системах мониторинга баз данных есть возможность сбора статистики ожиданий и построение необходимой аналитики. По ряду причин мы не были удовлетворены тем что получаем "из коробки" (основная масса мониторинга\аналитии построена на https://www.appdynamics.com/), поэтому было решено реализовать собственный параллельный процесс сбора и визуализации данных.

Решение состоит из трех частей:
1) SQL Agent Task, которое непрерывно собирает накопленную статистику на каждом сервере. Каждые 15 секунд вычисляется разница между текущей и предыдущей статистикой и записывается в таблицу локальной базы данных (хранимая процедура [Monitor].[CollectWaitStatistics]).
2) Централизованный сервер для сбора статистики со всех серверов и отправки данных в ElasticSearch (три остальных файла).
3) ElasticSearch + Kibana для хранения, анализа и визуализации данных.

Хранимые процедуры и скрипт PowerShell можно скачать в приложенном архиве либо с гитхаба: 
https://github.com/alekseybochkov/publications/blob/master/sql-waits-monitoring/

Как эти данные используются?

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

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

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

См. также

HighLoad оптимизация Программист Платформа 1С v8.3 1C:ERP Бесплатно (free)

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

18.02.2025    3345    ivanov660    35    

54

HighLoad оптимизация Технологический журнал Системный администратор Программист Бесплатно (free)

Обсудим поиск и разбор причин длительных серверных вызовов CALL, SCALL.

24.06.2024    6547    ivanov660    12    

57

HighLoad оптимизация Программист Платформа 1С v8.3 Бесплатно (free)

Метод очень медленно работает, когда параметр приемник содержит намного меньше свойств, чем источник.

06.06.2024    11285    Evg-Lylyk    63    

45

HighLoad оптимизация Программист Платформа 1С v8.3 1C:Бухгалтерия Бесплатно (free)

Анализ простого плана запроса. Оптимизация нагрузки на ЦП сервера СУБД используя типовые индексы.

13.03.2024    5889    spyke    28    

51

HighLoad оптимизация Программист Платформа 1С v8.3 Бесплатно (free)

Оказывается, в типовых конфигурациях 1С есть, что улучшить!

13.03.2024    8761    vasilev2015    20    

43

HighLoad оптимизация Инструменты администратора БД Системный администратор Программист Платформа 1С v8.3 1C:Бухгалтерия Абонемент ($m)

Обработка для простого и удобного анализа настроек, нагрузки и проблем с SQL сервером с упором на использование оного для 1С. Анализ текущих запросов на sql, ожиданий, конвертация запроса в 1С и рекомендации, где может тормозить.

10 стартмани

15.02.2024    14348    285    ZAOSTG    87    

118
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. capitan 2610 23.10.18 13:34 Сейчас в теме
А рабочий сервер такой сбор статистики не нагружает ?
2. Aleksey.Bochkov 3690 23.10.18 21:03 Сейчас в теме
(1) Существенной нагрузки этот процесс не создает.
Оставьте свое сообщение