Prometheus(プロメテウス)という監視システムをご存知でしょうか?
PrometheusとGrafanaを組み合わせることでカッコいい統計情報の可視化が可能になります。
今回はその前段である
PrometheusのMySQL Exporterのインストールとセットアップまでご紹介します。
##環境準備
AlmaLinuxを利用しました。
まずはMySQL本体のインストール、起動を行います。
# cat /etc/redhat-release
AlmaLinux release 8.3 (Purple Manul)
# dnf install -y mysql-server
# systemctl start mysqld
統計情報取得用のアカウントを用意します。
パスワードは任意で設定してください。
# mysql
mysql> CREATE USER 'exporter'@'localhost' IDENTIFIED BY 'XXXXXXXX' WITH MAX_USER_CONNECTIONS 3;
mysql> GRANT PROCESS, REPLICATION CLIENT, SELECT ON *.* TO 'exporter'@'localhost';
##MySQL Server Exporterの準備
ここからが本題です。
以下からel8シリーズの最新をダウンロードします。
https://packagecloud.io/app/prometheus-rpm/release/search?q=mysqld
# wget --content-disposition https://packagecloud.io/prometheus-rpm/release/packages/el/8/mysqld_exporter-0.13.0-1.el8.x86_64.rpm/download.rpm
rpmのインストールを行います。
# rpm -Uvh mysqld_exporter-0.13.0-1.el8.x86_64.rpm
/var/lib/prometheus/.my.cnf
に先程作成したユーザーとパスワードを記載します。
socket行にてUNIX domain socketによる接続を行います。
# cat /var/lib/prometheus/.my.cnf
[client]
user=exporter
password=XXXXXXXX
socket=/var/lib/mysql/mysql.sock
設定ができたら起動します。
自動起動も設定しておきます。
# systemctl start mysqld_exporter
# systemctl enable mysqld_exporter
以下のコマンドでmysqldが起動している旨の出力が得られれば成功です。
他にもたくさんの情報が取得できます。
# curl -s localhost:9104/metrics | grep ^mysql_up
mysql_up 1
Prometheusサーバーから取得できるようにポートの許可を入れておきます。
firewall-cmd --add-port=9104 --zone=public --permanent
firewall-cmd --reload
Prometheus/Grafanaでの可視化については他の記事を参照してください。