Percona Monitoring and Management(PMM)是一個(gè)開源平臺(tái),用于管理和監(jiān)控MySQL和MongoDB的性能。它是由Percona公司管理數(shù)據(jù)庫(kù)服務(wù)、支持和咨詢領(lǐng)域的專家合作開發(fā)的。
它為MySQL和MongoDB服務(wù)器提供了全面的基于時(shí)間的分析,以確保您的數(shù)據(jù)盡可能高效地工作。
PMM架構(gòu):
PMM是傳統(tǒng)的C/S模型,有2部分組成:
1.PMM Client:安裝在要監(jiān)視的每個(gè)數(shù)據(jù)庫(kù)主機(jī)上。它收集監(jiān)控方面的服務(wù)器硬件信息、一般系統(tǒng)信息和查詢分析數(shù)據(jù),以獲得完整的性能概述。
2.PMM Server:PMM的核心部分,它聚合收集到的數(shù)據(jù)并在web界面中以表、儀表板和圖形的形式顯示它們。
架構(gòu)圖:

PMM Client
每個(gè)PMM Client 收集關(guān)于通用系統(tǒng)和數(shù)據(jù)庫(kù)性能的各種數(shù)據(jù),并將這些數(shù)據(jù)發(fā)送到相應(yīng)的PMM Server
PMM Client 包括以下內(nèi)容:
● pmm-admin:管理PMM Client的命令行工具,比如添加和刪除要監(jiān)視的數(shù)據(jù)庫(kù)實(shí)例。
●pmm-mysql-queries-0:是一種服務(wù),它管理QAN代理,從MySQL收集查詢性能數(shù)據(jù)并將其發(fā)送到PMM服務(wù)器上的QAN API。
● pmm-mongodb-queries-0:是一種服務(wù),它管理QAN代理,從MongoDB收集查詢性能數(shù)據(jù)并將其發(fā)送到PMM服務(wù)器上的QAN API。
● node_exporter:是一個(gè)收集一般系統(tǒng)指標(biāo)的 Prometheus exporter。
● mysqld_exporter:是一個(gè)收集MySQL服務(wù)指標(biāo)的Prometheus exporter。
● mongodb_exporter:是一個(gè)收集MongoDB服務(wù)指標(biāo)的Prometheus exporter。
● proxysql_exporter:是一個(gè)收集ProxySQL性能指標(biāo)的Prometheus exporter。
PMM Server
PMM Server 運(yùn)行在中央監(jiān)視主機(jī)上。它通過以下方式作為一個(gè)設(shè)備分發(fā):
● 可以用來運(yùn)行容器的Docker映像
● 可以在VirtualBox或其他hypervisor中運(yùn)行
● 可以通過Amazon Web服務(wù)運(yùn)行
PMM服務(wù)器包括以下工具:
● Query Analytics 使您能夠在一段時(shí)間內(nèi)分析MySQL查詢性能。除了客戶端QAN agent 之外,它還包括以下內(nèi)容:
-- QAN API: 用于存儲(chǔ)和訪問由運(yùn)行在PMM客戶機(jī)上的QAN代理收集的查詢數(shù)據(jù)的后端。
-- QAN Web App:一個(gè)把收集的查詢分析數(shù)據(jù)可視化的Web 應(yīng)用程序。
● Metrics Monitor 提供對(duì)MySQL或MongoDB服務(wù)器實(shí)例至關(guān)重要的指標(biāo)的歷史視圖。它包括以下內(nèi)容:
-- Prometheus:是一個(gè)第三方時(shí)間序列數(shù)據(jù)庫(kù),它連接到運(yùn)行在PMM Client上的exporters,并匯總exporters收集的指標(biāo)。
Cousul 提供API,PMM Client 可以使用該API為Prometheus遠(yuǎn)程列出、添加和刪除主機(jī)。
--* Grafana:*是一個(gè)第三方儀表盤和圖形構(gòu)建器,通過一個(gè)直觀的Web頁面可視化Prometheus數(shù)據(jù)。
● Orchestrator:是 一個(gè)MySQL復(fù)制拓?fù)涔芾砗涂梢暬ぞ?/strong>