开源监控之Performance Co-Pilot
Performance Co-Pilot(PCP)是一个开源框架和工具包,用于监控,分析和响应实时和历史系统性能的细节。PCP具有完全分布式,基于插件的架构,使其特别适用于复杂环境和系统的集中分析。可以使用C,C ++,Perl和Python界面添加自定义性能指标。
此文章提供如何在一组主机上安装和使用PCP的简单说明,其中一台主机(监视器主机)将用于监控和分析自身和其他主机(收集器主机)。
安装收集器主机
要安装基本的PCP工具和服务并启用centos上的性能数据,请运行: #yum install pcp
#chkconfig pmcd on
#service pmcd start
#chkconfig pmlogger on
#service pmlogger start
这将使主机上的性能度量收集器后台程序能够代表来自各种性能度量域代理(PMDA)的客户端来控制和请求度量。PMDAS提供系统中不同组件(域)的实际数据,例如来自Linux内核PMDA或NFS客户端PMDA。默认配置包括超过1000个度量,总体开销微乎其微。本地PCP存档日志也将在主机上启用。
要启用默认情况下未启用的PMD(例如Postfix PMDA),请运行相应的安装脚本:
#cd /var/lib/pcp/pmdas/postfix
#./install
客户端工具将根据需要联系本地或远程PMCD,通过网络与PMCD通信默认使用TCP端口44321。
安装监视器主机
监视主机上可以选择安装以下附加软件包,以从基本的pcp软件包中扩展一组监视工具。
在centos安装图形分析工具和文档:
#yum install pcp-doc pcp-gui
要在监控主机上启用集中归档日志收集,其pmlogger配置为从收集器主机获取性能指标。将每个收集器主机添加到pmlogger配置文件 /etc/pcp/pmlogger/control ,然后在监控主机上重新启动pmlogger服务。
启用从远程主机 acme.com 记录指标 :
#echo acme.com nn PCP_LOG_DIR/pmlogger/acme.com -r -T24h10m -c config.acme.com >> /etc/pcp/pmlogger/control
#service pmlogger restart
远程日志收集的检查将每半小时完成一次。您也可以 手动运行 /usr/libexec/pcp/bin/pmlogger_check -V -C (服务重新启动上面在内部发出此命令)。
请注意,如果尚不存在默认配置文件(以上config.acme.com)。此过程是可选的(可以提供每个主机的自定义配置)。
动态主机发现
在动态环境中手动配置每个主机是不可行的,甚至是不可能的。可以使用PCP管理器,而不是直接调用pmlogger和pmie来自动发现和自动配置新的收集器主机。
要安装PMMGR守护程序并开始监视静态或动态配置的主机,请运行:
#yum install pcp-manager
#chkconfig pmmgr on
#echo acme.com >> /etc/pcp/pmmgr/target-host
#echo avahi >> /etc/pcp/pmmgr/target-discovery
#echo probe=ip.addr.tup.le/netmask>>
/etc/pcp/pmmgr/target-discovery
#service pmmgr restart
#find /var/log/pcp/pmmgr
现在本地网络上使用PCP pmcd服务:
pmfind -s pmcd
PCP一些简单的用法:
检查远程主机example上的PCP服务, 并从历史上检查主机粉碎的本地存档
#pcp -h example #pcp -a /var/log/pcp/pmlogger/smash/20170624
显示主机上所有已启用的性能指标(与-t一起使用以包含每个的简短说明):
#pminfo -h acme.com
显示有关性能指标及其当前值的详细信息:
pminfo -dfmtT disk.partitions.read -h acme.com
使用固定点符号(使用 -i 实例仅列出某些度量标准和 -r 作为原始值)监视每个分区的实时磁盘写入操作,使用 两秒 间隔:
#pmval -t 2sec -f 3 disk.partitions.write -h acme.com
使用两秒间隔打印时间戳监视实时流程创建速率和可用/使用的内存,并使用CSV格式的输出值使用GB:
#pmrep -h acme.com -p -b GB -t 2sec -o csv kernel.all.sysfork mem .util.free mem.util.used
在顶部的窗口中监视系统指标:
#pcp atop
以系统状态(系统活动报告)方式监视系统指标:
#pcp atopsar
以两个不同的主机间隔两秒钟监视系统度量:
#pmstat -t 2sec -h acme1.com -h acme2.com
以 两秒间隔的方式监视iostat类似时间的系统指标:
#pmiostat -t 2sec -h acme.com
使用GUI应用程序监视性能指标,两个不同的主机间隔两秒。使用 文件 - >新图表 选择要包含在新视图中的度量标准,并使用文件->打开视图来使用预定义的视图:
#pmchart -t 2sec -h acme1.com -h acme2.com