zabbix监控nginx

(1)agent端配置
1)nginx编译安装需要加上该选项–with-http_stub_status_module
查看是否已安装
[root@mysql01 nginx]# nginx -V |grep “–with-http_stub_status_module”
2)修改nginx配置文件
#vim /etc/nginx/nginx.conf 添加如下内容
server {
listen 80;
server_name 127.0.0.1;
location /nginx_status {
stub_status on;
access_log off;
allow 127.0.0.1;
deny all;
}
}
#nginx -s reload
3)nginx状态解释
Active connections Nginx正处理的活动链接数个数;重要
server Nginx启动到现在共处理了多少个连接。
accepts Nginx启动到现在共成功创建几次握手。
handled requests Nginx总共处理了几次请求。
Reading Nginx读取到客户端的 Header 信息数。
Writing Nginx返回给客户端的 Header 信息数。
Waiting Nginx已经处理完正在等候下一次请求指令的驻留链接,开启。
Keep-alive的情况下,Waiting这个值等于active-(reading + writing)。
请求丢失数=(握手数-连接数)可以看出,本次状态显示没有丢失请求。
4)修改agent端配置文件监控nginx状态配置

vim /etc/zabbix/zabbix_agentd.d/nginx_monitor.conf

UserParameter=nginx_status[*],/bin/bash /etc/zabbix/zabbix_agentd.d/nginx_monitor.sh “$1”
5)获取nginx状态的shell脚本
#cd /etc/zabbix/zabbix_agentd.d/
#vim nginx_monitor.sh
NGINX_PORT=80
NGINX_COMMAND=KaTeX parse error: Expected '}', got 'EOF' at end of input: …p://127.0.0.1:"NGINX_PORT"/nginx_status/" |awk '/Active/ {print KaTeX parse error: Expected 'EOF', got '}' at position 3: NF}̲' } nginx_readi…NGINX_PORT"/nginx_status/" |awk '/Reading/ {print KaTeX parse error: Expected 'EOF', got '}' at position 2: 2}̲' } nginx_writi…NGINX_PORT"/nginx_status/" |awk '/Writing/ {print KaTeX parse error: Expected 'EOF', got '}' at position 2: 4}̲' } ngin…NGINX_PORT"/nginx_status/" |awk '/Waiting/ {print KaTeX parse error: Expected 'EOF', got '}' at position 2: 6}̲' } ngin…NGINX_PORT"/nginx_status/" |awk 'NR3 {print KaTeX parse error: Expected 'EOF', got '}' at position 2: 1}̲' } ngin…NGINX_PORT"/nginx_status/" |awk 'NR3 {print KaTeX parse error: Expected 'EOF', got '}' at position 2: 2}̲' } ngin…NGINX_PORT"/nginx_status/" |awk ‘NR==3 {print $3}’
}
case $NGINX_COMMAND in
active)
nginx_active;
;;
reading)
nginx_reading;
;;
writing)
nginx_writing;
;;
waiting)
nginx_waiting;
;;
accepts)
nginx_accepts;
;;
handled)
nginx_handled;
;;
requests)
nginx_requests;
;;
*)
echo $“USAGE:$0 {active|reading|writing|waiting|accepts|handled|requests}”
esac
6)给脚本添加执行权限
chmod +x nginx_monitor.sh
7)重启agent服务

systemctl restart zabbix-agent

(2)服务器端配置
思路:定义application_status模板—>定义应用集nginx_status—>定义监控项---->定义图形—>定义触发器---->添加主机或主机关联这个模板

1)server端验证是否能获取agent端的key值
zabbix_get -s 192.168.1.32 -k nginx_status[active]
2)键值
nginx_status[active]
nginx_status[reading]
nginx_status[writing]
nginx_status[waiting]
nginx_status[accepts]
nginx_status[handled]
nginx_status[requests]
3)添加模板

4)定义应用集

5)定义监控项:这里我只写了一个

6)定义图形

7)定义触发器:不是必须的,我这里设置超过50个并发连接就执行报警

8)主机关联模板

9)验证

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值