一、概述
进程监控目前涉及的监控信息有运行进程个数、进程总个数、阻塞进程个数、以及TOP前五名的进程相关监控信息(进程用户名、进程id、进程名、进程cpu使用率、进程内存使用率、进程打开的文件个数),可以通过tags来判断进程信息(用户名、进程id、进程名)。
二、功能原理
在falcon的agent模块中新添加两个监控函数,分别负责进程个数监控和进程占用的系统资源信息。下面具体说明功能点获取方式:
进程总个数:系统中所有状态运行的进程都会在系统/proc目录下有对应的进程pid的目录文件,根据这个原理来统计获取系统进程总个数。
运行进程个数:通过获取/proc/%s/status文件内容中的State字段来判断进程状态是Running的进程个数。
阻塞进程个数:通过获取/proc/%s/status文件内容中的State字段来判断进程状态是Sleeping的进程个数。
由于显示进程资源信息需要TOP排序的结果,通过ps命令配合sort命令来完成获取进程用户名、进程pid、进程占用系统的cpu百分比、进程占用系统的内存百分比。
进程名:通过获取/proc/%s/comm文件来获取进程的名字
进程打开的文件个数:通过获取/proc/%s/fd/目录下的文件个数来确定进程打开的文件个数。
三、监控项
由于数据采集后通过agent上报到transfer,所以需要标记每条监控数据,按照原有的数据格式来组装数据&