Prometheus: еще больше метрик от MySQL-сервера
Apr 4, 2016 21:47 · 224 words · 2 minute read
В данной статье узнаем, как максимально быстро начать следить за производительностью MySQL-серверов с помощью системы мониторинга Prometheus и дашбордов Grafana. Давайте разберемся!
Считаем, что у нас установлена и настроена система мониторинга Prometheus, ее компоненты node_exporter
и mysqld_exporter
, а также Grafana для отображения метрик и создания дашбордов.
Percona предлагает использовать целый набор предустановленных дашбордов, который находится в открытом доступе здесь. Сразу стоит отметить, что часть этих дашбордов будут работать только если вы используете Percona Server версии > 5.5.10.
Далее необходимо убедиться, что в MySQL у вас включены (=ON) переменные:
userstat
query_response_time_stats
и mysqld_exporter
запущен с дополнительными ключами:
-collect.info_schema.query_response_time=true
-collect.info_schema.tables=true
-collect.info_schema.tablestats=true
-collect.auto_increment.columns=true
-collect.binlog_size=true
-collect.info_schema.processlist=true
-collect.info_schema.userstats=true
С помощью следующих запросов выставляем необходимые права пользователю, который определен в переменной DATA_SOURCE_NAME
компонента mysqld_exporter
:
GRANT REPLICATION CLIENT, PROCESS, SUPER, SELECT ON *.* TO 'prometheus'@'localhost' IDENTIFIED BY 'ПАРОЛЬ';
GRANT SELECT, UPDATE, DELETE, DROP ON performance_schema.* TO 'prometheus'@'localhost';
Предустановленные дашборды в своих настройках используют метку alias
для работы с несколькими хостами. Убедитесь, что в конфигурационном файле /etc/prometheus/prometheus.yml
вы тоже ее используете, например:
...
- job_name: 'mysql'
scrape_interval: "5s"
honor_labels: true
target_groups:
- targets: ['localhost:9104']
labels:
alias: 'db1'
...
В конце конфигурационного файла /etc/grafana/grafana.ini
необходимо раскомментировать следующие строки:
...
[dashboards.json]
enabled = false
path = /var/lib/grafana/dashboards
Устанавливаем дашборды:
git clone https://github.com/percona/grafana-dashboards.git
cp -r grafana-dashboards/dashboards /var/lib/grafana/
Перезапускаем Grafana:
service grafana-server restart
В репозитории Percon’ы существуют также готовые docker-образы с настроенной связкой Prometheus и Grafana.