一、PMM介紹
二、PMM架構解析
三、安裝運行PMM Server
四、安裝運行PMM Client
五、添加MySQL監控
六、查看監控和管理平台
七、添加MongoDB監控
八、儀錶盤設定
九、經常問的問題。 一、PMM介紹
Percona Monitoring and Management (PMM)是一款開源的用於管理和監控MySQL和MongoDB效能的開源平台,通過PMM用戶端收集到的DB監控資料用第三方軟體Grafana畫圖展示出來。
PMM提供了對MyISAM、InnoDB、TokuDB和PXC/Glarera的監控,另外也提供了Query Analytics的功能,可以檢視執行了哪些SQL指令,並對執行效能較差的文法進行最佳化。另外在新版本還支援了MySQL複寫拓撲圖結構構造。Demo官網:http://pmmdemo.percona.com
PMM針對作業系統的部份也提供了硬碟、網路、CPU和RAM的監控,特別的是它提供了Context switches、Processes和interrupts的監控,Context Switches可以看到CPU上下切換文的狀況,Processes可以方便瞭解系統有多少程式在等待I/O。 二、PMM架構解析
PMM架構如下圖所示
PMM Server是作為Docker鏡像distributed,而PMM Client就是一般的RPM,它需要安裝Server端和Client端軟體。
Server組件
Query Analytics(QAN)是用來搜集指令並作效能分析的,其組件分別說明如下: QAN API:作為percona-qan-agent後端儲存和讀取Query資料用。 QAN APP:提供圖形化分析介面。
Metrics Monitor(MM)組件提供了MySQL和MongoDB曆史監控資訊,其組件分別說明如下: Prometheus:一個開源的服務監控系統和時間序列資料庫,它串連到PMM Client上的exporter聚集DB的監控資料。
– Consul:提供API讓PMM Client可以遠端替Prometheus新增、移除hosts,同時它也儲存了監控的metadata。 Grafana:這是一個第三方Dashboard和圖形構建器,用於可視化Prometheus中彙總的資料,以Web呈現。
– Percona Dashboards:是由Percona開發的一組用於Grafana的儀表板。
上述的2個Web頁面都能從PMM Landing Page(就是PMM首頁)直接連結。
Client組件 ppm-admin:命令列的PMM Client管理工具,用來新增、移除監控的資料Instance。 percona-qan-agent:用於搜集QAN查詢效能效能資料,同時連結和傳送資料給PMM Server中的QAN API。 node_exporter:Prometheus exporter用於搜集一般系統資訊(https://github.com/prometheus/node_exporter)。 mysqld_exporter:Prometheus exporter用於搜集MySQL Server的資訊(https://github.com/percona/mysqld_exporter)。 mongodb_exporter:Prometheus exporter用於搜集MongoDB server的資訊(https://github.com/percona/mongodb_exporter)。 三、安裝運行PMM Server
概覽:用一台A伺服器運行監控程式,監控程式是基於Docker構建的。然後在需要被統計的伺服器上安裝pm-admin,這個工具會將資料即時的發送到A伺服器。A伺服器會分析統計資料,然後將資料展示在web端。
Percona發布了PMM Docker鏡像,使用者只需要下載鏡像運行就全部搞定,開箱即用相當easy。
PMM伺服器的Docker映像公開託管在https://hub.docker.com/r/percona/pmm-server。如果要從Docker映像運行PMM Server,則主機必須能夠運行Docker 1.13或更高版本,並具有網路存取權限。有關使用Docker的更多資訊,請參閱Docker文檔。
你可以通過執行下面的命令,高速安裝Docker。
| 1 |
$ curl - sSL https : / / get .daocloud .io / docker | sh |
適用於Ubuntu,Debian,Centos等大部分Linux,會3小時同步一次Docker官方資源。
3.1 建立PMM資料容器
| 1 2 3 4 5 6 7 |
$ docker create \ - v / opt / prometheus / data \ - v / opt / consul |