本博来自http://www.linuxidc.com/Linux/2012-07/64798.htm,经本人测试成功后转发发出分享给大家:

1、首先开启nginx_status模块监控功能:

1
2
3
4
5
6
7
8
9
10
server { 
listen 8881;
server_name localhost;
root html;
index index.html;
access_log off;
location /status {
stub_status on;
}
}


开启之前先核查Nginx 是否包含 stub_status 模块

1
2
3
4
[root@localhost sbin]# /usr/local/nginx/sbin/nginx -V 
nginx version: nginx/1.7.7
built by gcc 4.4.7 20120313 (Red Hat 4.4.7-16) (GCC)
conigure arguments: --with-http_stub_status_module

/usr/local/nginx/sbin/nginx -s reload

要是木有安装则到源文件编译安装

1
./configure --with-http_stub_status_module

2、测试:curl http://IP:端口/status


3、编写脚本过滤数据:(zabbix主要有数据就能出图):

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
[root@WEB_007 vhosts]# cat /etc/zabbix/nginx_status  
#!/bin/bash
# Script to fetch nginx statuses for tribily monitoring systems
# Author: xiaoluo
# License: GPLv2
ip=192.168.0:244:8881
function active {
/usr/bin/curl "http://$ip/status" 2>/dev/null| grep 'Active' | awk '{print $NF}'
}
function reading {
/usr/bin/curl "http://$ip/status" 2>/dev/null| grep 'Reading' | awk '{print $2}'
}
function writing {
/usr/bin/curl "http://$ip/status" 2>/dev/null| grep 'Writing' | awk '{print $4}'
}
function waiting {
/usr/bin/curl "http://$ip/status" 2>/dev/null| grep 'Waiting' | awk '{print $6}'
}
function accepts {
/usr/bin/curl "http://$ip/status" 2>/dev/null| awk NR==3 | awk '{print $1}'
}
function handled {
/usr/bin/curl "http://$ip/status" 2>/dev/null| awk NR==3 | awk '{print $2}'
}
function requests {
/usr/bin/curl "http://$ip/status" 2>/dev/null| awk NR==3 | awk '{print $3}'
}
# Run the requested function
$1

4、开启zabbix脚本功能、我现在是习惯把执行的key,放在另一个路径下,以后文件多了好区分,大家应该也建议这么做:

1
2
3
4
5
6
7
[root@WEB_007 zabbix_agentd.conf.d]# vi /usr/local/zabbix/etc/zabbix_agentd.conf  
UnsafeUserParameters=1
Include=/usr/local/zabbix/etc/zabbix_agentd.conf.d/
[root@WEB_007 zabbix_agentd.conf.d]#cd /usr/local/zabbix/etc/zabbix_agentd.conf.d/
[root@WEB_007 zabbix_agentd.conf.d]#vi nginx
#monitor nginx
UserParameter=nginx[*],/etc/zabbix/nginx_status $1

5、导入模板:模块在我的附件可以自己下载:
这里演示,在那个时候我第一次制作,所以忘记添加图形了,大家可以自己根据模板添加图形,还有触发器我也没有创建,大家根据自己的需要进行创建
6、图形查看效果:

总结:zabbix可以很好的根据应用来进行监控,还很强大,慢慢研究
模板在下面自己下载:
——————————————分割线——————————————
免费下载地址在 http://linux.linuxidc.com/
用户名与密码都是www.linuxidc.com
具体下载目录在 /2015年资料/5月/14日/Zabbix 监控Nginx状态/

  • 压力测试
    1
    2
    3
    4
    5
    6
    wget http://blog.zyan.cc/soft/linux/webbench/webbench-1.5.tar.gz
    tar zxvf webbench-1.5.tar.gz
    cd webbench-1.5
    make && make install

    webbench -c 500 -t 30 http://192.168.0.244/


Comments

2015-11-14