mysqld_exporter インストール チュートリアル

1. mysql エクスポーターのバイナリ ファイル圧縮パッケージをダウンロードします。

1. ノードでコマンド ダウンロードを実行します。 

wget "https://github.com/prometheus/mysqld_exporter/releases/download/v0.12.1/mysqld_exporter-0.12.1.linux-amd64.tar.gz" 

 2. 圧縮パッケージを解凍します

[root@master mysql]# ls
mysqld_exporter-0.12.1.linux-amd64.tar.gz
[root@master mysql]# tar -xzf mysqld_exporter-0.12.1.linux-amd64.tar.gz
[root@master mysql]# ls
mysqld_exporter-0.12.1.linux-amd64  mysqld_exporter-0.12.1.linux-amd64.tar.gz

2. mysqld_exporter-0.12.1.linux-amd64 ディレクトリにある mysqld_exporter バイナリ ファイルを /usr/local/bin パスにコピーします。

[root@master mysql]# cd mysqld_exporter-0.12.1.linux-amd64/
[root@master mysqld_exporter-0.12.1.linux-amd64]# ls
LICENSE  mysqld_exporter  NOTICE
[root@master mysqld_exporter-0.12.1.linux-amd64]# cp mysqld_exporter /usr/local/bin/
[root@master mysqld_exporter-0.12.1.linux-amd64]# ls -l /usr/local/bin/mysqld_exporter
-rwxr-xr-x. 1 root root 14813452 Oct 22 15:05 /usr/local/bin/mysqld_exporter

3. mysqld-exporter の MySQL 認証ユーザー アカウントのパスワードを設定します。

MySQL コマンドを実行して、新しいユーザーを作成し、権限を付与します (コマンドの関連するパラメーターは、実際の状況に応じて変更する必要があります) 注
: 断片化の監視によるサーバーの過負荷を避けるために、ユーザーの最大接続制限を設定することをお勧めしますサーバーの負荷が高い場合、すべての MySQL/MariaDB バージョンではありません。この機能はサポートされています。たとえば、MariaDB 10.1 (Ubuntu 18.04 で提供) はこの機能をサポートしていません。

mysql -uroot -P3310 -h10.82.42.197 -p


CREATE USER 'exporter'@'127.0.0.1' IDENTIFIED BY 'dangerous.pwd' WITH MAX_USER_CONNECTIONS 5;
GRANT PROCESS, REPLICATION CLIENT, SELECT ON *.* TO 'exporter'@'127.0.0.1';

4.systemd サービス ファイルを作成する 

実際の状況に応じて、環境構成の値を変更します。
前の手順で create user コマンドの認証パラメーターを変更していない場合は、
以下のすべてのテキスト コマンドを変更せずに直接コピーし
てノードで実行できます。

cat <<EOF > /etc/systemd/system/mysqld_exporter.service
[Unit]
Description=mysqld_exporter
After=network.target 

[Service]
Environment=DATA_SOURCE_NAME=exporter:dangerous.pwd@(127.0.0.1:3306)/
User=nobody
Group=nobody
Type=simple
ExecStart=/usr/local/bin/mysqld_exporter\\
          --web.listen-address=:9104

[Install]
WantedBy=multi-user.target
EOF

 

5. システムの systemd 設定をオーバーロードする 

执行命令:systemctl daemon-reload

6.サービスを開始し、サービスが自動的に開始されるように設定します

[root@master mysqld_exporter]# systemctl enable --now mysqld_exporter
Created symlink from /etc/systemd/system/multi-user.target.wants/mysqld_exporter.service to /etc/systemd/system/mysqld_exporter.service.

 

7. サービスの実行状況を確認する

コマンドを実行して、主に Active 属性値とログのプロンプトに応じて、
次のようなエコー結果を取得します。

systemctl status mysqld_exporteractive(running)Listening on :9104

mysqld_exporter.service - mysqld_exporter
   Loaded: loaded (/etc/systemd/system/mysqld_exporter.service; enabled; vendor preset: disabled)
   Active: active (running) since Thu 2020-10-22 16:47:41 CST; 1min 27s ago
 Main PID: 31810 (mysqld_exporter)
   CGroup: /system.slice/mysqld_exporter.service
           └─31810 /usr/local/bin/mysqld_exporter --web.listen-address=:9104

Oct 22 16:47:41 master mysqld_exporter[31810]: time="2020-10-22T16:47:41+08:00" level=info msg="Starting mysqld_exporter (version=0.12.1, branch=HEAD, revision=48667bf7c3b438b5e93b259f3d17b70...porter.go:257"
Oct 22 16:47:41 master mysqld_exporter[31810]: time="2020-10-22T16:47:41+08:00" level=info msg="Build context (go=go1.12.7, user=root@0b3e56a7bc0a, date=20190729-12:35:58)" source="mysqld_exporter.go:258"
Oct 22 16:47:41 master mysqld_exporter[31810]: time="2020-10-22T16:47:41+08:00" level=info msg="Enabled scrapers:" source="mysqld_exporter.go:269"
Oct 22 16:47:41 master mysqld_exporter[31810]: time="2020-10-22T16:47:41+08:00" level=info msg=" --collect.global_status" source="mysqld_exporter.go:273"
Oct 22 16:47:41 master mysqld_exporter[31810]: time="2020-10-22T16:47:41+08:00" level=info msg=" --collect.global_variables" source="mysqld_exporter.go:273"
Oct 22 16:47:41 master mysqld_exporter[31810]: time="2020-10-22T16:47:41+08:00" level=info msg=" --collect.slave_status" source="mysqld_exporter.go:273"
Oct 22 16:47:41 master mysqld_exporter[31810]: time="2020-10-22T16:47:41+08:00" level=info msg=" --collect.info_schema.innodb_cmp" source="mysqld_exporter.go:273"
Oct 22 16:47:41 master mysqld_exporter[31810]: time="2020-10-22T16:47:41+08:00" level=info msg=" --collect.info_schema.innodb_cmpmem" source="mysqld_exporter.go:273"
Oct 22 16:47:41 master mysqld_exporter[31810]: time="2020-10-22T16:47:41+08:00" level=info msg=" --collect.info_schema.query_response_time" source="mysqld_exporter.go:273"
Oct 22 16:47:41 master mysqld_exporter[31810]: time="2020-10-22T16:47:41+08:00" level=info msg="Listening on :9104" source="mysqld_exporter.go:283"

 

8.テストインターフェース

ノードでコマンド アクセス インターフェイスを使用して、
次のような結果を取得します (mysql_up 値は 0 ではありません)。curl -s { {节点IP}}:9104/metrics | grep mysql_up

[root@master ~]# curl  -s 192.168.150.166:9104/metrics | grep mysql_up
# HELP mysql_up Whether the MySQL server is up.
# TYPE mysql_up gauge
mysql_up 1

 または、ブラウザーを直接使用して、関連する mysqld インスタンス インジケーター情報にアクセスして表示します。これは正常です。{ {节点IP}}:9104/metrics

おすすめ

転載: blog.csdn.net/summer_fish/article/details/128797902