首页 > 代码库 > zabbix监控nginx
zabbix监控nginx
一、修改配置
修改nginx配置文件,在最后加上这条配置,其实php和nginx是配置在一起的,单独拿出来是为了脚本
server { listen 127.0.0.1:80; server_name 127.0.0.1; location /nginx_status { stub_status on; access_log off; allow 127.0.0.1; allow 10.1.12.0/24; deny all; } # location ~ ^/(phpfpm_status)$ { # include fastcgi_params; # fastcgi_pass unix:/tmp/php-cgi.sock; # fastcgi_param SCRIPT_FILENAME $fastcgi_script_name; } }
二、重启nginx
# service nginx restart
三、配置监控扩展
被监控主机端,zabbix_agentd.conf文件中添加上这个:
UserParameter=nginx[*],/etc/zabbix/scripts/nginx_status.py $1
四、将脚本放置在/etc/zabbix/scripts/目录下
chmod +x nginx_status.py
五、脚本
#!/usr/bin/env python #__*__coding:utf8__*__ import urllib2,sys,os def Nginx_status(): nginx_stats_dirt = {} nginx_url = "http://127.0.0.1/nginx_status" req = urllib2.Request(nginx_url) response = urllib2.urlopen(req) request_list = response.read().split("\n") nginx_stats_dirt["active"] = request_list[0].split()[2] nginx_stats_dirt["accepts"] = request_list[2].split()[0] nginx_stats_dirt["handled"] = request_list[2].split()[1] nginx_stats_dirt["requests"] = request_list[2].split()[2] nginx_stats_dirt["reading"] = request_list[3].split()[1] nginx_stats_dirt["writing"] = request_list[3].split()[3] nginx_stats_dirt["waiting"] = request_list[3].split()[5] if len(sys.argv) is not 2 or str(sys.argv[1]) not in nginx_stats_dirt.keys(): print "Usage: nginx_stauts.py $1 {active|accepts|handled|requests|reading|writing|waiting}" exit(1) else: print nginx_stats_dirt[str(sys.argv[1])] if __name__ == ‘__main__‘: try: Nginx_status() except urllib2.URLError,e: print "%s,there may be something wrong with nginx!" %e
本文出自 “LINUX” 博客,请务必保留此出处http://wangpengtai.blog.51cto.com/3882831/1940615
zabbix监控nginx
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。