本文共 3094 字,大约阅读时间需要 10 分钟。
yum install epel-release -yyum install nginx -ysystemctl start nginx #启动服务lsof -i:80 #检查端口
#开启nginx的统计功能location /nginx_status { stub_status on; access_log off; }systemctl nginx restart #刷新服务http://192.168.1.141/nginx_status #web方式访问,查看效果输出效果如下所示:Active connections: 2 server accepts handled requests 18 18 23 Reading: 0 Writing: 1 Waiting: 1 Active connections Nginx正处理的活动链接数个数;重要server Nginx启动到现在共处理了多少个连接。accepts Nginx启动到现在共成功创建几次握手。 handled requests Nginx总共处理了几次请求。Reading Nginx读取到客户端的 Header 信息数。Writing Nginx返回给客户端的 Header 信息数。Waiting Nginx已经处理完正在等候下一次请求指令的驻留链接,开启。Keep-alive的情况下,Waiting这个值等于active-(reading + writing)。请求丢失数=(握手数-连接数)可以看出,本次状态显示没有丢失请求。
[root@zabbix-client-1 zabbix_agentd.d]# cat userparameter_nginx.conf UserParameter=nginx.status[*],/etc/zabbix/zabbix_agentd.d/nginx.sh $1
[root@zabbix-client-1 zabbix_agentd.d]# cat nginx.sh HOST="192.168.1.141" PORT="80" function ping { /sbin/pidof nginx | wc -l } function active { /usr/bin/curl --insecure "http://$HOST:$PORT/nginx_status/" 2>/dev/null| grep 'Active' | awk '{print $NF}' } function reading { /usr/bin/curl --insecure "http://$HOST:$PORT/nginx_status/" 2>/dev/null| grep 'Reading' | awk '{print $2}' } function writing { /usr/bin/curl --insecure "http://$HOST:$PORT/nginx_status/" 2>/dev/null| grep 'Writing' | awk '{print $4}' } function waiting { /usr/bin/curl --insecure "http://$HOST:$PORT/nginx_status/" 2>/dev/null| grep 'Waiting' | awk '{print $6}' } function accepts { /usr/bin/curl --insecure "http://$HOST:$PORT/nginx_status/" 2>/dev/null| awk NR==3 | awk '{print $1}' } function handled { /usr/bin/curl --insecure "http://$HOST:$PORT/nginx_status/" 2>/dev/null| awk NR==3 | awk '{print $2}' } function requests { /usr/bin/curl --insecure "http://$HOST:$PORT/nginx_status/" 2>/dev/null| awk NR==3 | awk '{print $3}' } case $1 in active) active ;; reading) reading ;; writing) writing ;; waiting) waiting ;; accepts) accepts ;; ping) ping ;; handled) handled ;; requests) requests ;;esac
chmod +x nginx.sh #.授予nginx.sh可执行权限
systemctl restart zabbix-agent.service[root@zabbix-server-1 ~]# zabbix_get -s 192.168.111.133 -p 10050 -k nginx.status[active]1[root@zabbix-server-1 ~]# zabbix_get -s 192.168.111.133 -p 10050 -k nginx.status[active]3
自己创建应用集,添加监控项,然后添加图形,出图
nginx.status[active] nginx.status[reading] nginx.status[writing] nginx.status[waiting] nginx.status[accepts] nginx.status[handled] nginx.status[requests]创建一个监控项,添加图形
可以将多个监控项添加到一个图形里,这样也比较好,可以对比的看效果添加一个触发器:
一旦nginx服务down,马上告警转载地址:http://kqezi.baihongyu.com/