编写脚本实现Zabbix监控Nginx状态
2015-11-28 00:04
856 查看
1-配置nginx
添加Graph:
查看nginx_status图表:
本文出自 “万越天的架构师之路” 博客,请务必保留此出处http://wanyuetian.blog.51cto.com/3984643/1717647
[root@linux-node2 extra]# cat ../nginx.conf worker_processes 1; events { worker_connections 1024; } http { include mime.types; default_type application/octet-stream; sendfile on; keepalive_timeout 65; log_format main '$remote_addr - $remote_user [$time_local] "$request" ' '$status $body_bytes_sent "$http_referer" ' '"$http_user_agent" "$http_x_forwarded_for"'; include extra/www.conf; include extra/bbs.conf; include extra/blog.conf; include extra/status.conf; } [root@linux-node2 extra]# cat status.conf server { listen 80; server_name status.etiantian.org; location / { stub_status on; access_log off; } } [root@linux-node2 extra]# ../../sbin/nginx -t #→检查配置文件语法 [root@linux-node2 extra]# ../../sbin/nginx -s reload #→重新加载nginx配置生效2-编写脚本
[root@linux-node2 extra]# cat /server/scripts/nginx_status.sh #!/bin/bash . /etc/init.d/functions . /etc/profile # Script to fetch nginx statuses for tribily monitoring systems # Author: yongzhen # Email: 1041282946@qq.com # Date: 2015-11-22 # Version 1.0 # Set Variables BKUP_DATE=`/bin/date +%Y%m%d` LOG="/data/log/zabbix/webstatus.log" HOST="status.etiantian.org" PORT="80" # Functions to return nginx stats function active { /usr/bin/curl -s "http://$HOST:$PORT" 2>/dev/null| grep 'Active' | awk '{print $NF}' } function reading { /usr/bin/curl -s "http://$HOST:$PORT" 2>/dev/null| grep 'Reading' | awk '{print $2}' } function writing { /usr/bin/curl -s "http://$HOST:$PORT" 2>/dev/null| grep 'Writing' | awk '{print $4}' } function waiting { /usr/bin/curl -s "http://$HOST:$PORT" 2>/dev/null| grep 'Waiting' | awk '{print $6}' } function accepts { /usr/bin/curl -s "http://$HOST:$PORT" 2>/dev/null| awk NR==3 | awk '{print $1}' } function handled { /usr/bin/curl -s "http://$HOST:$PORT" 2>/dev/null| awk NR==3 | awk '{print $2}' } function requests { /usr/bin/curl -s "http://$HOST:$PORT" 2>/dev/null| awk NR==3 | awk '{print $3}' } # Run the requested function $13-配置zabbix-agent
[root@linux-node2 extra]# cat -n /etc/zabbix/zabbix_agentd.conf ### Option: UserParameter # User-defined parameter to monitor. There can be several user-defined parameters. # Format: UserParameter=<key>,<shell command> # See 'zabbix_agentd' directory for examples. # # Mandatory: no # Default: UserParameter=nginx.active,/bin/sh /server/scripts/nginx_status.sh active UserParameter=nginx.accepts,/bin/sh /server/scripts/nginx_status.sh accepts UserParameter=nginx.handled,/bin/sh /server/scripts/nginx_status.sh handled UserParameter=nginx.requests,/bin/sh /server/scripts/nginx_status.sh requests UserParameter=nginx.reading,/bin/sh /server/scripts/nginx_status.sh reading UserParameter=nginx.writing,/bin/sh /server/scripts/nginx_status.sh writing UserParameter=nginx.waiting,/bin/sh /server/scripts/nginx_status.sh waiting [root@linux-node2 extra]# /etc/init.d/zabbix-agent restart #→重启zabbix-agent4-配置zabbix-server
[root@linux-node1 scripts]# zabbix_get -s 10.0.0.8 -p 10050 -k "nginx.active" 1 [root@linux-node1 scripts]# zabbix_get -s 10.0.0.8 -p 10050 -k "nginx.accepts" 354 [root@linux-node1 scripts]# zabbix_get -s 10.0.0.8 -p 10050 -k "nginx.handled" 357 [root@linux-node1 scripts]# zabbix_get -s 10.0.0.8 -p 10050 -k "nginx.requests" 402 [root@linux-node1 scripts]# zabbix_get -s 10.0.0.8 -p 10050 -k "nginx.reading" 0 [root@linux-node1 scripts]# zabbix_get -s 10.0.0.8 -p 10050 -k "nginx.writing" 1 [root@linux-node1 scripts]# zabbix_get -s 10.0.0.8 -p 10050 -k "nginx.waiting" 0添加Items:
添加Graph:
查看nginx_status图表:
本文出自 “万越天的架构师之路” 博客,请务必保留此出处http://wanyuetian.blog.51cto.com/3984643/1717647
相关文章推荐
- 阿里云CentOS6.5(nginx+PHP-fpm)及RDS初级使用指南和简单安全设置
- Nginx实现浏览器实时查看访问日志
- nginx+keepalive主从双机热备+自动切换解决方案
- 安装LNMP记录
- 教你如何在Mac上搭建自己的服务器——Nginx
- Linux内核参数的优化(Nginx)
- nginx配置
- Python+Tornado+Nginx服务器部署解决方案
- nginx 重写 rewrite 基础及实例
- Nginx安装部署
- nginx编译
- NGINX配置详解
- Nginx正向代理配置
- nginx中的超时设置
- tenginx+ImageMagick+Lua自动缩略图
- nginx编译增加其他模块
- nginx配置问题
- nginx利用proxy_cache来缓存文件
- Nginx服务器进程数设置和利用多核CPU的方法
- 新安装的centos不能用yum安装nginx解决办法