使用Shell更改进程名称以使用check_procs进行nagios监视

我有一个
python脚本来启动我想要使用Nagios监视的进程.当我运行该脚本并在我的ubuntu EC2实例上执行ps -ef时,它将显示进程为python< filename> .py –arguments.对于Nagios使用check_procs监视该进程,我们需要提供进程名称.这里的进程名称变为’python’.

/usr/lib/nagios/plugins/check_procs -C python

它返回一个python进程正在运行的输出.当我运行一个python进程时,这很好.但是,如果我运行多个python脚本并且只监控少数几个,那么我必须给出特定的进程名称.如果在上面的命令中,我给出python脚本名称,则会抛出错误.所以我想将整个python< filename> .py –arguments掩盖到其他名称,以便在执行check_procs时,我可以给出新名称.

如果有人有任何想法,请告诉我.我已经检查了其他stackoverflow问题,建议使用setproctitle更改python进程名称,但我想使用shell执行它.

问候,

SANKET

最佳答案 您可以使用check_procs命令查看包含模块名称的参数.如果python模块’module.py’正在运行,以下命令将通知您.

/usr/lib/nagios/plugins/check_procs -c 1:1 -a module.py -C python

-c参数允许您设置临界范围.如果有多于或少于1个匹配运行的进程,则1:1将触发临界状态.

-a参数将根据包含args’module.py’的进程进行过滤(将其更改为要监视的模块的名称)

-C参数将确保该进程是一个python进程

如果您需要帮助找出如何创建服务定义,我也必须弄明白.请告诉我.

参考:
check_procs插件联机帮助页
http://nagiosplugins.org/man/check_procs

点赞