![](https://habrastorage.org/webt/ps/lg/ap/pslgapzggg-oat0mwgg2hwfoqv0.jpeg)
На фотографии макрофото глаз стрекозы. Они имеют фасеточное строение и состоят примерно из 30000 шестиугольных фасетов, что позволяет стрекозе смотреть практически на 360 градусов (за исключением направления «прямо назад»). Полезное умение, если ты стрекоза.
Когда в организации «зоопарк» баз данных, а их унификация на горизонте даже не просматривается, нужно прилагать усилия, чтобы успевать управлять и следить за их работой. Посмотрите ещё раз на стрекозу.
В статье расскажем об инструменте мониторинга Foglight for Databases, который объединяет в одной консоли мониторинг SQL Server, Oracle, MySQL, PostgreSQL, DB2, SAP ASE, MongoDB и Cassandra. В нём также есть лёгкий налёт DevOps в части логирования изменений в конфигурации баз данных. Обо всём по порядку. Под катом много скриншотов.
Почему до ката мы упомянули DevOps? Одна из приглянувшихся фишек Foglight — возможность в ручном режиме отмечать на таймлайне релизы и вообще любые изменения. Разработчики сами могут вносить данные об изменениях и через некоторое время здесь же получать обратную связь в виде снижения или повышения производительности. В автоматическом режиме отслеженные изменения тоже отмечаются: изменения в Execution Plan или конфигурации БД — всё это будет присутствовать на графике.
![](https://habrastorage.org/webt/7j/9i/9u/7j9i9uhclywjejwli4xjeeilbec.png)
Примеры изменений.
![](https://habrastorage.org/webt/fa/0c/bt/fa0cbtc4ysvjirgmxlmnsjari9a.png)
Отсюда же можно перейти в другое представление и сравнить изменения в Execution Plan.
![](https://habrastorage.org/webt/7u/lm/i0/7ulmi02ywfnocfqujwrb36ihilg.png)
Вот тоже пара неплохих способов аудита изменений, но на регулярной основе выполнение таких отчётов не очень удобно.
![](https://habrastorage.org/webt/za/ps/6w/zaps6weeqfdpnvuyscdacu9hn7e.jpeg)
![](https://habrastorage.org/webt/pb/st/b5/pbstb5io-00un4iej0u2nr2oapc.png)
Насколько хорошо налажен канал общения между разработчиками и администраторами БД? Обо всех ли изменениях вовремя узнают коллеги из эксплуатации? Что если новый релиз породил спорадическую проблему, которая начала проявляться на регулярной основе и замедляет работу приложения?
Мы не хотим сказать, что этот инструмент окончательно наладит контакт между разработчиками и эксплуатацией, однако добавит разработчикам дополнительный канал получения обратной связи.
Дальше в статье покажем возможности мониторинга для каждой из поддерживаемых баз данных.
Microsoft SQL Server
![](https://habrastorage.org/webt/95/rq/az/95rqaz73jbdk8tpeqjup7dyqkxw.png)
Ключевая особенность мониторинга SQL Server в Foglight for Databases — наличие инструмента Performance Investigator, который выполняет многомерный анализ производительности БД в разрезах по базам данных, долгим запросам, сессиям, пользователям, исполнимым скриптам, рабочим станциям и приложениям.
![](https://habrastorage.org/webt/j5/t7/ww/j5t7ww2hhvxgoisjlwbroom7y-q.png)
Другая особенность — поддержка технологий SSIS, SSRS и SSAS. Например, ниже обзорное представление с метриками SSIS.
![](https://habrastorage.org/webt/3j/2m/fq/3j2mfq187ytdlvzmnikexw0gd7w.png)
Из представления выше можно «провалиться» на уровень с детализацией до пакетов и выявить проблемные.
Дополнительно в Foglight есть представление с переменными конфигурации, где можно отследить изменения значения конкретной переменной.
![](https://habrastorage.org/webt/wx/gq/6t/wxgq6tp91cp-expqjrzfujyqlxe.png)
Многие представления дублируют отчёты, которые можно построить в Management Studio. Мониторинг ведётся удалённо, и суммарный оверхед не превышает 2%. В актуальной версии Foglight поддерживаются версии SQL Server от 2005 до 2017.
Oracle
![](https://habrastorage.org/webt/8r/ze/ao/8rzeaow_pyee0arhvoytwhqrisk.png)
Для мониторинга БД Oracle в Foglight также предусмотрен инструмент Performance Investigator. Концепция его работы во многом аналогична подходам для мониторинга SQL Server, в основе — многомерный анализ производительности БД.
![](https://habrastorage.org/webt/-v/6w/oz/-v6wozr_-q5xeqsn7xpfgv8ge-q.png)
![](https://habrastorage.org/webt/f_/wt/qw/f_wtqwykcr9pocf95x3eia34ara.png)
Поддерживаются технологии RAC, Exadata, ASM и Data Guard.
My SQL
![](https://habrastorage.org/webt/4h/by/su/4hbysuldkk-mahvh-zknkqzcgfe.png)
Мониторинг My SQL охватывает основные показатели (в том числе и репликацию как один к одному, так и один ко многим) и отслеживает изменения в конфигурации БД аналогично SQL Server и Oraсle. Можно создавать свои шаблоны конфигурации, соответствие которым будет также отслеживаться.
Foglight умеет контролировать параметры выполнения запросов в БД. Делает это методом explain. Есть специальные представления по таблицам различных БД My SQL на едином экране. Из единой точки можно контролировать сотни баз данных и с небольшим оверхедом (не более 2%).
![](https://habrastorage.org/webt/gt/mm/yv/gtmmyvjljf5up7cpfxul2k9kpti.png)
Postgre SQL
В модуле для мониторинга Postgre SQL есть представления а’ля helicopter view для обзора ключевых показателей производительности БД, обзор показателей таблиц.
![](https://habrastorage.org/webt/6r/68/0f/6r680fnggpx4lmk-5w8j5l_uwik.png)
Поддерживается мониторинг репликации и контроль выполнения WAL (Write-Ahead Logging) как на стороне отправителя, так и получателя.
В консоли Foglight можно настроить представление с метриками производительности критичных запросов и на одном экране сравнивать их с аналогичными на другой базе данных. Для каждого такого запроса можно также выполнять explain analyze и контролировать соответствующие показатели.
![](https://habrastorage.org/webt/rv/uq/6a/rvuq6a0cxevw_tgr3zs3jgw60du.png)
Мониторинг баз PostgreSQL выполняется также удалённо, и оверхед не превышает 2%.
DB2
После настройки мониторинга основные метрики DB2 можно сразу же увидеть на агрегирующем дашборде.
![](https://habrastorage.org/webt/ca/py/88/capy88qbpc5rlgl_wzn68s-5oaq.jpeg)
Мониторинг БД DB2 выполняется безагентским способом с оверхедом, в среднем не превышающем 2%.
В одном из интерфейсов можно контролировать нагрузку на агенты приложениями, которые работают через эти агенты.
![](https://habrastorage.org/webt/nv/ij/sq/nvijsqz375rx34ywwoqdxmvzlu0.jpeg)
На скриншоте ниже дашборд с блокировками. Из каждого дашборда можно сделать отчёт. В том числе и на регулярной основе.
![](https://habrastorage.org/webt/jo/cq/f0/jocqf0oyrhiijdsikazbo9hggxm.jpeg)
При необходимости можно отслеживать тяжёлые запросы.
![](https://habrastorage.org/webt/f8/j1/8o/f8j18og6hknuwzklkmsq-nc6dzs.jpeg)
C помощью модуля для СУБД DB2 можно контролировать конфигурацию и выполнять автоматическую постановку на мониторинг новых БД.
SAP ASE
По каждой БД SAP ASE, поставленной на мониторинг, есть агрегирующее представление для просмотра основных метрик здоровья.
![](https://habrastorage.org/webt/t0/t4/hh/t0t4hh397n8ls6ckehadco7p5oq.png)
По каждому database engine доступны более подробные данные. Переключаясь между вкладками, можно посмотреть связанные процессы и сравнить производительность.
![](https://habrastorage.org/webt/ay/oa/oe/ayoaoes01gv8a4neqoqbpr0_5gy.png)
На соответствующем представлении можно отслеживать показатели производительности в многомерном виде по запросам, процедурам, пользователям, блокировкам и прочим связанным элементам.
![](https://habrastorage.org/webt/00/eb/gf/00ebgf6idhtej5kb3q3i9wjezkc.png)
Модуль для SAP ASE поддерживает удалённый мониторинг. На основе всех собираемых данных можно создавать собственные дашборды и отчёты.
MongoDB
Как и с предыдущими СУБД, мониторинг MongoDB выполняется удалённо. После настройки мониторинга будет доступно агрегирующее представление с основными метриками мониторинга.
![](https://habrastorage.org/webt/w5/0s/io/w50siooigrydi0y-am9lw_ersjk.png)
В верхней части дашборда есть ссылки на дополнительные представления, на которых можно просматривать метрики по базам данных, операциям, журналам и т.д… Например, ниже представление по операциям.
![](https://habrastorage.org/webt/xz/bo/xr/xzboxr7aw7qnvgmdie2g8fx-frk.png)
При включённом в настройках СУБД профилировании можно селектить и выводить на дашборд все соответствующие метрики. Если у БД есть реплика, Foglight будет контролировать также вещи вроде member status, health и прочие.
Дополнительный полезный функционал — мониторинг конфигурации нод, сравнение со стандартной и алерт в случае изменений.
Cassandra
Установка агента на ноды не требуется, всё происходит удалённо и с минимальным оверхедом. После настройки мониторинга Cassandra в Foglight появляется набор дашбордов с показателями производительности БД.
![](https://habrastorage.org/webt/xj/dm/xe/xjdmxeoyaf-l0qn05u-fkubyyea.png)
Foglight поддерживает контроль keyspace для нод в кластере, их сравнение по производительности (количество обращений к объектам, показатели read/write, задержку). Ноды можно также сравнивать по конфигурациям, количеству обработанных сообщений, сообщений с ошибками и т.д.
![](https://habrastorage.org/webt/gd/wt/bm/gdwtbmxylte5sfszptxoac82xyu.png)
На скриншоте ниже интерфейс Foglight for Cassandra и представление по производительности JVM.
![](https://habrastorage.org/webt/dr/ue/6g/drue6gk0dkqurhnjbtp-pzimkvi.png)
Из всех собранных метрик можно конструировать собственные дашборды и отчёты.
Заключение
Спасибо, что дочитали и досмотрели до этого места. Подытожим.
- Foglight for Databases поддерживает мониторинг SQL Server, Oracle, MySQL, PostgreSQL, DB2, SAP ASE, MongoDB и Cassandra.
- Кроме производительности самих БД Foglight также контролирует их конфигурацию.
- Данные по разным СУБД можно комбинировать на одном дашборде (а вдруг надо?).
- Мониторинг всех СУБД выполняется удалённо с оверхедом, не превышающим 2%. Из одной точки можете контролировать все базы.
- У Foglight for Databases есть REST API, из которого можно забирать метрики или события во внешние системы дашбординга, отчётинга или алертинга. Если есть зонтичная система мониторинга, в неё тоже можно будет встроиться.
- Кроме СУБД Foglight умеет и виртуализацию (VMware, Hyper-V, Openstack), СХД, серверы, AD, Exchange.
С Foglight for Databases можно познакомиться поближе. Заявку на пилотный проект или получение дистрибутива и тестовых лицензий (если захотите сделать всё сами) вы можете оставить через форму обратной связи на сайте.