mianfeis 发表于 2013-4-3 08:58:32

zabbix监控系统之监控nginx

1、修改nginx配置

      location ~ /nginx-status/ {
                stub_status on;
                access_log   off;
      }


验证:http://zabbix.lynn.com/nginx-statux/

2、nginx-status的取值脚本
#!/bin/bash
#HOST=`ifconfig eth0 | sed -n '/inet /{s/.*addr://;s/ .*//;p}'`
HOST="192.168.103.2"
PORT="8888"

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}'
       }
# Run the requested function
$1


HOST和PORT,是监控nginx对应的服务器IP和端口
可以直接用命令测试一下
/usr/bin/curl "http://192.168.103.2:8888/nginx-status/"
Active connections: 2
server accepts handled requests
1968 1968 3907
Reading: 0 Writing: 1 Waiting: 1


3、修改zabbix_agentd.conf的配置
/etc/zabbix-agent.d/nginx.conf
UserParameter=nginx.accepts,/home/zabbix/nginx-status.sh accepts
UserParameter=nginx.handled,/home/zabbix/nginx-status.sh handled
UserParameter=nginx.requests,/home/zabbix/nginx-status.sh requests
UserParameter=nginx.connections.active,/home/zabbix/nginx-status.sh active
UserParameter=nginx.connections.reading,/home/zabbix/nginx-status.sh reading
UserParameter=nginx.connections.writing,/home/zabbix/nginx-status.sh writing
UserParameter=nginx.connections.waiting,/home/zabbix/nginx-status.sh waiting

因为之前监控mysql的时候,是使用了ztc的
按照前面的两篇参考文章进行测试的时候,一直出现问题
failed to add UserParameter "nginx.accepts": duplicate key
以致于无法启动zabbix_agent
后来google到一篇日文的,经过一翻痛苦的查看后,终于解决了问题
上面的监控脚本是直接在网上找到的,当然也可以直接用ztc里面自带的,不过都是用python写的

4、重启zabbix_agent服务

5、导入nginx的模板并应用
配置--》模板--》载入--》选择文件--》载入


配置--》模板--》Nginx Status(选择模板)--》把模板应用到主机中



6、查看图形




liukun2009 发表于 2013-4-3 09:06:37

走自己的路,让别人打车去吧。

小乔 发表于 2013-5-16 03:03:04

丑,但是丑的特别,也就是特别的丑!

longpan 发表于 2013-5-16 21:13:35

如果跟导师讲不清楚,那么就把他搞胡涂吧!

sunren 发表于 2013-5-17 18:05:19

人生重要的不是所站的位置,而是所朝的方向!

lb20309 发表于 2013-5-18 11:57:55

站的更高,尿的更远。

cxs7225032 发表于 2013-5-19 08:07:18

爱护环境,人人有病。
页: [1]
查看完整版本: zabbix监控系统之监控nginx