作者:diege

整理时间:2012-04-16

一、使用zabbix支持的item监控制web状态

1tcp状态

支持的key包括

tcp80端口连接 net.tcp.port[,80]  状态0无法连接,状态1可以连接

tcp80端口监听 net.tcp.listen[80] 状态0没有监听,状态1处于监听状态

2、服务状态

支持的key包括

http服务运行状态 net.tcp.service[http] 状态0dwon,1up

WEB (HTTP) server is running

3、服务个数

支持的key包括

proc.num[nginx]

proc.num[php-fpm]

设置步骤

1)       创建模板Template_WEB

2)       设置应用WEB_STATUS

3)       设置各个item

4)       设置各个Triggers

5)       设置图表GraphsScreens

6)       设置action报警

添加邮件媒体

添加action

邮件标题: {HOSTNAME} {TRIGGER.NAME}: {STATUS}

邮件内容:

HOSTNAME: {HOSTNAME}

TRIGGER NAME: {TRIGGER.NAME}

TRIGGER SEVERITY: {TRIGGER.SEVERITY}

TRIGGER STATUS: {STATUS}

TRIGGER COMMENT: {TRIGGER.COMMENT}

EVENT DATE: {EVENT.DATE}

EVENT TIME: {EVENT.TIME}

{ITEM.NAME}:{ITEM.LASTVALUE}

接受报警的人

报警组

7)、将服务器套上该模板

最后的效果

二、使用nginx_status

1nginx配置文件中配置nginx_status

        server {

                listen          80;

                server_name     localhost;

                root    /data/vhosts/default;

 

                location /nginx_status {

                stub_status on;

                allow 127.0.0.1;

                deny all;

                }

        }

2、访问测试

#nginx –t

#/usr/local/etc/rc.d/nginx reload

#curl -s http://localhost/nginx_status

Active connections: 1

server accepts handled requests

 46672592 46672592 181315744

Reading: 0 Writing: 1 Waiting: 0

3、修改/zabbix_agentd.conf

添加

UserParameter=NginxActiveConnects,curl -s http://localhost/nginx_status | grep 'Active' | awk '{print $3}'

UserParameter=NginxReading,curl -s http://localhost/nginx_status | grep 'Reading'| awk '{print $2}'

UserParameter=NginxWriting,curl -s http://localhost/nginx_status | grep 'Writing'| awk '{print $4}'

UserParameter=NginxWaiting,curl -s http://localhost/nginx_status | grep 'Waiting'| awk '{print $6}

#/usr/local/etc/rc.d/zabbix_agentd restart

4、具体添加在zabbix_agentd.confkey添加item

设置Templates_Nginx_Status模块,添加item方法如前面

5、这里演示一个图表

创建一个图表Nginx Status

结果