作者:diege
整理时间:2012-04-16
1、tcp状态
支持的key包括
tcp80端口连接 net.tcp.port[,80] 状态0无法连接,状态1可以连接
tcp80端口监听 net.tcp.listen[80] 状态0没有监听,状态1处于监听状态
2、服务状态
支持的key包括
http服务运行状态 net.tcp.service[http] 状态0是dwon,1是up
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) 设置图表Graphs和Screens
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)、将服务器套上该模板
最后的效果
1、nginx配置文件中配置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.conf的key添加item
设置Templates_Nginx_Status模块,添加item方法如前面
5、这里演示一个图表
创建一个图表Nginx Status
结果