PMM(Percona Monitoring and Management)
是一個用於管理和監控資料庫效能的開源平臺。 。 它能提供全面的基於時間和各類監控指標、計數器的分析。
效能測試中,是做資料庫監控的較好工具。
官網
https://www.percona.com/doc/percona-monitoring-and-management/index.html
支援的資料庫
mysql、mongodb、postgresql
原理分析
以mysql為例,整個工作的基本原理簡單說:
- PMM-Client客戶端,採用mysql_exporter(多數軟體都有此exporter監控計數器),收集資料
- PMM-Client客戶端呼叫PMM-Server服務端的api,把收集的資料儲存到服務端的資料庫。
- PMM-Server服務端其實是整合了Grafana的功能,支援對收集的資料做視覺化展示和查詢
快速搭建
- 安裝服務端
$ docker pull percona/pmm-server:1
$ docker create \
-v /opt/prometheus/data \
-v /opt/consul-data \
-v /var/lib/mysql \
-v /var/lib/grafana \
--name pmm-data \
percona/pmm-server:1 /bin/true
$ docker run -d \
-p 80:80 \
--volumes-from pmm-data \
--name pmm-server \
--restart always \
percona/pmm-server:1
測試是否成功
瀏覽器訪問http://伺服器端ip:埠
- 安裝客戶端-在目標資料庫主機
$ yum install pmm-client
- 配置客戶端監控
pmm-admin config --server 伺服器端ip:埠
pmm-admin add mysql:metrics --user 資料庫使用者名稱 --password 資料庫密碼 --host 資料庫IP
pmm-admin add mysql:queries --user 資料庫使用者名稱 --password 資料庫密碼 --host 資料庫IP
效果展示
慢sql監控:可以直觀看到慢sql的執行過程、執行計劃、執行詳情、索引詳情
資料庫效能監控:可以監控CPU、IO、Swap、Network
掃一掃,關注我