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获取。

1# yum install pcp pcp-system-tools

pcp-system-tools 包里包含的工具和我们之前常见的很多命令都类似,可以单独执行:

 1[root@localhost ~]# rpm -ql pcp-system-tools
 2/usr/bin/pmatop
 3/usr/bin/pmcollectl
 4/usr/bin/pmiostat
 5/usr/libexec/pcp/bin/pcp-atop
 6/usr/libexec/pcp/bin/pcp-collectl
 7/usr/libexec/pcp/bin/pcp-dmcache
 8/usr/libexec/pcp/bin/pcp-free
 9/usr/libexec/pcp/bin/pcp-iostat
10/usr/libexec/pcp/bin/pcp-numastat
11/usr/libexec/pcp/bin/pcp-shping
12/usr/libexec/pcp/bin/pcp-uptime
13/usr/libexec/pcp/bin/pcp-verify

pmatop与top、atop类似,pmiostat与iostat输出结果基本一样,pcp-free和free命令输出相同。pmstat (pcp包里的)与vmstat结果相同。pcp包里对应的还有相应的服务,尤其是pmcd服务是后面GUI和web查看的基础,必须要先将本服务启动后,才可以通过提供一个接口给相应的程序进行图形输出。服务启动命令如下:

1# systemctl enable pmcd
2# systemctl start pmcd.service
3# firewall-cmd --add-port=44321/tcp --permanent
4# firewall-cmd --reload

二、pcp-gui 视图

可以通过安装pcp-gui包查看具体某个指标的性能情况。pcp-gui 包中已经预先做了很多视图,像IO、网络、CPU等,如果感觉系统预设的视图不满足我们的要求时,也可以自定义视图。

1# yum -y install pcp-gui

安装完成后运行pmchart,我这里添加两个视图,结果如下:

pmcharts

三、web视图

开篇也提到pcp可以通过webapi提供数据给vector、grafana、webjs等前端平台进行展示,通过查看其自带的yum源,也可以看出其支持的前端类型,如下:

pcp-webapi

其中webapi包是必须包,后面对应的前端包根据需要对应安装即可。

1# yum install pcp-webapp-vector pcp-webapi
2# systemctl start pmcd pmwebd
3# systemctl enable pmcd pmwebd

这几种前端展示出的界面都非常漂亮,这里截图几张可以看下:

pcp grafana

参考文档与页面

PCP官方PDF说明文档

redhat官方相关文档

redhat pcp相关命令组件说明

redhat官方博客