Привет, сообщество dev.to! ?
В этом посте я расскажу вам, какие шаги я предпринял для настройки MariaDB/MySQL Exporter на узлах кластера Galera для мониторинга с помощью Prometheus. В моем случае я запускаю MariaDB Galera Cluster на своем провайдере облачных серверов с тремя узлами и использую Prometheus Grafana для мониторинга моей настройки. Инструменты настройки и мониторинга Galera Cluster оказались невероятно полезными, но получить нужные метрики из MariaDB было непросто, поэтому я решил задокументировать свое решение.
Чтобы отслеживать показатели MariaDB и Galera Cluster, такие как количество запросов в секунду, соединения, состояние репликации и т. д., вам необходимо использовать MySQL Exporter в сочетании с Prometheus. Этот экспортер будет предоставлять метрики, специфичные для базы данных, включая статистику Galera и MariaDB.
Шаги по настройке средства экспорта MariaDB/MySQL на узлах кластера Galera:
Примечание: вы уже можете использовать машины Prometheus Grafana на торговой площадке вашего поставщика облачных серверов. Хетцнер, Digitalocean
На каждом узле Galera нам необходимо установить MySQL Exporter, который собирает метрики и предоставляет их для Prometheus. Вот как это можно сделать:
wget https://github.com/prometheus/mysqld_exporter/releases/download/v0.15.1/mysqld_exporter-0.15.1.linux-amd64.tar.gz
tar xvfz mysqld_exporter-0.15.1.linux-amd64.tar.gz
sudo cp mysqld_exporter-0.15.1.linux-amd64/mysqld_exporter /usr/local/bin/
sudo useradd -rs /bin/false mysqld_exporter
Экспортеру необходим доступ к метрикам MariaDB. Создайте файл .my.cnf в домашнем каталоге экспортера для хранения учетных данных подключения:
sudo mkdir /etc/.mysqld_exporter
sudo nano /etc/.mysqld_exporter/.my.cnf
Добавьте в файл следующее:
[client] user=exporter password=yourpassword
Убедитесь, что у пользователя есть необходимые разрешения для доступа к необходимым показателям:
для доступа используйте mysql -u root или mariadb -u root
СОЗДАТЬ ПОЛЬЗОВАТЕЛЯ 'exporter'@'localhost', ИДЕНТИФИЦИРОВАННОГО ПО 'yourpassword';
ПРОЦЕСС ПРЕДОСТАВЛЕНИЯ, КЛИЕНТ РЕПЛИКАЦИИ, ВЫБЕРИТЕ *.* TO 'exporter'@'localhost';
УДАЛЕНИЕ ПРИВИЛЕГИЙ;
Чтобы обеспечить запуск MySQL Exporter при загрузке, давайте настроим его как службу systemd:
sudo nano /etc/systemd/system/mysqld_exporter.service
Добавьте в файл следующее содержимое:
[Unit] Description=Prometheus MySQL Exporter Wants=network-online.target After=network-online.target [Service] User=mysqld_exporter Group=mysqld_exporter ExecStart=/usr/local/bin/mysqld_exporter \ --config.my-cnf=/etc/.mysqld_exporter/.my.cnf [Install] WantedBy=multi-user.target
Сохраните файл и перезагрузите systemd:
sudo systemctl daemon-reload
sudo systemctl запустить mysqld_exporter
sudo systemctl включить mysqld_exporter
Затем обновите конфигурацию Prometheus, чтобы получить метрики с узлов. Добавьте в файл prometheus.yml следующее:
Перед этим вы можете проверить, запущен ли MySQL Exporter, посетив:
curl http://
для доступа к этому файлу, например prometheus.yml, используйте:
sudo nano /opt/containers/prometheus-grafana/prometheus/prometheus.yml
Добавить внутрь Scrape_configs::
- job_name: 'mariadb-galera' static_configs: - targets: ['node1-ip:9104', 'node2-ip:9104', 'node3-ip:9104']
сообщите вам IP-адрес узлов вашей базы данных
Затем перезагрузите Прометея:
sudo systemctl перезагрузить Прометей
Если вы используете Grafana, вы можете импортировать готовые панели мониторинга для мониторинга MySQL/MariaDB. Один из популярных идентификаторов информационной панели для метрик MySQL/MariaDB — 7362.
Чтобы импортировать:
Теперь вы должны увидеть подробные показатели узлов кластера MariaDB Galera на панелях мониторинга Grafana!
Благодаря настройке MariaDB Exporter на каждом узле кластера Galera Prometheus теперь может очищать и отслеживать ключевые показатели базы данных. Эта настройка обеспечивает лучшее понимание состояния и производительности вашего кластера, что упрощает устранение неполадок и оптимизацию по мере необходимости.
Не стесняйтесь оставлять любые вопросы или комментарии ниже, если вы настраиваете что-то подобное или у вас есть какие-либо предложения. Спасибо за прочтение!
Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.
Copyright© 2022 湘ICP备2022001581号-3