入題之前先講講為什么寫這篇文章,這就不得不提起mysql與percona,阿里基於mysql開發了AliSQL,寫這篇文章的時候阿里已經將其開源,percona是一家領先的MySQL咨詢公司,該公司基於mysql開發了Percona Server,Percona Server是一款獨立的數據庫產品,為用戶提供了換出其MySQL安裝並換入Percona Server產品的能力。percona除了開發了多款數據庫產品,還開發了數據庫監控程序:pmm(Percona Monitoring and Management)服務器,我們都知道mysql自身缺乏實時的監控功能,而此時pmm-server就恰好解決了我們這一難題,好了廢話不多說,先看一張pmm server的監控圖。
常規的監測項目都有了,最吸引我的一點在於它的慢日志分析功能,如下圖所示:
步驟:
--registry-mirror=https://docker.mirrors.ustc.edu.cn
Ubuntu 用戶(包括使用 systemd 的 Ubuntu 15.04)可以修改 /etc/default/docker 文件,加入如下參數:
DOCKER_OPTS="--registry-mirror=https://docker.mirrors.ustc.edu.cn"
其他 systemd 用戶可以通過執行 sudo systemctl edit docker.service 來修改設置, 覆蓋默認的啟動參數:
[Service]
ExecStart=
ExecStart=/usr/bin/docker -d -H fd:// --registry-mirror=https://docker.mirrors.ustc.edu.cn
-v /opt/prometheus/data \
-v /opt/consul-data \
-v /var/lib/mysql \
-v /var/lib/grafana \
--name pmm-data \
percona/pmm-server:1.1.3 /bin/true
-p 80:80 \
--volumes-from pmm-data \
--name pmm-server \
--restart always \
percona/pmm-server:1.1.3
a.MySQL所在機器的系統指標
b.MySQL的performance_schema庫
c.slow-log(慢查詢日志--mysql要開啟慢日志功能)
如果我們想收集a和c中的指標的話,最好還是將pmm-client部署在MySQL所在機器
Component | URL |
---|---|
PMM landing page | http://192.168.100.1 |
Query Analytics (QAN web app) | http://192.168.100.1/qan/ |
Metrics Monitor (Grafana) |
http://192.168.100.1/graph/
User name:
admin
Password:
admin
|
Orchestrator | http://192.168.100.1/orchestrator |
pmm-admin 常用命令介紹
# 添加監控服務
pmm-admin add
# 檢查PMM客戶端和PMM服務器之間的網絡連接。
pmm-admin check-network
# 配置PMM Client如何與PMM服務器通信。
pmm-admin config
# 打印任何命令和退出的幫助
pmm-admin help
# 打印有關PMM客戶端的信息
pmm-admin info
# 出為此PMM客戶端添加的所有監控服務
pmm-admin list
# 檢查PMM服務器是否存活
pmm-admin ping
# 檢查PMM服務器是否存活。
pmm-admin purge
# 清除PMM服務器上的度量數據
pmm-admin remove, pmm-admin rm
# 刪除監控服務
pmm-admin repair
# 重啟pmm
pmm-admin restart
# 打印PMM Client使用的密碼
pmm-admin show-passwords
# 開啟監控服務
pmm-admin start
# 停止監控服務
pmm-admin stop
# 在卸載之前清理PMM Client
pmm-admin uninstall