「労働者が自分の仕事をうまくやりたいなら、まず自分の道具を研ぎ澄まさなければなりません。」 - 孔子、「論語。陸霊公」
表紙 > プログラミング > Prometheus 監視のために Galera クラスター ノードに MariaDB/MySQL Exporter をセットアップする方法

Prometheus 監視のために Galera クラスター ノードに MariaDB/MySQL Exporter をセットアップする方法

2024 年 11 月 8 日に公開
ブラウズ:727

How to Set Up MariaDB/MySQL Exporter on Galera Cluster Nodes for Prometheus Monitoring

こんにちは、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 をセットアップする手順:

前提条件

  • 複数のノードを持つ MariaDB Galera クラスター
  • Prometheus サーバーが稼働中です。
  • Grafana メトリクスを視覚化します (オプションですが推奨)。
  • エクスポーターをインストールするためのノードにアクセスします。

注: クラウド サーバー プロバイダーのマーケットプレイスで既に Prometheus Grafana のマシンを使用できます。ヘッツナー、デジタルオーシャン

ステップ 1: MySQL/MariaDB エクスポーターをインストールする

各 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

ステップ 2: MySQL/MariaDB 認証情報を使用してエクスポーターを構成する

エクスポータは 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';
フラッシュ権限;

ステップ 3: エクスポーターをサービスとして設定する

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

ステップ 4: Prometheus にエクスポーター ターゲットを追加する

次に、Prometheus 構成を更新してノードからメトリクスを収集します。以下を prometheus.yml ファイルに追加します:

その前に、

にアクセスして、MySQL Exporter が実行されているかどうかを確認できます。

curl http://:9104/metrics

このファイル (例: 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 リロード プロメテウス

ステップ 5: Grafana で視覚化する

Grafana を使用している場合は、MySQL/MariaDB モニタリング用に事前に構築されたダッシュボードをインポートできます。 MySQL/MariaDB メトリクスの一般的なダッシュボード ID の 1 つは 7362.

です。

インポートするには:

  1. Grafana を開きます。
  2. [ダッシュボード] > [インポート] に移動します。
  3. 「Grafana.com ダッシュボード」フィールドに 7362 と入力し、Load をクリックします。

これで、Grafana ダッシュボードに MariaDB Galera Cluster ノードの詳細なメトリクスが表示されるようになりました。

結論

各 Galera Cluster ノードに MariaDB Exporter をセットアップすると、Prometheus は主要なデータベース メトリクスを取得して監視できるようになりました。この設定により、クラスターの健全性とパフォーマンスについてのより詳細な洞察が得られ、必要に応じてトラブルシューティングと最適化が容易になります。

同様のものを設定している場合、またはご提案がある場合は、お気軽に以下にご質問やコメントを残してください。読んでいただきありがとうございます!

リリースステートメント この記事は次の場所に転載されています: https://dev.to/alighaemia/how-to-set-up-mariadbmysql-exporter-on-galera-cluster-nodes-for-prometheus-monitoring-4b3l?1 侵害がある場合、study_golang @163.comdelete までご連絡ください。
最新のチュートリアル もっと>

免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。

Copyright© 2022 湘ICP备2022001581号-3