摘要:監控和管理概述監控和管理是一個用于管理和監控和性能的開源平臺。是收集性能指標的。刪除數據容器升級服務器先停再刪,如果如要保留收集數據,不要執行此操作在和上安裝客戶端客戶端是安裝在您要監視的或主機上的一組代理和出口商。
Percona監控和管理概述
Percona監控和管理架構Percona監控和管理(PMM)是一個用于管理和監控MySQL和MongoDB性能的開源平臺。 它由Percona與托管數據庫服務,支持和咨詢領域的專家合作開發。 PMM是一個免費的開源解決方案,您可以在自己的環境中運行,以實現最大的安全性和可靠性。 它為MySQL和MongoDB服務器提供全面的基于時間的分析,以確保您的數據盡可能高效地工作。
PMM平臺基于簡單的客戶端 - 服務器模型,可實現高效的可擴展性。它包括以下模塊:
PMM Client安裝在您要監視的每個數據庫主機上。它收集服務器指標,一般系統指標和查詢分析數據,以獲得完整的性能概述。收集的數據發送到PMM服務器。
PMM Server是PMM的核心部分,它聚合收集的數據,并以Web界面的表格,儀表板和圖形的形式呈現。
PMM是旨在無縫協同工作的工具集合。一些是由Percona開發的,一些是第三方開源工具。
下圖說明了PMM當前的結構:
PMM ClientPMM客戶端軟件包適用于大多數流行的Linux發行版:
Red Hat Enterprise Linux衍生產品的RPM(包括CentOS,Oracle Linux,Amazon Linux等)
DEB用于基于Debian的發行版(包括Ubuntu等)
PMM客戶端軟件包包含以下內容:
pmm-admin是用于管理PMM客戶端的命令行工具,例如,添加和刪除要監視的數據庫實例。
percona-qan-agent是一種在收集查詢性能數據時管理查詢分析(QAN)代理的服務。它還與PMM服務器中的QAN API連接,并發送收集的數據。
node_exporter是收集一般系統指標的Prometheus exporter。有關詳細信息,請參閱https://github.com/prometheus...。
mysqld_exporter是收集MySQL服務器指標的Prometheus exporter。有關詳細信息,請參閱https://github.com/percona/my...。
mongodb_exporter是收集MongoDB服務器指標的Prometheus exporter。有關詳細信息,請參閱https://github.com/percona/mo...。
proxysql_exporter是收集ProxySQL性能指標的Prometheus exporter。有關詳細信息,請參閱https://github.com/percona/pr...。
PMM ServerPMM服務器將作為您的中央監控主機的機器運行。它通過以下方式作為設備分發:
可以用于運行容器的Docker映像
可以在VirtualBox或其他管理程序中運行
可以通過Amazon Web Services(AWS)運行的Amazon Machine Image(AMI)
PMM服務器由以下工具組成:
查詢分析(QAN)使您能夠在一段時間內分析MySQL查詢性能。除客戶端QAN代理外,還包括以下內容:
QAN API是用于存儲和訪問在PMM客戶端上運行的percona-qan-agent收集的查詢數據的后端
QAN Web App是用于可視化收集的Query Analytics數據的Web應用程序。
度量監視器(MM)提供對MySQL或MongoDB服務器實例至關重要的度量的歷史視圖。它包括以下內容:
Prometheus是一個第三方時間序列數據庫,連接到在PMM客戶端上運行的出口商,并匯總了收集的指標.
Consul提供一個PMM客戶端可以遠程列出,添加和刪除Prometheus主機的API。
Grafana是一個第三方儀表板和圖形構建器,用于在直觀的Web界面中可視化由Prometheus匯總的數據.
Percona儀表板是由Percona開發的Grafana儀表板
Orchestrator是MySQL復制拓撲管理和可視化工具。
部署方案(https://www.percona.com/doc/p...
參考:
[1] https://prometheus.io/docs/in...
[2] https://www.consul.io/docs/
[3] https://www.consul.io/docs/
[4] https://github.com/outbrain/o...
部署Percona監控和管理以下過程介紹如何正確部署PMM:
在主機上運行PMM Server,用于訪問收集的數據,查看基于時間的圖表,并執行性能分析。
以下選項可用:
使用Docker運行PMM服務器
使用VirtualBox運行PMM服務器
使用Amazon Machine Image(AMI)運行PMM服務器
安裝運行PMM Server(使用Docker運行PMM服務器)使用docker運行PMM Server
PMM服務器的Docker映像公開托管在https://hub.docker.com/r/perc...。 如果要從Docker映像運行PMM Server,則主機必須能夠運行Docker 1.13或更高版本,并具有網絡訪問權限。 有關使用Docker的更多信息,請參閱Docker文檔(https://docs.docker.com/)。
CentOS 6 安裝Docker
yum --enablerepo=epel -y install docker-io /etc/rc.d/init.d/docker start chkconfig docker on
第一步. 創建一個PMM數據容器注:使用pmm-server映像時,請使用特定的版本標簽,而不是最新的標簽。目前的穩定版本是1.1.3。
要創建持久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.1.3 /bin/true
此容器不運行,只需升級到較新的pmm服務器映像時,確保您保留所有PMM數據。不要刪除或重新創建此容器,除非您打算清除所有PMM數據并重新開始。
第二步、創建并運行PMM服務器容器要運行PMM服務器,請使用以下命令:
docker run -d -p 666:80 --volumes-from pmm-data --name pmm-server --restart always percona/pmm-server:1.1.3
確認PMM 安裝運行是否正確注意:這里666端口是自定義的,因為筆者實驗機80已被占用
通過使用運行容器的主機的IP地址連接到PMM Web界面來驗證PMM服務器是否正在運行,然后在要監視的所有數據庫主機上安裝PMM Client
Component | URL |
---|---|
PMM landing page | http://192.168.0.99:port |
Query Analytics (QAN web app) | http://192.168.0.99/qan/ |
Metrics Monitor (Grafana) | http://192.168.0.99/graph/User name: admin Password: admin |
Orchestrator | http://192.168.0.99/orchestrator |
在停止和刪除PMM服務器之前,請確保相關的PMM客戶端不通過刪除所有監視的實例來收集任何數據,如刪除監控服務中所述。
docker stop pmm-server && docker rm pmm-server docker rm pmm-data # 刪除pmm數據容器升級PMM服務器
docker stop pmm-server # 先停 docker rm pmm-server # 再刪,如果如要保留收集數據,不要執行此操作 docker run -d -p 999:80 --volumes-from pmm-data --name pmm-server --restart always --init percona/pmm-server:1.1.3在Red Hat和CentOS上安裝PMM客戶端
安裝PMM客戶端PMM客戶端是安裝在您要監視的MySQL或MongoDB主機上的一組代理和出口商。 組件收集關于一般系統和數據庫性能的各種數據,并將該數據發送到相應的PMM服務器組件。
注:不應該在具有相同主機名的數據庫服務器上安裝代理,因為PMM服務器使用主機名來標識收集的數據。
PMM客戶端應該運行在任何現代的Linux發行版上,但是Percona提供的PMM客戶端軟件包只能從最受歡迎的Linux發行版的軟件倉庫進行自動安裝:
系統事先無percona的yum源,需要新增
sudo yum install https://www.percona.com/redir/downloads/percona-release/redhat/latest/percona-release-0.1-4.noarch.rpm
安裝pmm-client軟件包
sudo yum install pmm-client -y將PMM客戶端連接到PMM服務器
使用pmm-admin config --help,查看幫助
[root@backup-server ~]# sudo pmm-admin config --server 192.168.0.99:666 OK, PMM server is alive. PMM Server | 192.168.0.99:666 Client Name | backup-server Client Address | 192.168.0.47開始數據收集
將客戶端連接到PMM服務器后,通過添加監控服務,從數據庫實例啟用數據收集。
要啟用一般系統度量,MySQL指標和查詢分析,請運行:
管理PMM客戶端# 添加監控服務 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
添加MySQL查詢分析服務
默認情況下不存在初始的被pmm-client使用的mysql用戶,需要自己創建,筆者是登錄到mysql中創建的用戶,感興趣的同學可以使用pmm-admin提供的參數創建默認用戶
GRANT ALL PRIVILEGES ON *.* TO "pmm"@"192.168.0.47" IDENTIFIED BY "pmmpassword"; # 創建用戶成功 [root@backup-server ~]# sudo pmm-admin add mysql:metrics --user pmm --password pmmpassword --host 192.168.0.47 # 使用創建的用戶添加監控mysql服務 OK, now monitoring MySQL metrics using DSN pmm:***@tcp(192.168.0.47:3306) [root@backup-server ~]# sudo pmm-admin add mysql:queries --user pmm --password pmmpassword --host 192.168.0.47
查看當前服務器監控的服務
[root@backup-server ~]# pmm-admin list pmm-admin 1.1.3 PMM Server | 192.168.0.99:666 Client Name | backup-server Client Address | 192.168.0.47 Service Manager | unix-systemv -------------- -------------- ----------- -------- ------------------------------- ------------------------------------------ SERVICE TYPE NAME LOCAL PORT RUNNING DATA SOURCE OPTIONS -------------- -------------- ----------- -------- ------------------------------- ------------------------------------------ mysql:queries backup-server - YES pmm:***@tcp(192.168.0.47:3306) query_source=slowlog, query_examples=true linux:metrics backup-server 42000 YES - mysql:metrics backup-server 42002 YES pmm:***@tcp(192.168.0.47:3306) tablestats=OFF報錯排查
QAN API error: "qh.Profile: No query classes for selected instance and time range. Please check whether your MySQL settings match the recommended.".Check the /var/log/qan-api.log file in docker container for more information
# mysql 開啟慢日志查詢 yum install percona-toolkit -y # 建議安裝 # slow_query_log = 1 long_query_time = 2 # 重啟mysql(mysql5.6) /etc/init.d/mysql restart
繼續訪問http://192.168.0.99:666,查看監控mysql的狀態
后續補充監控MongoDB的教程。。。
參考鏈接:https://www.percona.com/softw...
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/19087.html
摘要:推薦閱讀資源庫工具應用程序精選列表中文版有哪些鮮為人知,但是很有意思的網站一份攻城獅筆記每天搜集上優秀的項目一些有趣的民間故事超好用的谷歌瀏覽器油猴插件合集目錄資源文檔文章圖書會談教程更多庫工具管理數據部署桌面發展監控應用資源文檔介紹文檔教 推薦閱讀 MongoDB 資源、庫、工具、應用程序精選列表中文版 有哪些鮮為人知,但是很有意思的網站? 一份攻城獅筆記 每天搜集 Github ...
摘要:郭理靖表示,在京東商城的實踐中,針對線上系統選擇構建兩個機房,分別是生產環境以及在災備環境。在監控引擎方面,京東云的嘗試也是比較細致的,其中包括監控服務報警服務等。進一步,根據不同的報警,我們可以定位到 showImg(https://segmentfault.com/img/bVbtNqp?w=688&h=113); showImg(https://segmentfault.com/...
摘要:郭理靖表示,在京東商城的實踐中,針對線上系統選擇構建兩個機房,分別是生產環境以及在災備環境。在監控引擎方面,京東云的嘗試也是比較細致的,其中包括監控服務報警服務等。進一步,根據不同的報警,我們可以定位到 showImg(https://segmentfault.com/img/bVbtNqp?w=688&h=113); showImg(https://segmentfault.com/...
摘要:郭理靖表示,在京東商城的實踐中,針對線上系統選擇構建兩個機房,分別是生產環境以及在災備環境。在監控引擎方面,京東云的嘗試也是比較細致的,其中包括監控服務報警服務等。進一步,根據不同的報警,我們可以定位到 showImg(https://segmentfault.com/img/bVbtNqp?w=688&h=113); showImg(https://segmentfault.com/...
閱讀 2781·2023-04-25 14:41
閱讀 2375·2021-11-23 09:51
閱讀 3674·2021-11-17 17:08
閱讀 1667·2021-10-18 13:31
閱讀 5528·2021-09-22 15:27
閱讀 910·2019-08-30 15:54
閱讀 2222·2019-08-30 13:16
閱讀 728·2019-08-29 17:04