监控需求
监控Nginx常见的状态码并对其进行监控,对常见的错误状态码创建相对应的触发器
以下按照分钟对数据进行抓取
#!/usr/bin/sh
# -----------------------------------
# Script name : nginx logs status code monitor
# Author : Guilin Chen
# Contact me : guilin@ct99.cn
# Last Modified : 2020-12-25
# -----------------------------------
[ ! -d /tmp/nginx ] && mkdir /tmp/nginx
LOG_PATH=/usr/local/nginx/logs/access.log #Nginx日志路径
LOG_TEMP=/tmp/nginx/nginx_last_min.log #Nginx上一分钟文件
LOG_STAT=/tmp/nginx/nginx_stat.txt #Nginx状态码文件
LAST_MIN=`date -d "1 minute ago" +%Y:%H:%M` #获取上一分钟值
您暂时无权查看此隐藏内容!
#以下来定义函数方便 UserParameter 调用
function c_200 {
cat /tmp/nginx/nginx_200.txt
}
function c_202 {
cat /tmp/nginx/nginx_202.txt
}
function c_301 {
cat /tmp/nginx/nginx_301.txt
}
function c_302 {
cat /tmp/nginx/nginx_302.txt
}
function c_304 {
cat /tmp/nginx/nginx_304.txt
}
function c_400 {
cat /tmp/nginx/nginx_400.txt
}
function c_403 {
cat /tmp/nginx/nginx_403.txt
}
function c_404 {
cat /tmp/nginx/nginx_404.txt
}
function c_405 {
cat /tmp/nginx/nginx_405.txt
}
function c_502 {
cat /tmp/nginx/nginx_502.txt
}
function c_503 {
cat /tmp/nginx/nginx_503.txt
}
function c_504 {
cat /tmp/nginx/nginx_504.txt
}
$1
创建zabbix查询的键值
vim /usr/local/zabbix/etc/zabbix_agentd.conf.d/userparameter_ngx_logs.conf
UserParameter=ngx.logs[*],/usr/local/zabbix/scripts/ngx_logs.sh $1
用法:
zabbix_get -s 10.0.0.101 -p 10050 -k "ngx.logs[c_200]"
不错 ,感谢分享
这个还是有用的,避免项目业务出问题我们不知道
感谢分享,谢谢。