最新Zabbix 4.0 监控Nginx状态

目录

最新Zabbix 4.0添加Nginx监控

1. 自定义监控nginx 的Key

1.2  测试访问

1.3 编写脚本 /server/scripts/nginx_status.sh

1.4 测试脚本

1.5 修改zabbix_agent.conf 配置

1.6 测试key是否可以采集到数据

2. 自定义Key的可视化操作

2.1 zabbix完成整个监控的流程

2.2 添加模板

2.3 创建Application

2.4 创建ITEMS

2.5 可视化创建图形

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 添加模板

最新Zabbix 4.0 监控Nginx状态_第1张图片

2.3 创建Application

最新Zabbix 4.0 监控Nginx状态_第2张图片

2.4 创建ITEMS

zabbix产生的数据主要由四部分组成
    配置数据
    历史数据:50字节
    历史趋势数据:128字节
    事件数据:130字节

最新Zabbix 4.0 监控Nginx状态_第3张图片

2.5 可视化创建图形

最新Zabbix 4.0 监控Nginx状态_第4张图片

60秒后查看采集到的数据,也可以在last data中看到

最新Zabbix 4.0 监控Nginx状态_第5张图片

2.6 最后,根据需求自行加trigger,设置报警即可,邮件报警可以参考如下文章:

zabbix 4.0 配置STMP使用SSL发送邮件报警:https://blog.csdn.net/csdn_changsha/article/details/103541397

你可能感兴趣的:(zabbix)