#!/bin/shret_ok=1ret_warn=2ret_critical=3ret_unknown=4info_count=`ps -aux | awk 'BEGIN {cnt=0} /[^-c] dotnet GameServer.dll/{++cnt} END {print cnt}'`
process_count=$((${info_count}-1))if [[ ${process_count} < 6 ]]; then
echo${ret_critical}else
echo${ret_ok}fi
这里还有一个带参数的以供参考
#!/bin/bash
#port on each server
port=$1#result code
ret_ok=1ret_warn=2ret_critical=3ret_unknown=4#get heartbeat message
#url:http://127.0.0.1:9002/heartbeat
curl_result=`curl -m 3 -s http://127.0.0.1:$port/heartbeat`
if [[ ${curl_result} == *"alive"* ]]; then
echo${ret_ok}else
echo ${ret_critical}
ps -aux查出来进程,用awk正则匹配,然后输出匹配行数,减去awk本身,其中进程名那里可以使用变量,这里图省事就写死了,反正以后可以再改
然后再在zabbix中添加
[root@zabbi