一、目的
实时监控Linux服务器上的某个中间件进程,把运行到的状态推送到监控平台。
二、思路
现有的监控平台有任务调度执行shell脚本,shell脚本只需采集运行状态并安装指定的json格式打印采集结果即可。一台服务器上同一进程可能有多个,不通的进程运行的不通的配置文件,实现的服务不通,采集时需要区分。
三、实现
#!/bin/sh process_name="hsserver" server_arry="ls_all,ls_auth" OLD_IFS="$IFS" IFS="," arr=($server_arry) IFS="$OLD_IFS" for s in ${arr[@]} do status=-1
#ps命令根据进程名和服务名判断进程是否正常,正常status为0 异常status为1 ps -fe|grep $process_name|grep $s > /dev/null if [ $? -eq 0 ];then status=0 else status=1 fi echo $process_name $s status is $status done