zabbix监控nginx

zabbix监控nginx,第1张

zabbix监控nginx 1、nginx添加ngx_http_stub_status_module模块

vim /etc/nginx/conf.d/default.conf

location = /basic_status {
stub_status;
}
stub_status模块提供以下状态信息:

Active connections:当前活动客户端连接数,包括Waiting连接数。
accepts:接受的客户端连接总数。
handled:处理的连接总数。accepts 通常,除非已达到某些资源限制(例如, worker_connections限制) ,否则该参数值相同。
requests:客户端请求的总数。
Reading: nginx 正在读取请求标头的当前连接数。
Writing :nginx 将响应写回客户端的当前连接数。
Waiting:当前等待请求的空闲客户端连接数。

2、创建脚步获取nginx.status数据
vim /server/scripts/nginx_status.sh 
#!/bin/bash
# Description:zabbix监控nginx性能以及进程状态 
HOST="172.16.1.21"
PORT="80"
# 检测nginx进程是否存在
function ping {
    /sbin/pidof nginx | wc -l
}
# 检测nginx性能
function active {
    /usr/bin/curl "http://$HOST:$PORT/basic_status" 2>/dev/null| grep 'Active' | awk '{print $NF}'
}
 
function reading {
    /usr/bin/curl "http://$HOST:$PORT/basic_status" 2>/dev/null| grep 'Reading' | awk '{print $2}'
}
 
function writing {
    /usr/bin/curl "http://$HOST:$PORT/basic_status" 2>/dev/null| grep 'Writing' | awk '{print $4}'
}
 
function waiting {
    /usr/bin/curl "http://$HOST:$PORT/basic_status" 2>/dev/null| grep 'Waiting' | awk '{print $6}'
}
 
function accepts {
    /usr/bin/curl "http://$HOST:$PORT/basic_status" 2>/dev/null| awk NR==3 | awk '{print $1}'
}
 
function handled {
    /usr/bin/curl "http://$HOST:$PORT/basic_status" 2>/dev/null| awk NR==3 | awk '{print $2}'
}
 
function requests {
    /usr/bin/curl "http://$HOST:$PORT/basic_status" 2>/dev/null| awk NR==3 | awk '{print $3}'
}

$1
# 执行function
3、创建key,为zabbix提供变量获取参数
 vim /etc/zabbix/zabbix_agentd.d/userparameter_nginx.conf 
UserParameter=nginx.status[*],/bin/bash /server/scripts/nginx_status.sh $
4、赋予脚步执行权限
chmod +x /server/scripts/nginx_status.sh
#测试脚步
sh /server/scripts/nginx_status.sh active

5、创建模版





#在zabbix服务器上面测试获取key值
zabbix_get -s 172.16.1.21 -p 10050 -k nginx.status[ping]

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zaji/5720665.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-18
下一篇 2022-12-18

发表评论

登录后才能评论

评论列表(0条)

保存