データベース監視 · 1 min read · Sep 15, 2025
PrometheusとGrafanaでMySQLまたはMariaDBを監視する方法

MySQL/MariaDBサーバーが正常に動作していることを確認するために、インフラストラクチャに監視を実装する必要があります。これにより、パフォーマンスを最適化し、問題やボトルネックを特定し、データベースが健康であることを確認できます。PrometheusとGrafanaを使用すると、これらを実現し、MySQLサーバーの美しいダッシュボード監視を作成できます。
このガイドでは、PrometheusとGrafanaを使用してMySQL/MariaDBサーバーを監視する方法を学びます。’prometheus-mysqld-exporter’を設定してメトリクスを生成し、Prometheusサーバーにエンドポイント監視を追加します。その後、MySQL監視用の新しいGrafanaダッシュボードを作成します。
前提条件
始める前に、以下のものを用意してください:
- インストールされたMySQL/MariaDBサーバー
- 管理者権限を持つ非rootユーザー
- サーバーにインストールされたPrometheusとGrafana
MySQL/MariaDBユーザーの設定
MySQL/MariaDBサーバーを監視するには、新しい専用のMySQLユーザーを作成する必要があります。このユーザーは、すべてのデータベースに対してPROCESS、REPLICATION CLIENT、SELECTなどの最小限の権限を持ちます。
このセクションでは、MySQLサーバーを監視するための新しいMySQLユーザーを作成します。
次のコマンドでMySQL/MariaDBサーバーにログインします。プロンプトが表示されたら、’ root ‘パスワードを入力してください。
sudo mysql -u root -p次に、以下のクエリを実行して、’ prometheus ‘という新しいMySQLユーザーを’ unix_socket ‘認証で作成します。このユーザーは、MySQLサーバーのすべてのデータベースでprocesses、replication clients、およびselectを見る権限を持ちます。
CREATE USER IF NOT EXISTS 'prometheus'@'localhost' IDENTIFIED WITH unix_socket;
GRANT PROCESS, REPLICATION CLIENT, SELECT ON *.* TO 'prometheus'@'localhost';
FLUSH PRIVILEGES;次に、以下のクエリを実行してMySQLユーザー’ prometheus@localhost ‘を確認します。’ prometheus ‘ユーザーがSELECT、PROCESS、BINLOG MONITORの権限を持つレプリケーションクライアントとして表示されます。
SHOW GRANTS FOR 'prometheus'@'localhost';MySQL/MariaDBサーバーから退出するには、’ quit ‘と入力します。

prometheus-mysqld-exporterのインストール
‘ prometheus-mysqld-exporter ‘はMySQLメトリクス用のエクスポーターです。MySQL >= 5.6およびMariaDB >= 10.3をサポートしています。’prometheus-mysqld-exporter’を使用するには、MySQLサーバーにインストールする必要があります。
この例では、MySQLサーバーはDebian 12サーバーで実行されています。デフォルトでは、’prometheus-mysqld-exporter’は公式Debianリポジトリにあるため、APTを通じてインストールします。他のディストリビューションを使用している場合は、GitHubから手動でダウンロードしてインストールできます。
まず、以下のコマンドを実行してDebianパッケージインデックスを更新します。
sudo apt update
リポジトリが更新されたら、以下のコマンドで’ prometheus-mysqld-exporter ‘パッケージをインストールします。インストールを確認するために’ Y ‘を入力します。
sudo apt install prometheus-mysqld-exporter
インストールが完了したら、以下の’ systemctl ‘コマンドを実行してsystemdマネージャーをリロードします。
sudo systemctl daemon-reload次に、以下のコマンドで’ prometheus-mysqld-exporter ‘サービスを開始および有効にできます。これにより、’prometheus-mysqld-exporter’サービスがシステムで実行され、有効になります。
sudo systemctl enable --now prometheus-mysqld-exporterprometheus-mysqld-exporterへのMySQLユーザーの追加
MySQLユーザーを作成し、’prometheus-mysqld-exporter’をインストールしたので、次のステップはMySQLを’prometheus-mysqld-exporter’の設定に追加することです。これにより、MySQLサーバーのメトリクスを生成し、デフォルトポート’9104’でエンドポイントを公開できます。
次の’ nano ‘エディタでファイル’ /etc/default/prometheus-mysqld-exporter ‘を開きます。
sudo nano /etc/default/prometheus-mysqld-exporterMySQLを’ prometheus-mysqld-exporter ‘と統合するために、’ DATA_SOURCE_NAME ‘環境変数のコメントを解除します。この例では、MySQLユーザー’ prometheus ‘を使用して、’ mysqld.sock ‘ファイルを介してMySQLサーバーを監視します。
DATA_SOURCE_NAME="prometheus@unix(/run/mysqld/mysqld.sock)/"ファイルを保存してエディタを終了します。
次に、以下の’ systemctl ‘コマンドを実行して’ prometheus-mysqld-exporter ‘サービスを再起動し、変更を適用します。そして、実行中であることを確認するためにそのステータスを確認します。
sudo systemctl restart prometheus-mysqld-exporter
sudo systemctl status prometheus-mysqld-exporter以下に’prometheus-mysqld-exporter’が実行中であることが表示されます。

最後に、ウェブブラウザを開いてhttp://192.168.10.41:9104/にアクセスします。これは’ prometheus-mysqld-exporter ‘のデフォルトエンドポイントです。設定が成功していれば、メトリクスが生成され、以下のように表示されます。

Prometheusへのprometheus-mysqld-exporterエンドポイントの追加
‘ prometheus-mysqld-exporter ‘の設定が完了し、メトリクスが生成されたので、次に’ prometheus-mysqld-exporter ‘をPrometheusサーバーのエンドポイントとして追加する必要があります。このガイドでは、’ prometheus-mysqld-exporter ‘エンドポイントは’ 192.168.10.41:9104 ‘で利用可能です。
Prometheusサーバーがない場合は、Debian 12にPrometheusとNode Exporterをインストールする方法を参照してください。
Prometheusサーバーに移動し、設定ファイル’ /etc/prometheus/prometheus.yml ‘を’ nano ‘エディタで開きます。
sudo nano /etc/prometheus/prometheus.yml‘ scrape_configs ‘内に、’ prometheus-mysqld-exporter ‘のエンドポイントを以下のように追加します。この例では、’ prometheus-mysqld-exporter ‘は’ server1 ‘で実行されており、IPアドレスとポートは’ 192.168.10.41:9104 ‘です。
scrape_configs:
- job_name: server1
static_configs:
- targets: ['192.168.10.41:9104']
labels:
alias: db1ファイルを保存して、完了したらエディタを終了します。
次に、以下の’ systemctl ‘コマンドを実行して’ prometheus ‘サービスを再起動し、変更を適用します。
sudo systemctl restart prometheus最後に、Prometheusサーバーダッシュボードを開き、’ Status > Targets ‘メニューを選択します。MySQL監視のエンドポイントである’ server1 ‘が表示されていることを確認してください。
MySQLサーバーのGrafanaダッシュボードの設定
‘prometheus-mysqld-exporter’エンドポイントをPrometheusサーバーに追加した後、MySQLサーバー監視用のGrafanaダッシュボードを構築する準備が整いました。このセクションでは、GrafanaLabsを介してMySQLの監視用ダッシュボードをインポートします。
Grafanaがインストールされていない場合は、Ubuntu 24.04にGrafanaとPrometheusをインストールする方法を参照してください。
Grafanaダッシュボードで、’ Dashboard > New > Import ‘メニューをクリックします。この例では、MySQLサーバーの監視のためにGrafanaLabsからGrafanaテンプレートを使用します。
Grafana ID番号をコピーして貼り付け、’ Load ‘をクリックして確認します。

次に、データソースとして’ Prometheus ‘を選択し、’ Import ‘をクリックします。

成功すると、PrometheusとGrafanaを使用したMySQL/MariaDB監視用のダッシュボードが表示されます。

結論
おめでとうございます!PrometheusとGrafanaを使用してMySQL/MariaDBサーバーの監視を完了しました。’prometheus-mysqld-exporter’を使用してMySQLサーバーを監視し、MySQLのメトリクスを生成しました。また、’prometheus-mysqld-exporter’をPrometheusサーバーのエンドポイントとして追加しました。最後に、MySQLサーバーを監視するためのGrafanaダッシュボードを作成しました。
新しい投稿を受信箱で受け取る
スパムはありません。いつでも購読を解除できます。