图解一个客户端连接开源版本的Nginx情况



Accepts(接受)、Handled(已处理)、Requests(请求数)是一直在增加的计数器。Active(活跃)、Waiting(等待)、Reading(读)、Writing(写)随着请求量而增减。

环境

主机 ip zabbix版本 关系
centos7.5 192.168.181.135 zabbix4.2 服务端
centos7.5 192.168.181.136 zabbix4.2 客户端

Nginx相关指标的收集

首先在nginx配置文件中打开stub_status功能,并通过nginx -s reload命令重新加载配置文件

vim /usr/local/nginx/conf/nginx.conf

server {
# zabbix监控nginx基本活跃指标
location /ngx_status {
stub_status on;
access_log off;
allow 192.168.181.0/24;
allow 127.0.0.1;
deny all;
} nginx -s reload

zabbix客户端配置脚本指令

cat /etc/zabbix/zabbix_agentd.d/userparameter_nginx.conf

UserParameter=nginx.status[*],/etc/zabbix/scripts/ngx-status.sh $1

创建文件夹

mkdir /etc/zabbix/scripts

编辑ngx-status.sh脚本

#!/bin/bash

#########################################################################
# File Name: nginx.sh
# file_path:
# Author: 浪子尘心
# Mail: 536418286@qq.com
# Created Time: 2019-03-17 16:50:21
# Last Changed: 2019-03-17 16:52:06
# Description: zabbix 通过 status 模块监控 nginx
# Version:
######################################################################### ST="127.0.0.1"
PORT="80" # 检测nginx相关参数
case $1 in
ping)
result=`/bin/pidof nginx 2>/dev/null| wc -l`
echo $result
;;
active)
result=`/usr/bin/curl "http://$HOST:$PORT/ngx_status/" 2>/dev/null| grep 'Active' | awk '{print $NF}'`
echo $result
;;
reading)
result=`/usr/bin/curl "http://$HOST:$PORT/ngx_status/" 2>/dev/null| grep 'Reading' | awk '{print $2}'`
echo $result
;;
writing)
result=`/usr/bin/curl "http://$HOST:$PORT/ngx_status/" 2>/dev/null| grep 'Writing' | awk '{print $4}'`
echo $result
;;
waiting)
result=`/usr/bin/curl "http://$HOST:$PORT/ngx_status/" 2>/dev/null| grep 'Waiting' | awk '{print $6}'`
echo $result
;;
accepts)
result=`/usr/bin/curl "http://$HOST:$PORT/ngx_status/" 2>/dev/null| awk NR==3 | awk '{print $1}'`
echo $result
;;
handled)
result=`/usr/bin/curl "http://$HOST:$PORT/ngx_status/" 2>/dev/null| awk NR==3 | awk '{print $2}'`
echo $result
;;
requests)
result=`/usr/bin/curl "http://$HOST:$PORT/ngx_status/" 2>/dev/null| awk NR==3 | awk '{print $3}'`
echo $result
;;
dropped)
result=`/usr/bin/curl "http://$HOST:$PORT/ngx_status/" 2>/dev/null| awk NR==3 | awk '{print $1-$2}'`
echo $result
;;
*)
echo "Usage:$0(ping|active|reading|writing|waiting|accepts|handled|requests|dropped)"
;;
esac

编辑完成添加执行权限并重启客户端

chmod +x /etc/zabbix/scripts/ngx-status.sh
systemctl restart zabbix-agent

zabbix页面导入模板

模板下载

模板下载完成之后,在zabbix页面点击导入模板,点击主机添加模板即可



zabbix4.2学习笔记--监控nginx的更多相关文章

  1. zabbix4.2学习笔记--监控tomcat

    zabbix提供了一个java gateway的应用去监控jmx(Java Management Extensions,即Java管理扩展)是一个为应用程序.设备.系统等植入管理功能的框架 环境 主机 ...

  2. zabbix4.2学习笔记系列

    写在前面:对zabbix的接触始于对监控的了解,网上比较多zabbix相关博客,比较多基于3系列甚至2系列,最新开发版zabbix4.2版本已经出来,本博客基于4.2版本学习,参考官网4.2版本和网上 ...

  3. nginx 学习笔记(2) nginx新手入门

    这篇手册简单介绍了nginx,并提供了一些可以操作的简单的工作.前提是nginx已经被安装到你的服务器上.如果没有安装,请阅读上篇:nginx 学习笔记(1) nginx安装.这篇手册主要内容:1. ...

  4. zabbix4.2学习笔记--TCP状态监控

    Tcp的连接状态对于我们web服务器来说是至关重要的,尤其是并发量ESTAB:或者是syn_recv值,假如这个值比较大的话我们可以认为是不是受到了攻击(例如SYN攻击),或是是time_wait值比 ...

  5. zabbix4.2学习笔记--安装percona插件监控MySQL

    percona-monitoring-plugins是percona专门为MySQL监控的工具,支持Nagios,cacti,zabibx,本文主要介绍percona-monitoring-plugi ...

  6. Nginx学习笔记六Nginx的模块开发

    1.Nginx配置文件主要组成:main(全局配置)这部分的指令将影响其他所有部分.server(虚拟主机配置)这部分指令主要用于指定虚拟主机域名,IP和端口.upstream(主要为反向代理,负载均 ...

  7. 七、Nginx学习笔记七Nginx的Web缓存服务

    user www; worker_processes 1; error_log /usr/local/nginx/logs/error.log crit; pid /usr/local/nginx/l ...

  8. Python学习笔记【Nginx】:Nginx使用与完全卸载

      安装与启动nginx 第一步:通过指令安装包 sudo apt  install nginx  sudo apt install nginx 第二步:安装成功后查看相关配置文件 ls /etc/n ...

  9. Linux学习笔记:nginx基础

    nginx [engine x] is an HTTP and reverse proxy server, a mail proxy server, and a generic TCP/UDP pro ...

随机推荐

  1. poj-1655 Balancing Act(树的重心+树形dp)

    题目链接: Balancing Act Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 11845   Accepted: 4 ...

  2. git 一次删除所有删除的文件

    /*********************************************************************************** * git 一次删除所有删除的 ...

  3. Java Socket通信读取相关信息代码

    转自:http://developer.51cto.com/art/201003/190206.htm Java Socket通信读取有不少需要我们注意的知识点.当我们在使用的时候有很多的问题摆在我们 ...

  4. 'ALTER TABLE SWITCH' 语句失败。表'MGXXX.dbo.user_XXX' 已分区,但 索引'ix_user_XXX_user_id' 未分区。

    问题描述: 今天在做分区切换的时候把旧log数据切到clear表,遇到了这个问题,顺便做下笔记记录一下解决方法 'ALTER TABLE SWITCH' 语句失败.表'MGXXX.dbo.user_X ...

  5. 【OpenJ_Bailian - 4070 】全排列

    全排列 Descriptions: 对于数组[1, 2, 3],他们按照从小到大的全排列是 1 2 3 1 3 2 2 1 3 2 3 1 3 1 2 3 2 1 现在给你一个正整数n,n小于8,输出 ...

  6. Luogu P1144 最短路计数 【最短路】 By cellur925

    题目传送门 常规的最短路计数问题:注意有重边(重边不用理,看样例),自环(读入时过滤). 另外这个无向图没有权,其实可以直接bfs做,但考虑到以后带权的情况,按spfa走了. 水题被卡了三次(嘤嘤嘤 ...

  7. [ZPG TEST 111] 奶牛的新家【DP】

    3.奶牛的新家 [问题描述] 由于奶牛们纷纷表示破旧的房子实在是太丑陋了,DD决定给他们建造新家.现在有许多奶牛决定将家建造在n*m的城市中.然而奶牛们分成了k帮派,不同帮派的奶牛不能住在同列或同行上 ...

  8. [ZPG TEST 105] 扑克游戏【Huffman】

    扑克游戏 (poker) 题目描述: 有一棵无穷大的满二叉树,根为star,其余所有点的权值为点到根的距离,如图: 现在你有一些扑克牌,点数从1到13,你要把这些扑克牌全部放到这个树上: 当你把点数为 ...

  9. Android Dialogs(3)警示Dialog教程[创建,单选,复选,自定义]等等

    本节内容 1. Building an Alert Dialog 2. Adding buttons 3. Adding a list 4. Adding a persistent multiple- ...

  10. [转]C# 邮箱验证激活

    原文链接 /// <summary> /// 发送邮件 发送激活码 /// </summary> /// <param name="address"& ...