|
1.1 系统环境
1
2
3
| centos6.6
zabbix2.28
nginx1.4+
|
1.2 配置nginx支持状态
#根据自己的环境配置
1
2
3
4
5
6
7
| server {
location /nginxstatus {
stub_status on;
access_log off;
allow 172.16.10.0/24 ;
deny all;
}
|
#测试查看状态,出现结果,配置没问题
1
2
3
4
| curl http://10.10.10.101/nginxstatus
Active connections: 1
server accepts handled requests 1653507 1653507 1686937
Reading: 0 Writing: 1 Waiting: 0
|
1.3 配置zabbix客户端
1
2
| [iyunv@bds01 ~]# cat /etc/zabbix/zabbix_agentd.d/nginx.conf
UserParameter=nginx.status,/data/sh/zabbix_sh/zabbix_nginx.sh $1
|
1.4 脚本配置文件
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
| [iyunv@bds01 ~]# cat /data/sh/zabbix_sh/zabbix_nginx.sh
#!/bin/bash
HOST=`ifconfig| grep -EA 2 "(eth1|em2)"| awk '/inet/{print $2}'| cut -d: -f 2|head -1 `
PORT=80#
echo $HOST
#echo $PORT
function ping { /sbin/pidof nginx | wc -l }
# 检测nginx性能
function active { /usr/bin/curl "http://$HOST:$PORT/nginxstatus/" 2>/dev/null| grep 'Active' | awk '{print $NF}'}
function reading { /usr/bin/curl "http://$HOST:$PORT/nginxstatus/" 2>/dev/null| grep 'Reading' | awk '{print $2}'}
function writing { /usr/bin/curl "http://$HOST:$PORT/nginxstatus/" 2>/dev/null| grep 'Writing' | awk '{print $4}'}
function waiting { /usr/bin/curl "http://$HOST:$PORT/nginxstatus/" 2>/dev/null| grep 'Waiting' | awk '{print $6}'}
function accepts { /usr/bin/curl "http://$HOST:$PORT/nginxstatus/" 2>/dev/null| awk NR==3 | awk '{print $1}'}
function handled { /usr/bin/curl "http://$HOST:$PORT/nginxstatus/" 2>/dev/null| awk NR==3 | awk '{print $2}'}
function requests{ /usr/bin/curl "http://$HOST:$PORT/nginxstatus/" 2>/dev/null| awk NR==3 | awk '{print $3}'}
# 执行function
$1
|
1.5 重启zabbix客户端
1
2
3
| [iyunv@bds01 ~]# /etc/init.d/zabbix-agent restart
Shutting down Zabbix agent: [确定]
Starting Zabbix agent: [确定]
|
1.6 zabbix服务器端测试
1
2
| zabbix_get -s 10.10.10.101 -k 'nginx.status[active]'
1
|
1.7 导入模板,绑定模板
nginx.zip
(545 Bytes, 下载次数: 6)
|
|