Мониторинг MySQL
Содержание
Мониторинг MySQL#
Attention
Эта статья — января 2021 года. Вероятно, ситуация поменялась, по состоянию на ноябрь 2022-го я не вижу в репозитории и документации плагина python.d для MySQL. Как и предполагал ранее, имеет смысл перейти на использование плагина MySQL на go.d.
Статью оставлю в текущем виде для понимания общего порядка действий (специфика для go.d может отличаться).
Note
Мы в настоящее время используем плагины python.d.
Есть также аналогичные плагины на go.d.
Мне не удалось найти информацию по сравнению производительности, стоит ли переключаться с плагинов python.d на плагины go.d.
Установка зависимостей#
sudo dnf install python3-mysql.x86_64
Note
Альтернатива: python3-PyMySQL.noarch — какой лучше, не знаю, но наличие
python3-mysql в коде проверяется первым.
Доступ к базе MySQL#
sudo mysql
Выполняем запросы:
CREATE USER 'netdata'@'localhost';
GRANT USAGE on *.* to 'netdata'@'localhost';
FLUSH PRIVILEGES;
Конфигурация плагина (опционально)#
Скорее всего, должен работать дефолтный конфиг с автообнаружением подключения
(если пользователь MySQL netdata@localhost — без пароля). Если хочется,
например, запаролить доступ, то требуется внести изменения в конфиг.
Hint
В /etc/netdata/conf.d/[module] (по умолчанию) хранится дефолтная
конфигурация. Менять её не следует (она будет перезаписана при обновлении).
Все изменения нужно хранить в /etc/netdata/[module],
где module — название модуля или плагина Netdata.
Использование edit-config автоматизирует процесс хранения изменений
конфигурации отдельно от конфигурации по умолчанию, но то же самое можно
делать и вручную.
Официальный способ (если Netdata установлена скриптом с официального сайта, при установке из пакета в настоящее время не работает):
cd /etc/netdata
sudo ./edit-config python.d/mysql.conf
При установке из пакета в настоящее время edit-config не работает, делаем то
же самое вручную:
# Нужно выполнить только один раз,
# при установке/настройке первого плагина python.d
sudo mkdir /etc/netdata/python.d
# Нужно выполнить только один раз,
# при первичной настройке плагина MySQL
# Не стоит перезаписывать, если файл уже существует!
sudo cp -nv /etc/netdata/conf.d/python.d/mysql.conf \
/etc/netdata/python.d/mysql.conf
sudo vim /etc/netdata/python.d/mysql.conf
Пример подключения через unix socket, подключение к базе защищено паролем:
my_socket:
name : 'local'
user : 'netdata'
pass : 'h4q_tP5xB4(7&wW'
socket : '/var/lib/mysql/mysql.sock'
Обязательно перезапускаем Netdata, чтобы применить изменения:
sudo systemctl restart netdata.service
Дебаг плагина python.d/mysql#
/usr/libexec/netdata/plugins.d/python.d.plugin \
mysql trace debug
See also