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
这几种前端展示出的界面都非常漂亮,这里截图几张可以看下: