在【监控平台】如何配置进程监控之固定端口方式中,分享了基于配置平台的固定进程名+端口的进程监控配置方法,那端口不固定的场景如何来实现呢。
实现方法
通过进程采集的方式来实现,依赖bkmonitorbeat采集器
实现原理
通过采集器配置需要监控的进程名,条件可以选择包含,不包含某些命令行的关键字,类似Linux命令grep,过滤出需要的进程,然后探测该进程是否开启端口(可选功能),同时会采集该进程的相关使用情况
ps -ef | grep "包含的关键字"|grep -v "不包含的关键字"
实操演示
例:某台主机上包含nginx进程名的监控配置(没有在配置平台配置进程信息)
1、确保主机安装了gse_agent及bkmonitorbeat插件
如未安装可以查看:节点管理有哪些插件?如何安装插件?
如果监控平台版本是3.6.3084以上,会依赖bkmonitorbeat版本2.13.0+,监控及采集器更新可见[【单产品更新公告】【监控平台】](https://bk.tencent.com/s-mart/community/question/6431)

2、配置进程采集
集成-->数据采集-->新建


(新建一个进程类的数据采集)


(选择目标主机:选择一台没有走服务模板创建的模块下的主机,并且没有配置进程相关信息)

(下发采集配置)
成功下发之后可以查看数据视图


3、配置进程监控
- 进程是否存在监控
进程是否存在的事件告警依赖在配置平台里配置进程信息,所以如果是监听随机端口,又需要进程告警,可以只配置进程信息即可


(主机是直接配置进程信息,可以不配置端口监听信息)

(配置一个进程端口告警的策略)
(对应的告警信息)
- 进程指标监控
进程采集上来的信息覆盖了丰富的指标,如进程占用CPU、占用fd数等。除了最基本的进程存活监控,可以按需配置指标的监控
如:监控nginx fd的打开数


(配置fd打开数的指标监控)
附:进程自定义采集方式采集的指标说明(跟bkmonitorbeat插件默认采集的指标不同)


说明:适合产品版本 V6.1/V6.2/V7.0/V7.1