Zabbix监控nginx性能

系统运维 waitig 424℃ 百度已收录 0评论

1. 启用nginx status配置
1)cd /etc/nginx/conf.d目录下
2)vim nginx_status.conf,内容如下:
server
{
   
listen 
*:80
default_server;
   
server_name
_;
  
 location
/ngx_status

  
 {
  
   
 stub_status
on;
  
   
 access_log
off;
  
   
 #allow 127.0.0.1;
  
   
 #deny all;
  
 }
}
2. 重启nginx
3. 打开status页面
http://192.168.2.10/ngx_status
4. nginx status详解
active connections – 活跃的连接数量
server accepts handled requests — 总共处理了11989个连接 , 成功创建11989次握手, 总共处理了11991个请求
reading — 读取客户端的连接数.
writing — 响应数据到客户端的数量
waiting — 开启 keep-alive 的情况下,这个值等于 active – (reading+writing), 意思就是 Nginx 已经处理完正在等候下一次请求指令的驻留连接.
5.编写客户端脚本ngx_status.sh
1)cd /script/
2)mkdir nginx
3)vim ch_nginx.sh
#!/bin/bash
# DateTime: 2015-10-25
# AUTHOR:凉白开
# WEBSITE: http://www.ttlsa.com
# Description:zabbix监控nginx性能以及进程状态
# Note:此脚本需要配置在被监控端,否则ping检测将会得到不符合预期的结果
# 文章地址:<span id="sample-permalink" tabindex="-1">http://www.ttlsa.com/zabbix/<span id="editable-post-name"
title="临时固定链接,点击可更改这部分。">zabbix-monitor-nginx-performance</span>/</span> ‎

 
HOST="127.0.0.1"
PORT="80"
 
# 检测nginx进程是否存在
function
ping
{
    /sbin/pidof
nginx
|
wc
l

}
# 检测nginx性能
function
active
{
    /usr/bin/curl
"http://$HOST:$PORT/nginx_status/"
2>/dev/null|
grep
‘Active’
|
awk
‘{print $NF}’
}
function
reading
{
    /usr/bin/curl
"http://$HOST:$PORT/nginx_status/"
2>/dev/null|
grep
‘Reading’
|
awk
‘{print $2}’
}
function
writing
{
    /usr/bin/curl
"http://$HOST:$PORT/nginx_status/"
2>/dev/null|
grep
‘Writing’
|
awk
‘{print $4}’
}
function
waiting
{
    /usr/bin/curl
"http://$HOST:$PORT/nginx_status/"
2>/dev/null|
grep
‘Waiting’
|
awk
‘{print $6}’
}
function
accepts
{
    /usr/bin/curl
"http://$HOST:$PORT/nginx_status/"
2>/dev/null|
awk
NR==3
|
awk
‘{print $1}’
}
function
handled
{
    /usr/bin/curl
"http://$HOST:$PORT/nginx_status/"
2>/dev/null|
awk
NR==3
|
awk
‘{print $2}’
}
function
requests
{
    /usr/bin/curl
"http://$HOST:$PORT/nginx_status/"
2>/dev/null|
awk
NR==3
|
awk
‘{print $3}’
}
# 执行function
$1
6.将自定义的UserParameter加入配置文件,然后重启agentd,如下:
1)cd /etc/zabbix/zabbix_agentd.d
2)vim userparameter_nginx.conf
UserParameter=nginx.status[*],/script/nginx/ch_nginx.sh
$1
7.zabbix_get获取数据
zabbix_get -s 192.168.2.10 -k ‘nginx.status[accepts]’
zabbix_get -s 192.168.2.10 -k ‘nginx.status[ping]’
8.导入Template App NGINX模板
我用的参考文章中的模板
参考:
http://www.ttlsa.com/nginx/nginx-status-detail/
http://www.ttlsa.com/zabbix/zabbix-monitor-nginx-performance/


本文由【waitig】发表在等英博客
本文固定链接:Zabbix监控nginx性能
欢迎关注本站官方公众号,每日都有干货分享!
等英博客官方公众号
点赞 (0)分享 (0)