4
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

MySQL Server Exporterを使ってみよう

Last updated at Posted at 2021-12-15

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での可視化については他の記事を参照してください。

4
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?