Мониторинг производительности MySQL для Grafana на изичах за 20 минут

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

Мое имя — Михаил Андрианов и работаю я Тех.Директором в компании Emarsys уже целых 7 лет.

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

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

Вот, как примерно, эта красота может выглядеть:

image

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

Итак, для приготовления нам потребуется:

Mysql > 5.6 (можно и младше, но придется кое-что подправить в запросах)
Grafana > 6.7.1
Ubuntu/ MS Windows по вкусу



Этап первый


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

В основу сервисной базы я включил удобный и легкий в приготовлении my2Collector от мастера итальянской MySql кухни Meo

mysql --user=root -pXXX < my2.sql

* Буду использовать команды любимой Ubuntu 16

Нельзя давать пользователю my2 админские права — дальше будет видно, что это может выйти вам боком

Когда база из дампа встала, рекомендую ознакомится с процедурами, которые обновляют в ней данные. В особенности процедуру

 `collect_stats`()

Желательно, повысить частотность запроса до 5 минут. Так у вас будут более актуальные данные по состоянию БД.

Теперь, когда механизм сбора статистики запущен можно переходить к подключению этого источника к Grafana.

Этап второй


Подключаем Grafana к базе с логами

image

Все стандартно.

Выбираем Источник данных(Data Source) MySQL
Далее…
URL, пользователь, пароль

**Можно увидеть, что пользователя, которого мы используем для сбора логов и ограничиваем только доступом для чтения performance.schema и записью в БД my2, мы используем так же и в Grafana. Так вы можете избежать компрометации своей базы, если утратите доступ к Grafana.




Этап третий


Настраиваем Дашборд

Я намеренно выбрал самый быстрый и удобный способ настройки, дабы не испытывать терпение.

Опять же обратимся к Meo.

Его дашборд называется 2MySQL Simple Dashboard

Самый удобный способ установки дашбордов в Grafana — это, разумеется, импорт JSON объекта настроек.

Для осуществления этого незамысловатого шага:

  1. Скачаем собственно сам JSON
  2. Перейдем в управление дашбордами Dashaboards -> Manage
  3. Выберем Import и загрузим объект из загруженного файла

image

image

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



Гибкость Grafana дает возможность удобно видоизменять каждую панель, а встроенные переменные в 2MySQL Simple Dashboard помогают сразу подстраивать панели под тех пользователей и процессы, которые более всего могут заинтересовать, например отслеживать на отдельных панелях или дашбордах конкретных пользователей базы.

image

Следующим этапом должна служить настройка alert'ов для созданного дашборда. Я опущу этот процесс, оставляя это на усмотрение каждого решившего пойти по описанному пути. Все оповещения настраиваются на уровне каждой конкретной панели.

image

Как и обещал, развертывание происходит довольно быстро и без танцев с бубном. Буду рад дополнениям к моему рецепту от опытных хабровцев, в особенности по части alert'ов.
Источник: https://habr.com/ru/post/499030/


Интересные статьи

Интересные статьи

В нашем блоге мы много пишем о построении карьеры в ИТ в разных странах, поиске работы, отличиях в процессе собеседований крупных компаний. В сегодняшней статье мы пойдем дальше и...
Привет, Хабр! Наша команда занимается мониторингом станков и разных установок по всей стране. По сути, мы обеспечиваем возможность производителю не гонять лишний раз инженера, ког...
Для этого мы интегрировали взрыв-схемы в приложение для страховых экспертов «Согласия» и сделали акт осмотра полностью электронным, его можно подписать прямо на месте. ...
Legacy технологииПредупреждение: ASP.NET MVC уже устарел. Рекомендуется использовать ASP.NET Core. Но если вам интересно, то читайте. Решил немного расширить предыдущую статью про ASP.NET MVC ...
Есть одно высказывание: «Что ты не можешь измерить, то ты не можешь улучшить». Автор статьи, перевод которой мы сегодня публикуем, работает в компании Superhuman. Он говорит, что эта компания зан...