性能監控之pcp
PCP 工具是RHEL7/Centos7裏引入的一個非常強大的性能分析監控工具,引用一下其官方站點及紅帽官方的介紹:Performance Co-Pilot (PCP) is an open source, distributed, metrics gathering and analysis system. This includes coverage of activity in the areas of: CPU, disk, memory, swapping, network, NFS, RPC, filesystems, and per-process statistics. 其可以提供GUI的觀察平臺,也可以通過提供數據給vector、grafana、webjs等前端平臺,通過這些平臺以web的形式將監控的結果展示出來。
一、pcp包安裝及命令工具使用
pcp性能採集使用的core包爲pcp包,直接可以使用yum -y install pcp 進行安裝,系統性能相關工具也可以通過安裝pcp-system-tools獲取。
# yum install pcp pcp-system-tools
pcp-system-tools 包裏包含的工具和我們之前常見的很多命令都類似,可以單獨執行:
[root@localhost ~]# rpm -ql pcp-system-tools
/usr/bin/pmatop
/usr/bin/pmcollectl
/usr/bin/pmiostat
/usr/libexec/pcp/bin/pcp-atop
/usr/libexec/pcp/bin/pcp-collectl
/usr/libexec/pcp/bin/pcp-dmcache
/usr/libexec/pcp/bin/pcp-free
/usr/libexec/pcp/bin/pcp-iostat
/usr/libexec/pcp/bin/pcp-numastat
/usr/libexec/pcp/bin/pcp-shping
/usr/libexec/pcp/bin/pcp-uptime
/usr/libexec/pcp/bin/pcp-verify
pmatop與top、atop類似,pmiostat與iostat輸出結果基本一樣,pcp-free和free命令輸出相同。pmstat (pcp包裏的)與vmstat結果相同。pcp包裏對應的還有相應的服務,尤其是pmcd服務是後面GUI和web查看的基礎,必須要先將本服務啓動後,纔可以通過提供一個接口給相應的程序進行圖形輸出。服務啓動命令如下:
# systemctl enable pmcd
# systemctl start pmcd.service
# firewall-cmd --add-port=44321/tcp --permanent
# firewall-cmd --reload
二、pcp-gui 視圖
可以通過安裝pcp-gui包查看具體某個指標的性能情況。pcp-gui 包中已經預先做了很多視圖,像IO、網絡、CPU等,如果感覺系統預設的視圖不滿足我們的要求時,也可以自定義視圖。
# yum -y install pcp-gui
安裝完成後運行pmchart,我這裏添加兩個視圖,結果如下:
pmcharts
三、web視圖
開篇也提到pcp可以通過webapi提供數據給vector、grafana、webjs等前端平臺進行展示,通過查看其自帶的yum源,也可以看出其支持的前端類型,如下:
其中webapi包是必須包,後面對應的前端包根據需要對應安裝即可。
# yum install pcp-webapp-vector pcp-webapi
# systemctl start pmcd pmwebd
# systemctl enable pmcd pmwebd
這幾種前端展示出的界面都非常漂亮,這裏截圖幾張可以看下: