parent
1f59beb56b
commit
3427b1f470
@ -0,0 +1,5 @@ |
|||||||
|
UserParameter=nginxCheck.HeartBeat,sh /etc/zabbix/zabbix_agentd.d/script/nginxMonitor.sh Heartbeat |
||||||
|
UserParameter=nginxCheck.ResultCode,sh /etc/zabbix/zabbix_agentd.d/script/nginxMonitor.sh ResultCode |
||||||
|
UserParameter=nginxCheck.WbConn,sh /etc/zabbix/zabbix_agentd.d/script/nginxMonitor.sh WbConn |
||||||
|
UserParameter=nginxCheck.Request[*],sh /etc/zabbix/zabbix_agentd.d/script/nginxMonitor.sh Request $1 |
||||||
|
UserParameter=nginxCheck.RequestPath,sh /etc/zabbix/zabbix_agentd.d/script/nginxMonitor.sh RequestPath |
@ -0,0 +1,51 @@ |
|||||||
|
#!/usr/bin/bash |
||||||
|
|
||||||
|
# nginx check |
||||||
|
# build 2021-06-20 |
||||||
|
|
||||||
|
accessLog=/var/log/nginx/access.log |
||||||
|
|
||||||
|
# 1、web服务器是否存活 #返回数值,并添加触发器报警 |
||||||
|
function Heartbeat() { |
||||||
|
curl 127.0.0.1 &>/dev/null |
||||||
|
[ $? -ne 0 ] && echo 0 || echo 1 |
||||||
|
} |
||||||
|
|
||||||
|
# 2、web响应是否正常 #返回数值,并添加触发器报警 |
||||||
|
function ResultCode() { |
||||||
|
rcode=$(curl -s -I 127.0.0.1 | awk 'NR==1{print $2}') |
||||||
|
echo $rcode |
||||||
|
} |
||||||
|
|
||||||
|
# 3、当前正在处理的请求 #返回数值 |
||||||
|
function WbConn() { |
||||||
|
s=$(netstat -n | grep ':80' | awk '/^tcp/ {++S[$NF]} END {for(a in S) print S[a]}') |
||||||
|
a=0 |
||||||
|
for i in $s; do |
||||||
|
a=$(($a + $i)) |
||||||
|
done |
||||||
|
echo $a |
||||||
|
} |
||||||
|
|
||||||
|
# 5、pv、uv #返回数值 |
||||||
|
# 7、访问最多的ip地址 #返回字符串 |
||||||
|
function Request() { |
||||||
|
if [[ $1 == 'pv' || $1 == 'PV' ]]; then |
||||||
|
num=$(awk '{print $1}' $accessLog | wc -l) |
||||||
|
elif [[ $1 == 'uv' || $1 == 'UV' ]]; then |
||||||
|
num=$(awk '{print $1}' $accessLog | sort -r | uniq | wc -l) |
||||||
|
elif [[ $1 == 'top10' || $1 == 'TOP10' ]]; then |
||||||
|
num=$(awk '{print $1}' $accessLog | sort -r | uniq -c | sort -n -r | head -10) |
||||||
|
else |
||||||
|
num=-1 |
||||||
|
fi |
||||||
|
echo $num |
||||||
|
} |
||||||
|
|
||||||
|
#6、访问最多的页面 #返回字符串 |
||||||
|
function RequestPath() { |
||||||
|
rpath=$(awk '{print $7}' /var/log/nginx/access.log | sort -r | uniq -c | sort -n -r | head -1) |
||||||
|
echo $rpath |
||||||
|
} |
||||||
|
|
||||||
|
eval "$1 $2" |
Loading…
Reference in new issue