pmm 監控mysql、mongodb、系統
Pmm監控
1、概述
Pmm是(percona management and monitoring)一款用於數據庫(mysql、mongodb)的監控工具,是一種典型的C/S架構。本次部署采用的是docker,pmm-server端包括數據匯集、展示等,pmm-client主要是部署在需要監控的服務器上,用於數據收集。Pmm-server比較占系統資源,建議將其安裝在單獨一臺服務器上面或安裝在一臺性能比較好的服務器上。
2、部署server端
系統環境:centos7.2
Docker:1.12+
安裝docker(如果已經安裝,則跳過此步驟)
# yum –y install docker
#chkconfig docker on
1)首先部署一個PMM的數據容器,此容器僅用於數據存儲,不用運行。只需升級到較新的pmm服務器映像時,確保您保留所有PMM數據。不要刪除或重新創建此容器,除非您打算清除所有PMM數據並重新開始。
#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.2.0 /bin/true
2)運行pmm-server
# docker run -d -p 2112:80 \
--volumes-from pmm-data \
--name pmm-server \
-e SERVER_USER=mytest -e SERVER_PASSWORD=test123 \
-e ORCHESTRATOR_USER=orc -e ORCHESTRATOR_PASSWORD=orc\
--restart always\
percona/pmm-server:1.2.0
直接加載鏡像,可能會出現超時的報錯。選一臺網絡較好的服務器先將鏡像pull下來,在運行容器。
# docker pull percona/pmm-server:1.2.0
# docker save percona/pmm-server:1.2.0 >percona.tar
copy
到目標服務器:
# scp –p 26622 percona.tar
192.168.30.240:/data
加載鏡像:
# load < percona.tar
@
服務運行的端口為2112,由於暴漏80不安全,所以應設為2112端口,可以自己定義。
3)
驗證服務是否啟動成功
Component |
URL |
PMM landing page |
http:// 192.168.30.240:port |
Query Analytics (QAN web app) |
http:// 192.168.30.240/qan/ |
Metrics Monitor (Grafana) |
http:// 192.168.30.240/graph/User name: admin Password: admin |
Orchestrator |
http:// 192.168.30.240/orchestrator |
3、部署pmm-client
1)配置pmm-client的yum源:
# yum install https://www.percona.com/redir/downloads/percona-release/redhat/latest/percona-release-0.1-4.noarch.rpm
# yum –y install pmm-client
2)安裝成功後,配置連接pmm-server
# pmm-admin config --server 192.168.30.240 --server-user mytest --server-password test123
3)檢查client與server是否通信成功
# pmm-admin check-network
4、添加監控內容
1)監控服務器
# pmm-admin add linux:metrics --service-port 42000 主機名
2)監控mysql
#主數據庫添加監控用戶並授權(該用戶名和密碼會同步到從庫,切記不要在從庫授權)
MariaDB [(none)]> grant SELECT,RELOAD,SUPER,PROCESS,REPLICATION CLIENT on *.* to [email protected]"127.0.0.1" identified by ‘xxxxxxxxxx‘;
添加監控:
#pmm-admin add mysql --service-port 42002 --user pmm --password xxxxxx --host 127.0.0.1 --port 3306 主機名 --query-source slowlog
3)監控mongodb
#pmm-admin add mongodb --service-port 42003 --uri mongodb://用戶名:密碼@127.0.0.1:27017/admin
#pmm-admin add mongodb:metrics --service-port 42003 --uri mongodb://用戶名:密碼@127.0.0.1:27017/admin
#第一個會添加服務器和mongodb兩個監控,第二個只會監控mongodb。--service-port 指定服務端口。
5、常用的命令
# 添加監控服務
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 uninstal
6、升級pmm-server
# 先pull最新的pmm-server的鏡像,將現有的服務停掉,再以新的鏡像啟動。
# docker pull percona/percona-server-1.2.2
# docker stop pmm-server
# docker run -d -p 2112:80 \
--volumes-from pmm-data \
--name pmm-server \
-e SERVER_USER=mytest -e SERVER_PASSWORD=test123 \
-e ORCHESTRATOR_USER=orc -e ORCHESTRATOR_PASSWORD=orc\
--restart always\
percona/pmm-server:1.2.2
7、訪問:ip:port
需要登錄用戶名和密碼:就是啟動server是指定的—server-user mytest和—server-password test123
問題:
沒有數據,??
部署完成後,需要稍等一會,數據才會同步過去。
如果長時間沒有數據展示出來,就需要查看,用戶權限、pmm-client和pmm-server是否正常通信等。
pmm 監控mysql、mongodb、系統