Chinaunix首页 | 论坛 | 博客
  • 博客访问: 107057
  • 博文数量: 21
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 223
  • 用 户 组: 普通用户
  • 注册时间: 2016-02-18 09:51
文章分类

全部博文(21)

文章存档

2016年(21)

我的朋友

分类: LINUX

2016-04-20 16:11:01

首先nginx需要配置ngx_status模块
nginx -V 查看nginx在编译安装的时候有没有开启ngx_status模块 如果没有安装,
请先编译安装这个模块--with-http_stub_status_module

1、 nginx配置文件里添加配置
在默认主机里面加上location或者你希望能访问到的主机里面


点击(此处)折叠或打开

  1. server {
  2.     listen *:80 default_server;
  3.     server_name _;
  4.     location /ngx_status
  5.     {
  6.         stub_status on;
  7.         access_log off;
  8.         #allow 127.0.0.1;
  9.         #deny all; 如果开启此选项必须本机在能访问到状态统计页面
  10.     }
  11. }

点击(此处)折叠或打开

  1. nginx -t #检查配置文件正确性

点击(此处)折叠或打开

  1. nginx -s reload #重新加载niginx配置文件

打开nginx状态统计页面


点击(此处)折叠或打开

  1. curl http://127.0.0.1/ngx_status 下方是输出结果 (配置成功)
  2. Active connections: 11921
  3. server accepts handled requests
  4.  21289 39352 12941
  5. Reading: 10 Writing: 7 Waiting: 4

Zabbix客户端操作配置

编写nginx监控脚本

点击(此处)折叠或打开

  1. vim ngx_status.sh
  2. #!/bin/bash
  3. HOST="127.0.0.1"
  4. PORT="80" #注意自己的nginx监听端口
  5.  
  6. # 检测nginx进程是否存在
  7. function ping {
  8.     /sbin/pidof nginx | wc -l
  9. }
  10. # 检测nginx性能
  11. function active {
  12.     /usr/bin/curl "" 2>/dev/null| grep 'Active' | awk '{print $NF}'
  13. }
  14. function reading {
  15.     /usr/bin/curl "" 2>/dev/null| grep 'Reading' | awk '{print $2}'
  16. }
  17. function writing {
  18.     /usr/bin/curl "" 2>/dev/null| grep 'Writing' | awk '{print $4}'
  19. }
  20. function waiting {
  21.     /usr/bin/curl "" 2>/dev/null| grep 'Waiting' | awk '{print $6}'
  22. }
  23. function accepts {
  24.     /usr/bin/curl "" 2>/dev/null| awk NR==3 | awk '{print $1}'
  25. }
  26. function handled {
  27.     /usr/bin/curl "" 2>/dev/null| awk NR==3 | awk '{print $2}'
  28. }
  29. function requests {
  30.     /usr/bin/curl "" 2>/dev/null| awk NR==3 | awk '{print $3}'
  31. }
  32. # 执行function
  33. $1


点击(此处)折叠或打开

  1. chmod 755 ngx_status.sh #赋予脚本执行权限

Zabbix客户端配置


点击(此处)折叠或打开

  1. vim /xxdata/zabbix_agents/conf/zabbix_agentd.conf
  2. 添加:UserParameter=nginx.status[*],/usr/local/nginx/scripts/ngx_status.sh $1
  3. (注:/usr/local/nginx/scripts是nginx监控脚本路径,请依据自身环境填写)

zabbix客户端用zabbix_get测试取值


点击(此处)折叠或打开

  1. cd /xxdata/zabbix_agents/bin
  2. ./zabbix_get -s 192.168.2.1 -k 'nginx.status[accepts]'
  3. 85315
  4. 192.168.2.1为zabbix客户端地址
 
  1. 同样的也可以在zabbix server端进行测试

zabbix server端添加主机 到处nginx监控模板 Nginx监控模板    监控 下载后请修改扩展名为xml直接导入即可

效果图 






阅读(2227) | 评论(0) | 转发(0) |
0

上一篇:数据库报错

下一篇:zabbix监控Redis性能

给主人留下些什么吧!~~