进程的监控能够告诉我们用用服务是否存活以及进程消耗的资源情况,本文将介绍如何使用collectd进行进程的监控,文中所有提到的配置修改都是在collectd.conf这个配置文件,这里我们假设系统中已经安装了collectd并且配置了数据上报插件,例如write_graphite
启用 process 插件
LoadPlugin processes
定义需要监控的进程
<Plugin processes>
ProcessMatch "MyService" ".*/data/MyService/MyService.jar.*"
</Plugin>
ProcessMatch 的第一个参数是进程的名字,第二个参数是进程启动命令的正则表达式,监控数据中将包括所有能够和这个正则表达式匹配的进程。
查看监控结果
重启collectd以后,监控结果将会被上报,下面列出了一些主要的监控结果:
监控指标名称 | 监控指标含义 |
---|---|
processes-[进程名称].ps_count.processes | 正则表达式匹配的进程数量,可以使用这个指标判断进程是否存活并设置报警 |
processes-[进程名称].ps_count.threads | 进程中的线程数量 |
processes-[进程名称].ps_cputime.syst | 进程占用的CPU时间(系统) |
processes-[进程名称].ps_cputime.user | 进程占用的CPU时间(用户) |