nginx nginx-module-vts 监控模块

news2024/9/28 15:24:15

nginx nginx-module-vts 监控模块

大纲

  • nginx-module-vts 安装
  • nginx-module-vts 配置
  • 监控字段总结
  • 配置参数总结
  • vhost_traffic_status_filter_by_host 使用
  • vhost_traffic_status_filter_by_set_key 使用

nginx-module-vts 安装

nginx-module-vts 可以实现对nginx 各个虚拟主机,upstream等的请求 流量监控

官网地址:https://github.com/vozlt/nginx-module-vts

下载地址:https://github.com/vozlt/nginx-module-vts/tags

本次测试使用:

  • nginx 版本 openresty-1.17.8.2.tar.gz
  • nginx-module-vts 版本 v0.1.17 nginx-module-vts-0.1.17.tar.gz

使用 ./nginx -V 查看安装的模块

在这里插入图片描述

安装nginx-module-vts

1 解压nginx-module-vts

tar -zxvf nginx-module-vts-0.1.17.tar.gz
#pwd 得到解压后的model文件位置
/ops/openresty/model/nginx-module-vts-0.1.17

2 解压openresty-1.17.8.2.tar.gz

tar -zxvf openresty-1.17.8.2.tar.gz
#使用--add-module 添加nginx-module-vts
./configure --prefix=/ops/openresty/nginx --add-module=/ops/openresty/model/nginx-module-vts-0.1.17

make && make install

安装完成后出现nginx-module-vts

在这里插入图片描述

配置 nginx-module-vts

使用nginx-module-vts 最小配置需要在http块中加入vhost_traffic_status_zone;
并且配置一个server 来暴露监控的页面

以下为开启vts的最小配置

http {
   
   #开启vts模块
   vhost_traffic_status_zone;

   #配置一个虚拟主机暴露 /status 展示监控的数据
   server {
      listen       8080;
      server_name  localhost;

    location /status {
       vhost_traffic_status_display;
       vhost_traffic_status_display_format html;
    }

   }

}

配置完成后启动nginx 访问 IP:8080/status

在这里插入图片描述

其他数据格式:

  • /status/format/json

访问 IP:8080/status/format/json 输出json字符串各式的监控数据

在这里插入图片描述

  • /status/format/jsonp

访问 IP:8080/status/format/jsonp 输出json字符串各式的监控数据,注意包含jsonp所需 callback

在这里插入图片描述

  • /status/format/html

访问 IP:8080/status 与 /status/format/html效果一样 输出html监控管理界面

  • /status/format/prometheus

访问 IP:8080/status/format/prometheus 输出prometheus监控需要的数据格式

在这里插入图片描述

  • /status/control

监控字段总结

Server main 主服务器

Host:主机名
Version:版本号
Uptime:服务器已经运行时间
Connections active:当前客户端的连接数
    reading:读取客户端连接的总数
    writing:写入客户端连接的总数
Requsts accepted:接收客户端的连接总数
    handled:已处理客户端的连接总数
    Total:请求总数
    Req/s:每秒请求的数量
Shared memory:共享内存
    name:配置中指定的共享内存名称
    maxSize:配置中指定的共享内存的最大限制
    usedSize:共享内存的当前大小
    usedNode:共享内存中当前使用的节点数

Server zones 服务器区域

zone: 当前区域
Requests Total:请求总数
    Req/s:每秒请求数
    time:时间
Responses:状态码数量 1xx、2xx、3xx、4xx、5xx 表示响应不同状态码数量
    Total:响应状态码的总数
Traffic表示流量
    Sent:发送的流量
    Rcvd:接收的流量
    Sent/s:每秒发送的流量
    Rcvd/s:每秒接收的流量
Cache表示缓存
    Miss:未命中的缓存数
    Bypass:避开的缓存数
    Expirde:过期的缓存数
    Stale:生效的缓存数
    Updating:缓存更新的次数
    Revalidated:重新验证的缓存书
    Hit:缓存命中数
    Scarce:未达缓存要求的请求次数
    Total:总数

配置参数总结

nginx-module-vts 配置参数:

1 vhost_traffic_status

vhost_traffic_status <on|off> 默认值off
可配置在 http, server, location块中

作用:控制开启或关闭vts模块工作,如果配置了vhost_traffic_status_zone 则默认开启

2 vhost_traffic_status_zone

vhost_traffic_status_zone [shared:name:size] 默认为:shared:vhost_traffic_status:1m
可配置在 http 块中

作用:为共享内存区域设置参数,该共享内存区域将保留各种key的状态,配置此参数默认开启vts模块,
注意:如果使用vhost_traffic_status_filter_by_set_key配置,则需要配置大于32m内存

例如:

在这里插入图片描述

在这里插入图片描述

3 vhost_traffic_status_dump

vhost_traffic_status_dump path [period] 默认没有此配置
可配置在 http 块中

作用:保存统计数据,默认period为60s
例如:vhost_traffic_status_dump /data/tmp/vts.db 32

4 vhost_traffic_status_display 和 vhost_traffic_status_display_format

vhost_traffic_status_display和vhost_traffic_status_display_format都可以可配置在 http, server, location块中
作用:
vhost_traffic_status_display 表示开启模块监控数据展示
vhost_traffic_status_display_format 配置数据格式可以是<json|html|jsonp|prometheus>

在这里插入图片描述

5 vhost_traffic_status_display_jsonp

vhost_traffic_status_display_jsonp 【callback的js方法名称】
可配置在 http, server, location块中

作用:修改使用jsonp展示数据的时候那个callback js方法的名称

例如:

在这里插入图片描述
在这里插入图片描述

6 vhost_traffic_status_display_sum_key

vhost_traffic_status_display_sum_key 【sum key的名称】默认是*
可配置在 server块中

作用:
配置sum key的名称

例如默认是*

在这里插入图片描述

添加配置

 server {
      listen       8080;
      server_name  localhost;
      #使用自定义字符串jim
      vhost_traffic_status_display_sum_key jim;

    location /status {
       vhost_traffic_status_display;
       vhost_traffic_status_display_format html;
    }
}

在这里插入图片描述

7 vhost_traffic_status_filter

vhost_traffic_status_filter <on|off> 默认值on
可配置在 http, server, location块中
	
作用:控制是否开启过滤功能

8 vhost_traffic_status_filter_by_host

vhost_traffic_status_filter_by_host <on|off> 默认值off
可配置在 http, server, location块中
	
作用:控制是否使用请求中的 host字段作为key 进行展示

注意:是对通配符配置的虚拟主机进行分组过滤

例如server_name这样配置 使用*通配符

   server {
      listen       80;
      server_name  *.liuyijiang.com;

      location / {
            root   html;
            index  index.html index.htm;
        }

   }

在这里插入图片描述

9 vhost_traffic_status_filter_by_set_key

vhost_traffic_status_filter_by_set_key 自定义key
可配置在 http, server, location块中

作用:配置自定义的key名称

例如

在这里插入图片描述

效果

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/671198.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

接口测试是什么?如何测试?

扫盲内容&#xff1a; 1.什么是接口&#xff1f; 2.接口都有哪些类型&#xff1f; 3.接口的本质是什么&#xff1f; 4.什么是接口测试&#xff1f; 5.问什么要做接口测试&#xff1f; 6.怎样做接口测试&#xff1f; 7.接口测测试点是什么&#xff1f; 8.接口测试都要掌…

在Linux系统实现服务器端和客户端的多线程并发通信

先导知识&#xff1a; 在Linux系统实现服务器端和客户端的套接字通信_小梁今天敲代码了吗的博客-CSDN博客 线程同步&#xff08;一&#xff09;_小梁今天敲代码了吗的博客-CSDN博客 线程同步&#xff08;二&#xff09;_小梁今天敲代码了吗的博客-CSDN博客 线程同步&#x…

通付盾入围《2023年度中国数字安全能力图谱(行业版)》

近日&#xff0c;数世咨询发布《2023年度中国数字安全能力图谱&#xff08;行业版&#xff09;》。通付盾作为以分布式数字身份和大数据决策智能技术为核心的数字化高端软件与服务提供商&#xff0c;凭借在数字安全领域的实力和影响力&#xff0c;入选政府、互联网两大行业细分…

实战react+ts+antd遇见的问题之自定义树形结构

目录 自定义编辑树搜索树形结构搜索算法原理 实时更改数据界面不随之发生变化 自定义编辑树 需求要求在每个节点的后面加上新增&#xff0c;编辑&#xff0c;删除按钮&#xff0c;并且能够点击编辑title的显示变成input输入框&#xff0c;antd的案例中没有这种情况&#xff0c…

逍遥自在学C语言 | 指针函数与函数指针

前言 在C语言中&#xff0c;指针函数和函数指针是强大且常用的工具。它们允许我们以更灵活的方式处理函数和数据&#xff0c;进而扩展程序的功能。 本文将介绍指针函数和函数指针的概念&#xff0c;并讲解一些常见的应用示例。 一、人物简介 第一位闪亮登场&#xff0c;有请…

金士顿U盘无法识别的修复软件,方便好用

一、PD V1.16 先打开“PDx16.exe”这个软件&#xff0c;插入U盘。就会在“DEVICE 1”那里检测到U盘&#xff08;如果没有&#xff0c;就用另外的软件&#xff09;。然后按“全部开始”。当完成好&#xff0c;再重新插入U盘。 二、2090&2090E_V1.6.9_普通版070628 1、插入…

工业机器人运动学与Matlab正逆解算法学习笔记(用心总结一文全会)(二)

文章目录 机器人逆运动学※ 代数解、几何解&#xff0c;解析解&#xff08;封闭解&#xff09;、数值解的含义与联系○ 代数解求 θ 1 \theta_1 θ1​、 θ 2 \theta_2 θ2​、 θ 3 \theta_3 θ3​※参考资料 求解 θ 1 \theta_1 θ1​ 求解 θ 3 \theta_3 θ3​ 求解 θ 2 \t…

JUC高级-0620

8. CAS 原子类&#xff1a;Atomic没有CAS之前&#xff1a;多线程环境不使用原子类保证线程安全i&#xff08;基本数据类型&#xff09;&#xff0c;可以使用synchronized&#xff0c;但是很重有CAS之后&#xff1a; 使用AtomicInteger.getAndIncrement这样的API&#xff0c;保…

ARM的半主机模式(Semihosting)

本文介绍ARM的半主机模式&#xff0c;并介绍在MCU进行调试时其他的调试方法和手段。 1.ARM半主机模式(Semihosting) ARM Semihosting是ARM平台的一个独特功能&#xff0c;它允许使用主机上的输入和输出函数&#xff0c;通过硬件调试器转发到微控制器&#xff0c;通过挂接到I/…

网络解析----faster rcnn

Faster R-CNN&#xff08;Region-based Convolutional Neural Network&#xff09;是一种基于区域的卷积神经网络用于目标检测任务的模型。它是一种两阶段的目标检测方法&#xff0c;主要包含以下几个步骤&#xff1a; Region Proposal Network&#xff08;RPN&#xff09;: F…

c++ vector的扩容机制

1、当向vector push_back一个元素时&#xff0c;如果此时元素个数超过了vector的容量&#xff0c;会触发扩容 2、扩容的过程是&#xff1a;开辟新空间->拷贝旧空间的元素->释放旧空间 3、扩容过程中开辟新空间的大小影响着往vector插入元素的效率&#xff1a; 如果新空…

软件系统三基座之三:用户管理

软件系统三基座包含&#xff1a;权限管理、组织架构、用户管理。 基于权限控制、组织搭建&#xff0c;用户可以批量入场。 一、用户管理 在系统构建中&#xff0c;权限控制、组织搭建&#xff0c;对于普通用户都是不可见的。 权限控制&#xff0c;在系统搭建时&#xff0c;就会…

电商网站Web自动化测试实战( 编写京东搜索脚本python+selenium框架)

电商网站Web自动化测试实战&#xff08; 编写京东搜索脚本&#xff09; 1&#xff0c;打开京东页 京东首页地址&#xff1a;京东(JD.COM)-正品低价、品质保障、配送及时、轻松购物&#xff01;&#xff0c;故进入京东首页如下&#xff1a; 2&#xff0c;打开浏览器开发者模式…

Doris-简介、架构、编译、安装和数据表的基本使用

目录 1、Doris简介2、Doris网址3、Doris架构3、编译和安装 3.1、软硬件需求3.2、编译 3.2.1、安装Docker环境3.2.2、使用Docker 开发镜像编译3.3、集群部署 3.3.1、创建目录并拷贝编译后的文件3.3.2、部署 FE 节点3.3.3、配置 BE 节点3.3.4、在 FE 中添加所有 BE 节点3.3.5、启…

最小生成树的拓展应用

1.新的开始 信息学奥赛一本通&#xff08;C版&#xff09;在线评测系统 (ssoier.cn)http://ybt.ssoier.cn:8088/problem_show.php?pid1488 假如自己建个发电站相当于从一个虚拟原点向他有条边&#xff0c;然后做跑一遍最小生成树即可 #include<bits/stdc.h> using nam…

【云原生】Docker部署/容器加速器(最新版)

目录 初时Docker和部署 1.什么是Docker 2.容器和虚拟化的区别 3.部署Docker 1.卸载历史版本 2.设置存储库 3.安装Docker最新引擎 4.安装Docker特定安装引擎 1.先查看当前docker-ce都有那些版本 2.替换为所需版本&#xff0c;然后运行以下命令 要安装的命令&#xff1a; 5.启动D…

Python入门教程:掌握for循环、while循环、字符串操作、文件读写与异常处理等基础知识

文章目录 for循环while循环字符串操作访问字符串中的字符切片总结字符串拼接 文件读写try...except 异常处理函数模块和包类和面向对象编程完结 for循环 在 Python 中&#xff0c;for 循环用于遍历序列&#xff08;list、tuple、range 对象等&#xff09;或其他可迭代对象。for…

AI建模可以智能到什么程度?

2023年年初&#xff0c;我们被AIGC&#xff08;人工智能生产内容&#xff09;撞了个满怀&#xff0c;从AI绘画、AI写作、AI配音&#xff0c;到AI建模&#xff0c;似乎每个行业的内容创作者都被AI“击中了膝盖”。AI技术发展迅速&#xff0c;前段时间&#xff0c;国内外各大公司…

使用esp32+micropython+microdot搭建web(http+websocket)服务器(超详细)第三部分

使用esp32micropythonmicrodot搭建web(httpwebsocket)服务器&#xff08;超详细&#xff09;第三部分 microdot文档速查 什么是Microdot?Microdot是一个可以在micropython中搭建物联网web服务器的框架micropyton文档api速查 Quick reference for the ESP32 实现websocket服务…

优雅组合,高效交互:Gradio Combining Interfaces模块解析

❤️觉得内容不错的话&#xff0c;欢迎点赞收藏加关注&#x1f60a;&#x1f60a;&#x1f60a;&#xff0c;后续会继续输入更多优质内容❤️ &#x1f449;有问题欢迎大家加关注私戳或者评论&#xff08;包括但不限于NLP算法相关&#xff0c;linux学习相关&#xff0c;读研读博…