目录
1.3 编写脚本 /server/scripts/nginx_status.sh
2.6 最后,根据需求自行加trigger,设置报警即可,邮件报警可以参考如下文章:
最新Zabbix 4.0添加Nginx监控
1. 自定义监控nginx 的Key
1.1 添加nginx状态监控
server {
listen 80;
server_name 124.**.**.**; # 这ip写出来就暴露了哈;
location /ngx_stat {
stub_status on;
access_log off;
}
location / {
return 403;
}
}
1.2 测试访问
1.3 编写脚本 /server/scripts/nginx_status.sh
#!/bin/bash
HOST="124.***.***.***"
PORT="80"
COMMAND="/usr/bin/curl -s"
DIR="ngx_stat"
check_ngx(){
/sbin/pidof nginx | wc -l
}
active(){
$COMMAND "http://$HOST:$PORT/${DIR}/" 2>/dev/null| grep 'Active' | awk '{print $NF}'
}
reading(){
$COMMAND "http://$HOST:$PORT/${DIR}/" 2>/dev/null| grep 'Reading' | awk '{print $2}'
}
writing(){
$COMMAND "http://$HOST:$PORT/${DIR}/" 2>/dev/null| grep 'Writing' | awk '{print $4}'
}
waiting(){
$COMMAND "http://$HOST:$PORT/${DIR}/" 2>/dev/null| grep 'Waiting' | awk '{print $6}'
}
accepts(){
$COMMAND "http://$HOST:$PORT/${DIR}/" 2>/dev/null| awk NR==3 | awk '{print $1}'
}
handled(){
$COMMAND "http://$HOST:$PORT/${DIR}/" 2>/dev/null| awk NR==3 | awk '{print $2}'
}
requests(){
$COMMAND "http://$HOST:$PORT/${DIR}/" 2>/dev/null| awk NR==3 | awk '{print $3}'
}
usage(){
echo -e "USAGE: $0 (ping|active|reading|writing|waiting|accept|handled|request)"
}
main(){
case $1 in
ping)
check_ngx;;
active)
active;;
reading)
reading;;
writing)
writing;;
waiting)
waiting;;
accepts)
accepts;;
handled)
handled;;
requests)
requests;;
*)
usage;
esac
}
main $1
1.4 测试脚本
[root@linux-node2 scripts]# /server/scripts/ngx_status.sh active
89
1.5 修改zabbix_agent.conf 配置
UnsafeUserParameters=1
echo 'UserParameter=nginx.status[*],/server/scripts/ngx_status.sh $1' >/etc/zabbix/zabbix_agentd.d/userparameter_nginx.conf
service zabbix-agent restart
1.6 测试key是否可以采集到数据
[root@linux-node1 ~]# zabbix_get -s 124.*.*.* -k nginx.status[ping]
1
2. 自定义Key的可视化操作
2.1 zabbix完成整个监控的流程
Host group --> Hosts --> Applications --> Items --> Trigger --> Events --> Actions --> User groups --> Users --> Medias --> graph --> screen
2.2 添加模板
2.3 创建Application
2.4 创建ITEMS
zabbix产生的数据主要由四部分组成
配置数据
历史数据:50字节
历史趋势数据:128字节
事件数据:130字节
2.5 可视化创建图形
60秒后查看采集到的数据,也可以在last data中看到
2.6 最后,根据需求自行加trigger,设置报警即可,邮件报警可以参考如下文章:
zabbix 4.0 配置STMP使用SSL发送邮件报警:https://blog.youkuaiyun.com/csdn_changsha/article/details/103541397