使用nginx-module-vts监控各虚拟主机的流量

一、前言

由于所有业务只有一个公网IP入口,无法统计到每个业务的流量带宽,好在nginx上通过域名进行业务区分,可以借助nginx-module-vts模块来实现需求。
本文将主要用到以下几个模块和工具:
nginx-module-vts: Nginx virtual host traffic status module,nginx的监控模块,能够提供json、html、prometheus格式的数据产出。
nginx-vts-exporter: Simple server that scrapes Nginx vts stats and exports them via HTTP for Prometheus consumption。主要用于收集nginx的监控数据,并给Prometheus提供监控接口,默认端口号9913。
Prometheus: 监控nginx-vts-exporter提供的nginx数据,并存储在时序数据库中,可以使用PromQL对时序数据进行查询和聚合。
Grafana: 可视化监控数据展示工具

二、安装nginx-module-vts

  • 下载并编译ngx-module-vts模块
shell> git clone git://github.com/vozlt/nginx-module-vts.git
# 编译nginx时添加监控组件nginx-module-vts,其他nginx安装过程的内容详见《源码安装openresty》,这里不在重复说明。
shell> ./configure --add-module=/usr/local/src/nginx-module-vts
  • 编辑nginx.conf配置文件
# 在 http 和 server 块中加入如下信息
http {
    vhost_traffic_status_zone;
    ...
    server {
        ...
        location /status {
            vhost_traffic_status_display;
            vhost_traffic_status_display_format html;
        }
    }
}
  • 在浏览器输入 "IP:80/status" 打开监控页面

三、安装nginx-vts-exporter

注:nginx-module-vts 模块从0.1.17+版本之后原生支持 prometheus 数据格式,可跳过 nginx-vts-exporter 的安装。
  • 下载安装
shell> wget https://github.com/hnlq715/nginx-vts-exporter/releases/download/v0.10.3/nginx-vts-exporter-0.10.3.linux-amd64.tar.gz
shell> tar zxvf nginx-vts-exporter-0.10.3.linux-amd64.tar.gz -C /opt/prometheus/
  • 启动服务
shell> /opt/prometheus/nginx-vts-exporter-0.10.3.linux-amd64/nginx-vts-exporter -nginx.scrape_timeout 10 -nginx.scrape_uri http://{IP}/status/format/json
  • 配置systemd服务
shell> cat > /etc/systemd/system/nginx_vts_exporter.service << EOF
 [Unit]
Description=nginx_exporter
After=network.target
[Service]
Type=simple
User=prometheus
ExecStart=/server/prometheus/nginx-vts-exporter-0.10.3.linux-amd64/nginx-vts-exporter -nginx.scrape_uri=https://{IP}/status/format/json
Restart=on-failure
[Install]
WantedBy=multi-user.target
EOF

# 启动并检查服务状态
shell> systemctl start nginx-vts-exporter.service
shell> systemctl status nginx-vts-exporter.service
  • 修改prometheus.yml
# nginx-vts-exporter 默认的抓取地址为http://{IP}:9913/metrics
vim /server/prometheus/prometheus.yml
  - job_name: nginx
    static_configs:
      - targets: ['10.20.73.71:9913']
        labels:
          instance: 91donkey-web01
  • 重启prometheus服务
shell> systemctl restart prometheus

四、配置 grafana

  • 导入nginx vts模板
    根据采集源的不同,选用不同的 grafana dashboard 模板
  • 访问 Dashboards

原文地址:https://www.cnblogs.com/91donkey/p/11643558.html

时间: 2024-10-11 12:06:27

使用nginx-module-vts监控各虚拟主机的流量的相关文章

监控apache虚拟主机进程

mod_status模块能输出如下内容: 正在伺服请求的工作者(线程或进程)数量 空闲的工作者数量 每个工作者的状态:已完成的请求数.已发送的字节数.(*) 总访问数和已发送的字节总数(*) 服务器自启动/重启以来经过的时间,服务器已经运行的时间. 平均每秒请求数,平均每秒发送的字节数,平均每个请求发送的字节数.(*) 每个工作者的当前CPU使用百分率,以及Apache的当前总计CPU使用百分率.(*) 当前正在被处理的主机和请求(*) 安装步骤 1.检查是否加载mod_status模块 ①进入

十二周二次课 12.6 Nginx安装 12.7 默认虚拟主机 12.8 Nginx用户认证 12.

十二周二次课 12.6 Nginx安装 12.7 默认虚拟主机 12.8 Nginx用户认证 12.9 Nginx域名重定向 12.6 Nginx安装 12.7 默认虚拟主机 12.8 Nginx用户认证 12.9 Nginx域名重定向 原文地址:http://blog.51cto.com/wbyyy/2087031

Nginx 反向代理 负载均衡 虚拟主机配置

通过本章你将学会利用Nginx配置多台虚拟主机,清楚代理服务器的作用,区分正向代理和反向代理的区别,搭建使用Nginx反向搭理和负载均衡,了解Nginx常用配置的说明.即学即用,你还在等什么?一睹为快先了解Nginx的三大功能Nginx 可以作为一台http服务器.可以做网站静态服务器,比如图片服务器,高效,减轻服务器压力.同时它也支持https服务.Nginx 可以配置多台虚拟主机.可以实现在一台服务器虚拟出多个网站效果,省钱.Nginx 最重要的是反向代理,负载均衡.在服务器集群中,Ngin

nginx之安装、多虚拟主机、反向代理和负载均衡

一.web服务器与web框架 1.web服务器简介 Web 网络服务是一种被动访问的服务程序,即只有接收到互联网中其他主机发出的请求后才会响应,最终用于提供服务程序的Web服务器会通过 HTTP(超文本传输协议)或 HTTPS(安全超文本传输协议)把请求的内容传送给用户. 目前能够提供 Web 网络服务的程序有 IIS.Nginx 和 Apache 等.其中,IIS(Internet Information Services,互联网信息服务)是Windows系统中默认的Web服务程序Nginx

基于Nginx搭建Web服务器及虚拟主机相关配置详解

随着计算机与Internet技术的高速发展,各种各样的Web站点也就成为面向用户的中坚力量.在各种网站服务器软件中.除了Apache外,还有一款轻量级的HTTP服务器软件--Nginx. 基于Apache搭建Web服务器可以参考博文:基于Apache搭建Web服务器详解 一.Nginx服务简介 Nginx由俄罗斯的lgor Sysoev开发,专为性能优化而开发,其最知名的优点就是它的稳定性和低系统资源消耗.以及对HTTP并发连接的高处立能力(单台物理服务器可支持30000~50000个并发请求)

nginx的基本配置和虚拟主机的配置

在Nginx配置文件(nginx.conf)中,一个最简化的虚拟主机配置代码如下: 跟Apache -样,Nginx也可以配置多种类型的虚拟圭机:一是基于IP的虚拟主机,二是基于域名的虚拟主机,三是基于端口的虚拟主机.

构建Nginx服务器之一 安装及虚拟主机配置

一.Nginx简介     Nginx("engine x") 是一个高性能的HTTP和反向代理服务器,也是一个 IMAP/POP3/SMTP 代理服务器. Nginx 是由 Igor Sysoev 为俄罗斯访问量第二的 Rambler.ru 站点开发的,第一个公开版本0.1.0发布于2004年10月4日.其将源代码以类BSD许可证的形式发布,因它的稳定性.丰富的功能集.示例配置文件和低系统资源的消耗而闻名. 它已经在众多流量很大的俄罗斯网站上使用了很长时间,这些网站包括Yandex.

nginx 的简单配置(虚拟主机、来源控制、https)

Nginx ("engine x") 是一个高性能的 HTTP 和反向代理服务器,也是一个 IMAP/POP3/SMTP服务器Nginx是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,并在一个BSD-like 协议下发行,其特点是占有内存少,并发能力强,事实上nginx的并发能力确实在同类型的网页服务器中表现较好,其将源代码以类BSD许可证的形式发布,因它的稳定性.丰富的功能集.示例配置文件和低系统资源的消耗而闻名 Nginx作为负载均衡服务器:

【转载】【nginx运维基础(2)】Nginx的配置文件说明及虚拟主机配置示例

转自 :http://www.cnblogs.com/nixi8/p/4869760.html 配置文件说明 #定义Nginx运行的用户和用户组 user www www; #nginx进程数,建议设置为当前主机的CPU总核心数. worker_processes 8; #全局错误日志定义类型,[ debug | info | notice | warn | error | crit ] error_log ar/loginx/error.log info; #进程文件 pid /usr/loc