Prometheus+Grafana のビジュアルモニタリング [MySQL ステータス]

1.Dockerをインストールする

注: 以前に作成したスクリプトを使用して Docker をインストールします。すでに Docker をお持ちの場合は、この手順を省略してください。Docker は、MySQL データベースのデプロイメントを容易にするためにインストールされます。すでにデータベースをお持ちの場合は、最初の 2 つの手順を省略できます。

クリックして Docker オフライン インストール スクリプトを取得します

tar zxf docker20.10.14Install.tar.gz
cd docker20.10.14Install
bash install.sh

以下に示すように Docker のステータスを確認します。問題がないことを意味します。

systemctl status docker

ここに画像の説明を挿入します

2. MySQLデータベースのインストール(Dockerコンテナ方式)

1. 前提条件の準備:

docker pull mysql:8.0.27
mkdir /data/db -p

systemctl stop firewalld
systemctl disable firewalld
iptables -F

2. コンテナを実行します。

docker run -itd --name mysql -e MYSQL_ROOT_PASSWORD=NTQ34tg*@19VF \
	 -v /data/db:/var/lib/mysql  -p 3306:3306 -v /etc/localtime:/etc/localtime \
	  --restart=always mysql:8.0.27

3. コンテナが接続できるかテストする

docker exec -it  mysql  mysql -uroot -pNTQ34tg*@19VF

もちろん、以下に示すように、ツールを使用して接続をテストすることもできます。
ここに画像の説明を挿入します

データベースに正常にアクセスできることを確認してください。

4. MySQL監視ユーザーを作成する

create user "prometheus"@"%" identified by 'NTQ34tg*@19VF';
grant select,replication client,process ON *.* to "prometheus"@"%";
flush privileges;

3.Prometheusをインストールする

1. 時刻とタイムゾーンの同期

timedatectl set-timezone Asia/Shanghai
yum -y install ntpdate
/usr/sbin/ntpdate -u ntp1.aliyun.com

スケジュールされたタスクの同期時間を構成する

echo "0 5 * * * /usr/sbin/ntpdate -u ntp1.aliyun.com >/dev/null &" >> /var/spool/cron/root
crontab -l

2.Prometheusをインストールする

wget https://github.com/prometheus/prometheus/releases/download/v2.42.0/prometheus-2.42.0.linux-amd64.tar.gz

tar zxf prometheus-2.42.0.linux-amd64.tar.gz 
mv prometheus-2.42.0.linux-amd64 /usr/local/prometheus

3.systemd管理の構成

cat > /usr/lib/systemd/system/prometheus.service << EOF
[Unit]

[Service]
ExecStart=/usr/local/prometheus/prometheus --config.file=/usr/local/prometheus/prometheus.yml
ExecReload=/bin/kill -HUP \$MAINPID

[Install]
WantedBy=multi-user.target
Alias=dbus-org.fedoraproject.FirewallD1.service
EOF

4. 起動時に自動起動を開始および設定する

systemctl enable prometheus --now
systemctl status prometheus

ここに画像の説明を挿入します
表示は上のようになります。これは Prometheus に問題がないことを意味します。デフォルトのポートは 9090 です。ブラウザでアクセスできます。> をクリックすると、以下に示すようにPrometheus
自身のメトリクスが表示されます。StatusTargets
ここに画像の説明を挿入します

4.グラファナをインストールする

1.グラファナをインストールする

wget https://dl.grafana.com/enterprise/release/grafana-enterprise-9.4.1-1.x86_64.rpm
sudo yum install grafana-enterprise-9.4.1-1.x86_64.rpm -y

systemctl enable grafana-server.service --now

2. WEB ページの検証。
デフォルトのポートは 3000 です。初めてアクセスするときは、以下に示すように、パスワードをリセットするように求められます。
ここに画像の説明を挿入します
ここに画像の説明を挿入します

5. プロネテウスとグラファナには関連性がある

ここに画像の説明を挿入します
ここに画像の説明を挿入します
ここに画像の説明を挿入します

6.mysqld_exporterをインストールする

1.mysqld_exporterをインストールする

wget https://github.com/prometheus/mysqld_exporter/releases/download/v0.14.0/mysqld_exporter-0.14.0.linux-amd64.tar.gz
tar zxf mysqld_exporter-0.14.0.linux-amd64.tar.gz 
mv mysqld_exporter-0.14.0.linux-amd64 /usr/local/mysqld_exporter

2. データベースのユーザー情報を監視するように Prometheus を構成する

cd /usr/local/mysqld_exporter
cat > .my.cnf <<EOF
[client]
user=prometheus
password=NTQ34tg*@19VF
EOF

3.systemd管理の構成

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

[Service]
Type=simple
ExecStart=/usr/local/mysqld_exporter/mysqld_exporter --config.my-cnf=/usr/local/mysqld_exporter/.my.cnf
ExecReload=/bin/kill -HUP \$MAINPID
Restart=on-failure
RestartSec=30s

[Install]
WantedBy=multi-user.target
EOF

起動時に自動起動して参加する

systemctl enable mysqld_exporter --now
systemctl status  mysqld_exporter

ここに画像の説明を挿入します

デフォルトのポートは 9104 です

ss -anput |grep 9104

4. Prometheus 設定ファイルで mysqld_exporter 情報を指定します。

vim /usr/local/prometheus/prometheus.yml

  - job_name: "MySQL_115"
    static_configs:
      - targets: ["16.32.15.115:9104"]

構成ファイルを追加した後、コマンドを使用して形式に問題がないかどうかをテストします。

cd  /usr/local/prometheus/
./promtool check config prometheus.yml

プロメテウスを再起動する

systemctl restart prometheus.service

7. Grafana が MySQL 監視テンプレートを追加

ここでは MySQL のテンプレートID が使用されています: 7362
click 下方红圈地方>>import输入模板ID
ここに画像の説明を挿入します

ここに画像の説明を挿入します
最終的なレンダリングは次のようになります。
ここに画像の説明を挿入します

おすすめ

転載: blog.csdn.net/weixin_45310323/article/details/132841225