目录

一、nginx监控模块简介

二、配置nginx-module-vst-master

2.1 上传nginx-module-vst-master软件包

2.2 安装nginx依赖环境

2.3 编译安装nginx

2.4 优化管理

2.5 检查开启的模块

2.6 修改配置文件

2.7 启动测试

2.8 开机自启

引言:

使用nginx-module-vts监控Nginx的请求以便进行分析,监控请求主要是在应用层面,除了请求之外我们一般还需要监控经过nginx的流量、连接数等偏底层的数据,这些数据对分析nginx的性能比较重要下面我们看下如何对nginx流量进行监控

一、nginx监控模块简介

监控Nginx主要用到以下三个模块:

  1. nginx-module-vts:Nginx virtual host traffic status module,Nginx的监控模块,能够提供JSON格式的数据产出。
  2. nginx-vts-exporter:Simple server that scrapes Nginx vts stats and exports them via HTTP for Prometheus consumption。主要用于收集Nginx的监控数据,并给Prometheus提供监控接口,默认端口号9913。
  3. Prometheus:监控Nginx-vts-exporter提供的Nginx数据,并存储在时序数据库中,可以使用PromQL对时序数据进行查询和聚合。

二、配置nginx-module-vst-master

2.1 上传nginx-module-vst-master软件包

[root@oracle opt]# rz -E
rz waiting to receive.
[root@oracle opt]# lsapache-maven-3.8.5-bin.tar.gz  jdk-8u201-linux-x64.rpm  nginx-1.20.2  nginx-1.20.2.tar.gz  nginx-module-vts-master.zip  rh
[root@oracle opt]# unzip nginx-module-vts-master.zip
[root@oracle opt]# mv nginx-module-vts-master /usr/local/

2.2 安装nginx依赖环境

[root@oracle opt]# yum install -y gcc gcc-c++ pcre pcre-devel zlib zlib-devel openssl openssl-devel

2.3 编译安装nginx

[root@oracle opt]# tar zxvf nginx-1.20.2.tar.gz
[root@oracle opt]# cd nginx-1.20.2/
[root@oracle nginx-1.20.2]# ./configure --prefix=/usr/local/nginx --add-module=/usr/local/nginx-module-vts-master/
checking for OS
[root@oracle nginx-1.20.2]# make && make install

2.4 优化管理

[root@oracle nginx-1.20.2]# ln -s /usr/local/nginx/sbin/nginx /usr/local/sbin

2.5 检查开启的模块

[root@oracle nginx-1.20.2]# nginx -v
nginx version: nginx/1.20.2

2.6 修改配置文件

PS:主要是修改默认日志文件格式,添加压缩配置,添加监控配置,具体可根据自己的需求修改
http {include       mime.types;default_type  application/octet-stream;vhost_traffic_status_zone;            #流量状态监控#vhost_traffic_status_filter_by_host on;
PS:开启此功能,在Nginx配置有多个server_name的情况下,会根据不同的server_name进行流量的统计,否则默认会把流量全部计算到第一个server_name上。
假如nginx没有规范配置server_name或者无需进行监控的server上,那么建议在此vhost上禁用统计监控功能。否则会出现“127.0.0.1”,hostname等的域名监控信息
user  nobody;
worker_processes  1;events {worker_connections  1024;
}http {include       mime.types;default_type  application/octet-stream;vhost_traffic_status_zone;log_format main '{ "@timestamp": "$time_local", ''"@fields": { ''"uri":"$request_uri",''"url":"$uri",''"upstream_addr":"$upstream_addr",''"remote_addr": "$remote_addr", ''"remote_user": "$remote_user", ''"body_bytes_sent": "$body_bytes_sent", ''"host":"$host",''"server_addr":"$server_addr",''"request_time": "$request_time", ''"request_time":"$request_time",''"status":"$status",''"request": "$request", ''"request_method": "$request_method", ''"size":$body_bytes_sent,''"upstream_time":"$upstream_response_time"''"http_referrer": "$http_referer", ''"body_bytes_sent":"$body_bytes_sent", ''"http_x_forwarded_for": "$http_x_forwarded_for", ''"http_user_agent": "$http_user_agent" } }';sendfile        on;keepalive_timeout  65;gzip  on;gzip_min_length   1k;gzip_buffers      4 16k;gzip_http_version 1.0;gzip_comp_level   3;gzip_types        text/plain text/css application/x-javascript text/xml application/xml application/xml+rss text/javascript application/json application/javascript;gzip_vary         on;proxy_http_version 1.1;proxy_set_header Connection "";server {listen       80;server_name  localhost;location / {root   html;index  index.html index.htm;}location /status {vhost_traffic_status_display;vhost_traffic_status_display_format html;}}
}

2.7 启动测试

默认nginx安装目录为/usr/local/nginx/,相关目录都在这个目录下

启动nginx

[root@oracle conf]# /usr/local/nginx/sbin/nginx 

测试

浏览器输入IP+80端口,可打开nginx默认页面

浏览器输入“IP:80/status”可打开监控页面

2.8 开机自启

将“/usr/local/nginx/sbin/nginx”命令加入“/etc/rc.d/rc.local”文件并添加权限即可

chmod +x /etc/rc.d/rc.local

nginx-module-vts监控nginx流量相关推荐

  1. 配置 Zabbix 监控 Nginx(Apache、php-fpm)

    2019独角兽企业重金招聘Python工程师标准>>> Zabbix 监控 Nginx 使用 zabbix 监控 nginx,实际上是通过 nginx 自带 status 模块来获取 ...

  2. zabbix监控nginx连接数

    一.nginx配置 nginx 1.6,zabbix 4.0.5 利用nginx自己的监控模块对nginx连接数进行监控 nginx配置: server {listen 80;server_name ...

  3. Nginx:vts模块(监控)

    目录 监控nginx主要用到以下三个模块 安装依赖环境 解压缩文件包 创建运行用户 检查配置文件是否配置正确 使用systemctl 管理 修改配置文件 ​编辑测试是否加载完成​编辑 监控nginx主 ...

  4. nginx upstream配置_Prometheus快速监控Nginx

    需求:Prometheus 监控Nginx主要用到以下三个模块: nginx-module-vts:Nginx virtual host traffic status module,Nginx的监控模 ...

  5. promehteus 监控超时_05 . Prometheus监控Nginx

    List CentOS7.3 prometheus-2.2.1.linux-amd64.tar.gz nginx-module-vts 节点名 IP 软件版本 硬件 网络 说明 Prometheus ...

  6. Nginx优化——VTS监控模块

    一,监控nginx主要用到以下三个模块 1,nginx-module-vts: Nginx virtual host traffic status module, Nginx 的监控模块,能够提供JS ...

  7. Nginx监控模块vts

    一.Nginx监控模块简介 1.监控Nginx主要用到以下三个模块 nginx-module-vts:Nginx virtual host traffic status module,Nginx的监控 ...

  8. 利用ngxtop实时监控nginx的访问情况

    利用ngxtop实时监控nginx的访问情况 关于对nginx web server的实时访问的实时监控问题,我很久之前就想实现的,现在虽有nginx自带的status扩展,但那是全局的,无法细分到v ...

  9. Nginx research, nginx module development

    catalog 1. 初探nginx架构 2. handler模块 3. Nginx编译.安装.配置 4. Hello World模块开发 1. 初探nginx架构 nginx在启动后,在unix系统 ...

最新文章

  1. 微信小程序获取openid和session_key并且把openid存入数据库
  2. ok6410 3.0.1内核调用V4L接口出错解决方法(转)
  3. python【蓝桥杯vip练习题库】ALGO-141 P1102(学生信息)
  4. 2020 年国外 9 个顶级的 Java 框架,你知道几个?
  5. Docker打包 Asp.Net Core应用,在CentOS上运行
  6. java基础变量_Java基础语法之变量和常量
  7. 考勤信息管理系统 需求说明
  8. [Linux] LD_LIBRARY_PATH
  9. Java字节码技术javassist
  10. php获取笔顺矢量,PHP获取汉字笔画数功能【测试可用】
  11. 人工智能和机器视觉技术学习培训设备
  12. 美团校招笔试题-算法8.20-python
  13. 使用file.delete删除文件不起作用解决办法
  14. My Visual DataBase(数据库编程软件)v5.3免费版
  15. 2017最新淘宝高转化详情页排版技巧(转载)
  16. 如何应用好计算机教学设计,计算机教学设计
  17. C语言程序设计编程题[七](山西大学876)
  18. 怎么将两个pdf文件合并在一起?
  19. vue重复访问同一路由报错
  20. University's Little_Mess Note(more) [李园7舍_404]

热门文章

  1. Matlab中rot90函数用法
  2. 无线定位服务器,智慧社区老人蓝牙APP无线定位系统方案物联网GPS定位系统手环接口...
  3. 微信支付服务商邀请预约商户授权分账(“没有分账权限”)
  4. JAX-WS之旅(一)
  5. Vue(v2.6.11)万行源码生啃,就硬刚!
  6. PHP实现多条采购单据界面
  7. 单链表的头插法与尾插法代码实现及详解
  8. jupyter多元线性回归算法预测房价
  9. 原创:Android应用开发记录-Andorid歌词秀(1)想法
  10. Oracle 11G OCP 1Z0-053 475