天天看點

0833-如何使用Prometheus監控MySQL

作者:唐輝

1.文檔編寫目的

在《​​如何安裝及使用Prometheus​​》文中有對Prometheus 做簡單的介紹,并且通過node_exporter的模闆示例介紹了如何監控主機資訊。本文主要介紹如何使用Prometheus監控MySQL資料庫資訊 

  • 測試環境

作業系統:Redhat 7.6

伺服器類型:x86

2.mysqld_exporter下載下傳及配置

1. mysqld_exporter安裝包下載下傳

下載下傳位址:https://prometheus.io/download/#mysqld_exporter

0833-如何使用Prometheus監控MySQL

可以離線下載下傳後解壓或者如下:

wget https://github.com/prometheus/mysqld_exporter/releases/download/v0.12.1/mysqld_exporter-0.12.1.linux-amd64.tar.gz 
#解壓
tar xvfz mysqld-*.tar.gz cd mysqld-*      
0833-如何使用Prometheus監控MySQL

在MySQL中建立mysql_exporter使用者并授權用于資料采集

MariaDB [(none)]> CREATE USER 'mysql_exporter'@'localhost' IDENTIFIED BY 'password123';
Query OK, 0 rows affected (0.11 sec)

MariaDB [(none)]> GRANT PROCESS, REPLICATION CLIENT, SELECT ON *.* TO 'mysql_exporter'@'localhost';      
0833-如何使用Prometheus監控MySQL

2.編輯配置檔案

[client]
user=mysql_exporter
password=password123      
0833-如何使用Prometheus監控MySQL

3.啟動mysqld_exporter

./mysqld_exporter --config.my-cnf mysql_exporter.cnf
#檢視幫助 --help 可用于檢視參數
./mysqld_exporter --help      
0833-如何使用Prometheus監控MySQL

4.添加Prometheus 采集任務

在prometheus.yml 添加如下配置并重新開機prometheus

- job_name: 'mysql'
    static_configs:
    - targets: ['192.168.0.99:9104']      
0833-如何使用Prometheus監控MySQL
nohup ./prometheus --config.file=prometheus.yml --web.listen-address=:9200 > /var/log/prometheus.log 2>&1 &      
0833-如何使用Prometheus監控MySQL

然後到Web UI檢視監控狀态,确認已成功監控

http://192.168.0.100:9200/targets      
0833-如何使用Prometheus監控MySQL

3.內建Grafana展示

關于如何下載下傳安裝Grafana,在之前的《​​0707-如何安裝Grafana并使用Cloudera Manager datasource插件​​》以及前面的《​​如何安裝及使用Prometheus​​》有詳細介紹。

首先到Grafana 官網推薦的dashboard中下載下傳一個展示樣例模闆來展示 MySQL Exporter的資訊,下載下傳位址https://grafana.com/grafana/dashboards

本文舉例使用https://grafana.com/grafana/dashboards/7362 MySQL Overview 模闆用于展示

0833-如何使用Prometheus監控MySQL

然後導入Grafana,如果有連接配接外網可以使用id 方式,離線可以通過下載下傳JSON檔案的方式導入,該模闆的id 為7362

0833-如何使用Prometheus監控MySQL

導入後選擇Prometheus資料源,然後執行導入

0833-如何使用Prometheus監控MySQL

顯示效果如下:

0833-如何使用Prometheus監控MySQL

舉例說明名額資訊:

0833-如何使用Prometheus監控MySQL

4.Prometheus簡介

在CDH叢集安裝的過程中,大多數人用MySQL 來做叢集的中繼資料庫,但是在CM中卻沒有對中繼資料庫有很好的監控資訊,通過Prometheus監控MySQL 資訊可以更友善的用于排查叢集中的因中繼資料庫導緻的性能問題。

繼續閱讀