こんにちは、dev.to コミュニティ! ?
この投稿では、Prometheus で監視するために Galera Cluster ノード上に MariaDB/MySQL Exporter をセットアップするために行った手順を説明します。私の場合、3 つのノードを持つクラウド サーバー プロバイダーで MariaDB Galera Cluster を実行し、Prometheus Grafana を使用してセットアップを監視しています。 Galera Cluster のセットアップおよび監視ツールは非常に便利ですが、MariaDB から適切なメトリクスを取得するのは簡単ではなかったため、ソリューションを文書化することにしました。
1 秒あたりのクエリ数、接続、レプリケーション ステータスなどの MariaDB および Galera Cluster メトリクスを監視するには、MySQL Exporter と Prometheus を組み合わせて使用する必要があります。このエクスポーターは、Galera や MariaDB の統計を含むデータベース固有のメトリクスを公開します。
Galera クラスター ノードで MariaDB/MySQL Exporter をセットアップする手順:
注: クラウド サーバー プロバイダーのマーケットプレイスで既に Prometheus Grafana のマシンを使用できます。ヘッツナー、デジタルオーシャン
各 Galera ノードに、メトリクスを収集して Prometheus に公開する MySQL Exporter をインストールする必要があります。その方法は次のとおりです:
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 を使用します
CREATE USER 'exporter'@'localhost' IDENTIFIED BY 'yourpassword';
許可プロセス、レプリケーション クライアント、*.* を選択して '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 デーモン-リロード
sudo systemctl start 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 をお知らせください
次に、Prometheus をリロードします:
sudo systemctl リロード プロメテウス
Grafana を使用している場合は、MySQL/MariaDB モニタリング用に事前に構築されたダッシュボードをインポートできます。 MySQL/MariaDB メトリクスの一般的なダッシュボード ID の 1 つは 7362.
です。インポートするには:
これで、Grafana ダッシュボードに MariaDB Galera Cluster ノードの詳細なメトリクスが表示されるようになりました。
各 Galera Cluster ノードに MariaDB Exporter をセットアップすると、Prometheus は主要なデータベース メトリクスを取得して監視できるようになりました。この設定により、クラスターの健全性とパフォーマンスについてのより詳細な洞察が得られ、必要に応じてトラブルシューティングと最適化が容易になります。
同様のものを設定している場合、またはご提案がある場合は、お気軽に以下にご質問やコメントを残してください。読んでいただきありがとうございます!
免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。
Copyright© 2022 湘ICP备2022001581号-3