图解一个客户端连接开源版本的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. Masonry scrollview循环布局

    前言 说到iOS自动布局,有很多的解决办法.有的人使用xib/storyboard自动布局,也有人使用frame来适配.对于前者,笔者并不喜欢,也不支持.对于后者,更是麻烦,到处计算高度.宽度等,千万 ...

  2. Junit常用操作

    断言方法: public static void assertEquals(Object[] expected, Object[] actual) // 测试a是否等于b public static ...

  3. MQTT、CoAP

    实时协议是物联网的一项根本性技术,在物联网领域发挥了重大的作用.目前物联网设备所广泛使用的四大实时协议:XMPP.HTTP.CoAP以及MQTT等可谓各擅所长.亦各有弊端. 那么在万物互联的时代,谁主 ...

  4. Are you sure you want to continue connecting etc ssh ssh_config StrictHostKeyChecking no

    Are you sure you want to continue connecting (yes/no) 每次ssh 进入一台新机器都会跳出如下的提示: The authenticity of ho ...

  5. 01_传智播客iOS视频教程_课程介绍与知识点回顾

    OC语法中static关键字不能修饰属性,也不能修饰方法,只能修饰方法中的局部变量.static修饰局部变量之后把局部变量变成静态变量.当方法执行完之后这个变量不会被回收.下次再执行这个方法的时候这个 ...

  6. jsp请求转发小例子(转载)

    在服务器端对客户端请求时行转发对其它的对象,如果jsp网页或Servlet 用三个 jsp网页来演示转发: forword1.jsp, 用来提交表单, 将表单内容提交给 forwrod2.jsp,  ...

  7. java数组实现买彩票(重复则重新遍历查询思想)

    package com.wh.shuzu; import java.util.Arrays; /** * 买彩票 * @author 丁璐同学 * 重复则重新遍历查询思想 */ public clas ...

  8. 450 Delete Node in a BST 删除二叉搜索树中的结点

    详见:https://leetcode.com/problems/delete-node-in-a-bst/description/ C++: /** * Definition for a binar ...

  9. Jmeter+Jenkins+Ant自动化集成环境搭建

    搭建环境: JDK:jdk1.8.0_92 Ant:apache-ant-1.9.7 Jmeter: apache-jmeter-3.0 Jenkins:jenkins-2.19.3 具体环境配置 1 ...

  10. OAuth 开放授权 Open Authorization

    http://oauth.net/ http://tools.ietf.org/html/rfc6749 http://reg.163.com/help/help_oauth2.html 网易通行证O ...