zabbix之监控Nginx连接数
- #;下载Nginx (编译的时候必须加上此选项 --with-http_stub_status_module)
- 官网地址:http://nginx.org/en/docs/http/ngx_http_stub_status_module.html
- root@ubuntu:/usr/local/src# wget http://nginx.org/download/nginx-1.16.1.tar.gz
- root@ubuntu:/usr/local/src# tar xf nginx-1.16.1.tar.gz
- root@ubuntu:/usr/local/src# cd nginx-1.16.1/
- #:编译安装Nginx
- root@ubuntu:/usr/local/src/nginx-1.16.1# ./configure --prefix=/apps/nginx --with-http_stub_status_module
- root@ubuntu:/usr/local/src/nginx-1.16.1# make && make install
- #:配置Nginx的状态页
- root@ubuntu:/usr/local/src/nginx-1.16.1# vim /apps/nginx/conf/nginx.conf
- location = /nginx_status {
- stub_status;
- }
- #:启动服务
- root@ubuntu:/usr/local/src/nginx-1.16.1# /apps/nginx/sbin/nginx
- #配置监控Nginx的连接数脚本
- root@ubuntu:/opt# vim nginx_status.sh
- #!/bin/bash
- nginx_status_fun(){ #函数内容
- NGINX_PORT=$1 #端口,函数的第一个参数是脚本的第二个参数,即脚本的第二个参数是段端口号
- NGINX_COMMAND=$2 #命令,函数的第二个参数是脚本的第三个参数,即脚本的第三个参数是命令
- nginx_active(){ #获取nginx_active数量,以下相同,这是开启了nginx状态但是只能从本机看到
- /usr/bin/curl "http://127.0.0.1:"$NGINX_PORT"/nginx_status" 2>/dev/null| grep 'Active' | awk '{print $NF}'
- }
- nginx_reading(){ #获取nginx_reading状态的数量
- /usr/bin/curl "http://127.0.0.1:"$NGINX_PORT"/nginx_status" 2>/dev/null| grep 'Reading' | awk '{print $2}'
- }
- nginx_writing(){
- /usr/bin/curl "http://127.0.0.1:"$NGINX_PORT"/nginx_status" 2>/dev/null| grep 'Writing' | awk '{print $4}'
- }
- nginx_waiting(){
- /usr/bin/curl "http://127.0.0.1:"$NGINX_PORT"/nginx_status" 2>/dev/null| grep 'Waiting' | awk '{print $6}'
- }
- nginx_accepts(){
- /usr/bin/curl "http://127.0.0.1:"$NGINX_PORT"/nginx_status" 2>/dev/null| awk NR==3 | awk '{print $1}'
- }
- nginx_handled(){
- /usr/bin/curl "http://127.0.0.1:"$NGINX_PORT"/nginx_status" 2>/dev/null| awk NR==3 | awk '{print $2}'
- }
- nginx_requests(){
- /usr/bin/curl "http://127.0.0.1:"$NGINX_PORT"/nginx_status" 2>/dev/null| awk NR==3 | awk '{print $3}'
- }
- case $NGINX_COMMAND in
- active)
- nginx_active;
- ;;
- reading)
- nginx_reading;
- ;;
- writing)
- nginx_writing;
- ;;
- waiting)
- nginx_waiting;
- ;;
- accepts)
- nginx_accepts;
- ;;
- handled)
- nginx_handled;
- ;;
- requests)
- nginx_requests;
- esac
- }
- main(){ #主函数内容
- case $1 in #分支结构,用于判断用户的输入而进行响应的操作
- nginx_status) #当输入nginx_status就调用nginx_status_fun,并传递第二和第三个参数
- nginx_status_fun $2 $3;
- ;;
- *) #其他的输入打印帮助信息
- echo $"Usage: $0 {nginx_status key}"
- esac #分支结束符
- }
- 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连接数的更多相关文章
- zabbix 自定义监控nginx
zabbix自定义nginx监控项 查看nginx编译安装是否加上该选项,如果没有请重新编译安装 配置nginx.conf vim /usr/local/cpgroup/nginx/conf/vhos ...
- 【 Zabbix 】— 监控nginx
一.环境说明 OS:centos6.7 x64 nginx:nginx/1.9.9 ZABBIX:2.4.8 zabbix监控nginx是根据nginx的stub_status模块,抓取status模 ...
- zabbix自定义监控nginx
nginx配置ngx_status 1.编译安装时带上--with-http_stub_status_module参数 2.vi nginx.conf location ~* ^/ngx_status ...
- zabbix自定义监控tcp连接数
首先在客户端修改配置文件 # vim /usr/local/zabbix/etc/zabbix_agentd.conf UnsafeUserParameters=1 UserParameter=tcp ...
- zabbix (11) 监控TCP连接数
对TCP的监控可以采用ss.netstat./proc/net/tcp这三个不同的方案来实现.其中ss是最快的 (1)ss命令 [root@manager1 script_py ::]#time ss ...
- 使用zabbix监控nginx的活动连接数
使用zabbix监控nginx的活动连接数 1.方法简述 zabbix可以自定义很多监控,只要是能通过命令获取到相关的值,就可以在zabbix的监控中增加该对象进行监控,在zabbix中,该对象称之为 ...
- zabbix监控nginx连接状态(转)
zabbix监控nginx zabbix可以监控nginx的状态,关于一个服务的状态可以查看服务本身的状态(版本号.是否开启),还应该关注服务能力(例如以nginx的负载效果:连接数.请求数和句柄数) ...
- Nginx zabbix 的监控
Nginx zabbix 的监控 Nginx 配置 Nginx 必须包含:http_stub_status_module 模块 ./nginx -V |grep http_stub_status_mo ...
- Zabbix 监控 Nginx(四)
简介: 如何使用 Zabbix 监控 Nginx 状态 ? 1.获取 Nginx 状态( HTTP Stub Status ) [root@localhost ~]# /apps/product/ng ...
随机推荐
- TestNG 参数化应用
一.第一种参数化方式(testng.xml配置参数) 1.新建ParameterDemo04类 2.拷贝类的路径 3.testng.xml配置类地址及参数 <?xml version=" ...
- 官宣 .NET RC 2
我们很高兴发布 .NET 6 RC(Release Candidate) 2.它是生产环境中支持的两个"go live"候选版本中的第二个. 在过去的几个月里,团队一直专注于质量的 ...
- C++ Qt 项目实战(一)之文本编辑器
文本编辑器例图 项目开发环境 系统版本:windows10 QT 版本: 5.9.9 开发语言:C++ 已实现功能 文件操作:新建,打开,保存,另存为,打印,退出 编辑操作:复制,粘贴,剪切,查找,替 ...
- 【.NET 与树莓派】用 MPD 制作数字音乐播放器
树莓派的日常家居玩法多多,制作一台属于自己的数字音乐播放机是其中的一种.严格上说,树莓派是没有声卡的,其板载的 3.5 mm 音频孔实际是通过 PWM 来实现音频输出的(通过算法让PWM信号变成模拟信 ...
- 1.在项目中使用D3.js
在项目中使用D3.js D3.js(全称:Data-Driven Documents)是一个基于数据操作文档的JavaScript库.D3帮助您使用HTML.SVG和CSS使数据生动起来.D3对web ...
- 前端yyyy-mm-dd格式 计算一段工作日后,日期
//计算一段工作日后,日期getWorkday(dat, itervalByDay) { function formatTen(f) { if (parseInt(f, 10) < 10) { ...
- 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, ...
- 问题 A: 喷水装置(一)
题目描述 现有一块草坪,长为20米,宽为2米,要在横中心线上放置半径为Ri的喷水装置, 每个喷水装置的效果都会让以它为中心的半径为实数Ri(0<Ri<15)的圆被湿润,这有充足的喷水装置i ...
- Mac 下安装 MySQL 步骤
安装 MySQL Mac 下安装MySQL推荐去官网下载dmg 版本的,我使用的版本是5.7.30. 如上图所示. 之后就是傻瓜式一键狂点不过需要注意的是,不要关闭下图所示的框框!不要关闭下图所示的框 ...
- [bzoj4943]蚯蚓排队
询问相当于要求长度为k的公共子串个数,很容易联想到hash,由于询问是对全局的,因此对全局开一个hash的桶对于合并/删除操作,将中间新产生/需要删除的字符串暴力修改即可,单次复杂度最坏为$o(k^{ ...