(七)zabbix监控nginx
1、agent端配置
1)nginx编译安装需要加上该选项--with-http_stub_status_module
2)修改nginx配置文件
- #vim /usr/local/nginx/conf/nginx.conf
- location /nginx_status {
- stub_status on;
- access_log off;
- allow 127.0.0.1;
- deny all;
- }
- #nginx -s reload
3)nginx状态解释
- Active connections Nginx正处理的活动链接数个数;重要
- server Nginx启动到现在共处理了多少个连接。
- accepts Nginx启动到现在共成功创建几次握手。
- handled requests Nginx总共处理了几次请求。
- Reading Nginx读取到客户端的 Header 信息数。
- Writing Nginx返回给客户端的 Header 信息数。
- Waiting Nginx已经处理完正在等候下一次请求指令的驻留链接,开启。
- Keep-alive的情况下,Waiting这个值等于active-(reading + writing)。
- 请求丢失数=(握手数-连接数)可以看出,本次状态显示没有丢失请求。
4)修改agent端配置文件监控nginx状态配置
- # vim /etc/zabbix/zabbix_agentd.d/nginx_monitor.conf
- UserParameter=nginx_status[*],/bin/bash /etc/zabbix/zabbix_agentd.d/nginx_monitor.sh "$1"
5)获取nginx状态的shell脚本
- #cd /etc/zabbix/zabbix_agentd.d/
- #vim nginx_monitor.sh
- NGINX_PORT=80
- NGINX_COMMAND=$1
- nginx_active(){
- /usr/bin/curl -s "http://127.0.0.1:"$NGINX_PORT"/nginx_status/" |awk '/Active/ {print $NF}'
- }
- nginx_reading(){
- /usr/bin/curl -s "http://127.0.0.1:"$NGINX_PORT"/nginx_status/" |awk '/Reading/ {print $2}'
- }
- nginx_writing(){
- /usr/bin/curl -s "http://127.0.0.1:"$NGINX_PORT"/nginx_status/" |awk '/Writing/ {print $4}'
- }
- nginx_waiting(){
- /usr/bin/curl -s "http://127.0.0.1:"$NGINX_PORT"/nginx_status/" |awk '/Waiting/ {print $6}'
- }
- nginx_accepts(){
- /usr/bin/curl -s "http://127.0.0.1:"$NGINX_PORT"/nginx_status/" |awk 'NR==3 {print $1}'
- }
- nginx_handled(){
- /usr/bin/curl -s "http://127.0.0.1:"$NGINX_PORT"/nginx_status/" |awk 'NR==3 {print $2}'
- }
- nginx_requests(){
- /usr/bin/curl -s "http://127.0.0.1:"$NGINX_PORT"/nginx_status/" |awk 'NR==3 {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;
- ;;
- *)
- echo $"USAGE:$0 {active|reading|writing|waiting|accepts|handled|requests}"
- esac
6)给脚本添加执行权限
- chmod +x nginx_monitor.sh
7)重启agent服务
- # systemctl restart zabbix-agent
2、服务器端配置
思路:定义application_status模板--->定义应用集nginx_status--->定义监控项---->定义图形--->定义触发器---->添加主机或主机关联这个模板
1)server端验证是否能获取agent端的key值
- zabbix_get -s 192.168.1.32 -k nginx_status[active]
2)键值
- nginx_status[active]
- nginx_status[reading]
- nginx_status[writing]
- nginx_status[waiting]
- nginx_status[accepts]
- nginx_status[handled]
- nginx_status[requests]
3)添加模板
4)定义应用集
5)定义监控项:这里我只写了一个
6)定义图形
7)定义触发器:不是必须的,我这里设置超过50个并发连接就执行报警
8)主机关联模板
9)验证
(七)zabbix监控nginx的更多相关文章
- Zabbix 监控 Nginx(四)
简介: 如何使用 Zabbix 监控 Nginx 状态 ? 1.获取 Nginx 状态( HTTP Stub Status ) [root@localhost ~]# /apps/product/ng ...
- Zabbix 监控 Nginx 状态
简介: 如何使用 Zabbix 监控 Nginx 状态 ? 1.获取 Nginx 状态( HTTP Stub Status ) shell > /usr/local/nginx/sbin/ngi ...
- 使用zabbix监控nginx
在zabbix agentd客户端上,查看nginx是否加载了--with-http_stub_status_module.因为zabbix监控nginx是根据 nginx的Stub Status模块 ...
- zabbix监控nginx连接状态(转)
zabbix监控nginx zabbix可以监控nginx的状态,关于一个服务的状态可以查看服务本身的状态(版本号.是否开启),还应该关注服务能力(例如以nginx的负载效果:连接数.请求数和句柄数) ...
- 使用zabbix监控nginx的活动连接数
使用zabbix监控nginx的活动连接数 1.方法简述 zabbix可以自定义很多监控,只要是能通过命令获取到相关的值,就可以在zabbix的监控中增加该对象进行监控,在zabbix中,该对象称之为 ...
- Zabbix监控nginx性能的另外一种方式
Zabbix监控nginx性能的另外一种方式 nginx和php-fpm一样内建了一个状态页,对于想了解nginx的状态以及监控nginx非常有用,为了后续的zabbix监控,我们需要先启用nginx ...
- Zabbix应用四:Zabbix监控Nginx
利用Zabbix监控Nginx 一.准备nginx监控模版: 1.1.下载nginx监控模版: 点此下载 1.2.导入模版: Zabbix管理页面,选择'配置'->'模版'->'导入': ...
- zabbix监控nginx的性能
1.nginx配置 需要使用zabbix监控nginx,首先nginx需要配置ngx_status,在nginx的配置文件中加入红框中的配置,然后重启nginx如下图所示: location /ngx ...
- zabbix监控nginx进程
确认nginx有没有安装模块 然后在主站点下添加(二级站点) location /NginxStatus { stub_status on; access_log off; allow 127.0.0 ...
- 【zabbix告警监控】配置zabbix监控nginx服务
zabbix监控nginx,nginx需要添加--with-http_stub_status模块 使用zabbix监控nginx,首先nginx需要配置开启ngx_status.但是我这边nginx安 ...
随机推荐
- FTL-SLC&MTC&TLC
1.博客 SLC.. http://diybbs.zol.com.cn/67/231_661182.html 2.FTL --作者在普及了一些FTL基本知识后,主要分析了在linux上实现的途径 ht ...
- [bzoj3043]IncDec Sequence_差分
IncDec Sequence 题目大意:给定一个长度为n的数列{a1,a2...an},每次可以选择一个区间[l,r],使这个区间内的数都加一或者都减一.问至少需要多少次操作才能使数列中的所有数都一 ...
- VMware HorizonView虚拟化桌面TLS问题处理
问题描述 公司虚拟化桌面环境内,进出口事业部同事在使用"中国贸易单一窗口"登录系统时,其系统本地控件无法启动WSS服务,端口显示使用61231,并反复提示安装控件. 排查过程 首先 ...
- c++11特性
0. 简介 在c++11标准中, 语言本身和标准库都增加了很多新内容. 里面的某些特性, 会让你在代码编写时更优雅. 我的环境: 系统: ubuntu16.04 g++版本: g++5.4.0 使用c ...
- selenium登录豆瓣网
登录流程: 实例化一个driver,然后driver.get()发送请求 最重要的:切换iframe子框架,因为豆瓣的网页中的登录那部分是一个ifrme,必须切换才能寻找到对应元素 利用seleniu ...
- 4-Perl 数据类型
1.Perl 数据类型Perl 是一种弱类型语言,所以变量不需要指定类型,Perl 解释器会根据上下文自动选择匹配类型.Perl 有三个基本的数据类型:标量.数组.哈希.以下是这三种数据类型的说明:1 ...
- vs 2013 设置website项目端口
vs 2015/2013 设置website项目端口 在web项目创建之后,当我想重新debug时,出现the port xxx is in use 错误. 经过netstat分析,发现占用此项目端口 ...
- 用winform实现一个B/S代码更新打包工具
一个.net程序员必须拥有的能力就是可以随时随地写出一个自己需要的小工具,于是记录一下我的个人工具吧. 新建一个窗体应用项目,代码如下: namespace 打包工具 { partial class ...
- JavaScript例子1-给网页中所有<p>元素添加onclick事件
<!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title&g ...
- git创建库
WMW@WMWGO MINGW64 /f $ cd e: # 切换到 E 盘 WMW@WMWGO MINGW64 /e $ mkdir learngit # 创建 ...