1. #;下载Nginx (编译的时候必须加上此选项 --with-http_stub_status_module)
  2. 官网地址:http://nginx.org/en/docs/http/ngx_http_stub_status_module.html
  3.  
  4. root@ubuntu:/usr/local/src# wget http://nginx.org/download/nginx-1.16.1.tar.gz
  5. root@ubuntu:/usr/local/src# tar xf nginx-1.16.1.tar.gz
  6. root@ubuntu:/usr/local/src# cd nginx-1.16.1/
  7.  
  8. #:编译安装Nginx
  9.  
  10. root@ubuntu:/usr/local/src/nginx-1.16.1# ./configure --prefix=/apps/nginx --with-http_stub_status_module
  11. root@ubuntu:/usr/local/src/nginx-1.16.1# make && make install
  12.  
  13. #:配置Nginx的状态页
  14.  
  15. root@ubuntu:/usr/local/src/nginx-1.16.1# vim /apps/nginx/conf/nginx.conf
  16. location = /nginx_status {
  17. stub_status;
  18. }
  19.  
  20. #:启动服务
  21. root@ubuntu:/usr/local/src/nginx-1.16.1# /apps/nginx/sbin/nginx
  22.  
  23. #配置监控Nginx的连接数脚本
  24.  
  25. root@ubuntu:/opt# vim nginx_status.sh
  26. #!/bin/bash
  27.  
  28. nginx_status_fun(){ #函数内容
  29. NGINX_PORT=$1 #端口,函数的第一个参数是脚本的第二个参数,即脚本的第二个参数是段端口号
  30. NGINX_COMMAND=$2 #命令,函数的第二个参数是脚本的第三个参数,即脚本的第三个参数是命令
  31. nginx_active(){ #获取nginx_active数量,以下相同,这是开启了nginx状态但是只能从本机看到
  32. /usr/bin/curl "http://127.0.0.1:"$NGINX_PORT"/nginx_status" 2>/dev/null| grep 'Active' | awk '{print $NF}'
  33. }
  34. nginx_reading(){ #获取nginx_reading状态的数量
  35. /usr/bin/curl "http://127.0.0.1:"$NGINX_PORT"/nginx_status" 2>/dev/null| grep 'Reading' | awk '{print $2}'
  36. }
  37. nginx_writing(){
  38. /usr/bin/curl "http://127.0.0.1:"$NGINX_PORT"/nginx_status" 2>/dev/null| grep 'Writing' | awk '{print $4}'
  39. }
  40. nginx_waiting(){
  41. /usr/bin/curl "http://127.0.0.1:"$NGINX_PORT"/nginx_status" 2>/dev/null| grep 'Waiting' | awk '{print $6}'
  42. }
  43. nginx_accepts(){
  44. /usr/bin/curl "http://127.0.0.1:"$NGINX_PORT"/nginx_status" 2>/dev/null| awk NR==3 | awk '{print $1}'
  45. }
  46. nginx_handled(){
  47. /usr/bin/curl "http://127.0.0.1:"$NGINX_PORT"/nginx_status" 2>/dev/null| awk NR==3 | awk '{print $2}'
  48. }
  49. nginx_requests(){
  50. /usr/bin/curl "http://127.0.0.1:"$NGINX_PORT"/nginx_status" 2>/dev/null| awk NR==3 | awk '{print $3}'
  51. }
  52. case $NGINX_COMMAND in
  53. active)
  54. nginx_active;
  55. ;;
  56. reading)
  57. nginx_reading;
  58. ;;
  59. writing)
  60. nginx_writing;
  61. ;;
  62. waiting)
  63. nginx_waiting;
  64. ;;
  65. accepts)
  66. nginx_accepts;
  67. ;;
  68. handled)
  69. nginx_handled;
  70. ;;
  71. requests)
  72. nginx_requests;
  73. esac
  74. }
  75.  
  76. main(){ #主函数内容
  77. case $1 in #分支结构,用于判断用户的输入而进行响应的操作
  78. nginx_status) #当输入nginx_status就调用nginx_status_fun,并传递第二和第三个参数
  79. nginx_status_fun $2 $3;
  80. ;;
  81. *) #其他的输入打印帮助信息
  82. echo $"Usage: $0 {nginx_status key}"
  83. esac #分支结束符
  84. }
  85.  
  86. main $1 $2 $3

    #:测试一下脚本

    root@ubuntu:/opt# bash nginx_status.sh nginx_status 88 active

    #:将脚本移动到agent配置文件目录下
    root@ubuntu:~# mv /opt/nginx_status.sh /etc/zabbix/zabbix_agentd.conf.d/

    #:在agent配置文件自定义监控

    root@ubuntu:/opt# vim /etc/zabbix/zabbix_agentd.conf
    UserParameter=nginx.status[*],/etc/zabbix/zabbix_agentd.conf.d/nginx_status.sh "$1" "$2" "$3"

    #:重启服务
    root@ubuntu:/opt# systemctl restart zabbix-agent.service

创建模板

添加以后将主机中加入监控项

加入后创建图形

zabbix之监控Nginx连接数的更多相关文章

  1. zabbix 自定义监控nginx

    zabbix自定义nginx监控项 查看nginx编译安装是否加上该选项,如果没有请重新编译安装 配置nginx.conf vim /usr/local/cpgroup/nginx/conf/vhos ...

  2. 【 Zabbix 】— 监控nginx

    一.环境说明 OS:centos6.7 x64 nginx:nginx/1.9.9 ZABBIX:2.4.8 zabbix监控nginx是根据nginx的stub_status模块,抓取status模 ...

  3. zabbix自定义监控nginx

    nginx配置ngx_status 1.编译安装时带上--with-http_stub_status_module参数 2.vi nginx.conf location ~* ^/ngx_status ...

  4. zabbix自定义监控tcp连接数

    首先在客户端修改配置文件 # vim /usr/local/zabbix/etc/zabbix_agentd.conf UnsafeUserParameters=1 UserParameter=tcp ...

  5. zabbix (11) 监控TCP连接数

    对TCP的监控可以采用ss.netstat./proc/net/tcp这三个不同的方案来实现.其中ss是最快的 (1)ss命令 [root@manager1 script_py ::]#time ss ...

  6. 使用zabbix监控nginx的活动连接数

    使用zabbix监控nginx的活动连接数 1.方法简述 zabbix可以自定义很多监控,只要是能通过命令获取到相关的值,就可以在zabbix的监控中增加该对象进行监控,在zabbix中,该对象称之为 ...

  7. zabbix监控nginx连接状态(转)

    zabbix监控nginx zabbix可以监控nginx的状态,关于一个服务的状态可以查看服务本身的状态(版本号.是否开启),还应该关注服务能力(例如以nginx的负载效果:连接数.请求数和句柄数) ...

  8. Nginx zabbix 的监控

    Nginx zabbix 的监控 Nginx 配置 Nginx 必须包含:http_stub_status_module 模块 ./nginx -V |grep http_stub_status_mo ...

  9. Zabbix 监控 Nginx(四)

    简介: 如何使用 Zabbix 监控 Nginx 状态 ? 1.获取 Nginx 状态( HTTP Stub Status ) [root@localhost ~]# /apps/product/ng ...

随机推荐

  1. TestNG 参数化应用

    一.第一种参数化方式(testng.xml配置参数) 1.新建ParameterDemo04类 2.拷贝类的路径 3.testng.xml配置类地址及参数 <?xml version=" ...

  2. 官宣 .NET RC 2

    我们很高兴发布 .NET 6 RC(Release Candidate) 2.它是生产环境中支持的两个"go live"候选版本中的第二个. 在过去的几个月里,团队一直专注于质量的 ...

  3. C++ Qt 项目实战(一)之文本编辑器

    文本编辑器例图 项目开发环境 系统版本:windows10 QT 版本: 5.9.9 开发语言:C++ 已实现功能 文件操作:新建,打开,保存,另存为,打印,退出 编辑操作:复制,粘贴,剪切,查找,替 ...

  4. 【.NET 与树莓派】用 MPD 制作数字音乐播放器

    树莓派的日常家居玩法多多,制作一台属于自己的数字音乐播放机是其中的一种.严格上说,树莓派是没有声卡的,其板载的 3.5 mm 音频孔实际是通过 PWM 来实现音频输出的(通过算法让PWM信号变成模拟信 ...

  5. 1.在项目中使用D3.js

    在项目中使用D3.js D3.js(全称:Data-Driven Documents)是一个基于数据操作文档的JavaScript库.D3帮助您使用HTML.SVG和CSS使数据生动起来.D3对web ...

  6. 前端yyyy-mm-dd格式 计算一段工作日后,日期

    //计算一段工作日后,日期getWorkday(dat, itervalByDay) { function formatTen(f) { if (parseInt(f, 10) < 10) { ...

  7. FZU ICPC 2020 寒假阶段测试 2

    P1464 Function 题目描述 对于一个递归函数w(a,b,c)如果a≤0 or b≤0 or c≤0就返回值1.如果a>20 or b>20 or c>20就返回w(20, ...

  8. 问题 A: 喷水装置(一)

    题目描述 现有一块草坪,长为20米,宽为2米,要在横中心线上放置半径为Ri的喷水装置, 每个喷水装置的效果都会让以它为中心的半径为实数Ri(0<Ri<15)的圆被湿润,这有充足的喷水装置i ...

  9. Mac 下安装 MySQL 步骤

    安装 MySQL Mac 下安装MySQL推荐去官网下载dmg 版本的,我使用的版本是5.7.30. 如上图所示. 之后就是傻瓜式一键狂点不过需要注意的是,不要关闭下图所示的框框!不要关闭下图所示的框 ...

  10. [bzoj4943]蚯蚓排队

    询问相当于要求长度为k的公共子串个数,很容易联想到hash,由于询问是对全局的,因此对全局开一个hash的桶对于合并/删除操作,将中间新产生/需要删除的字符串暴力修改即可,单次复杂度最坏为$o(k^{ ...