Tengine 添加第三方监控模块nginx-module-vts

一、概述

  除nginx官网源码提供的各种模板,nginx还有第三方模块。官方文档中也列出了nginx的很多第三方模块,除官网之外,还有很多的有用的模块也能在Github上找到。

官网第三方模块地址:https://www.nginx.com/resources/wiki/modules/

公司前端使用的是nginx代理,反向代理了很多域名,流量无法进行区分,nginx本身不支持按域名统计,需要安装第三方模块nginx-module-vts

二、配置安装

2.1 因上线的业务正在运行着nginx程序,需要先查看当前nginx编译参数。

# nginx -V
Tengine version: Tengine/2.2.0 (nginx/1.8.1)
built by gcc 4.4.7 20120313 (Red Hat 4.4.7-17) (GCC) 
TLS SNI support enabled
configure arguments: --prefix=/etc/nginx --with-pcre=../pcre-8.36 --sbin-path=/usr/sbin/nginx --conf-path=/etc/nginx/nginx.conf ……

2.2 下载nginx-module-vts插件

# cd /usr/local/src/
# git clone git://github.com/vozlt/nginx-module-vts.git

2.3 重新编译nginx,可运行make,不要make install

# cd /usr/local/src/tengine-2.2.0
# ./configure --prefix=/etc/nginx --sbin-path=/usr/sbin/nginx --conf-path=/etc/nginx/nginx.conf  ...  --add-module=/usr/local/src/nginx-module-vts
# make

2.4 替换原nginx命令,替换完成之后一定要重启nginx否则不会生效。

# mv /usr/sbin/nginx /usr/sbin/nginx.bak        # 备份原来的nginx命令
# cp objs/nginx /usr/sbin/nginx                 # 把tengine/objs目录中的nginx复制到/usr/sbin/目录中
# nginx -V                                      # 查看是否是新编译的nginx命令,需带--add-module=/usr/local/src/nginx-module-vts此参数
# nginx -s stop                                 # 需要重启nginx,否则不生效,使用kill -USR2 `cat /var/run/nginx.pid`未生效,就被它折腾了一天,
# nginx

2.5 配置ngin,使其生效

http {
    vhost_traffic_status_zone;

    ...

    server {

        ...

        location /status {
            vhost_traffic_status_display;
            vhost_traffic_status_display_format html;
        }
    }
}

三、界面展示

更多用法参数https://github.com/vozlt/nginx-module-vts说明

整体界面概览:

 

备注:定时清空所有数据,重新统计

http:
//xxx.xxx.xxx.xxx/status/control?cmd=reset&group=* {"processingReturn":true,"processingCommandString":"reset","processingGroupString":"*","processingZoneString":"","processingCounts":71}

 

转载于:https://www.cnblogs.com/cyleon/p/10522872.html

Tengine是一个基于Nginx的Web服务器,它具有高性能和可扩展性。引用[1]提到了使用nginx-module-vts来使用nginx prometheus模块。这个模块允许我们收集和监控Nginx服务器的性能指标,并将其暴露给Prometheus进行监控。 为了部署Tenginenginx-module-vts,首先需要下载Tenginenginx-module-vts的源代码。可以通过执行以下命令来下载它们: ``` git clone https://github.com/alibaba/tengine git clone https://github.com/vozlt/nginx-module-vts ``` 然后安装所需的依赖项,如zlib和openssl。可以使用以下命令在CentOS上安装它们: ``` yum -y install zlib* openssl openssl-devel ``` 接下来,我们需要构建Tengine添加nginx-module-vts模块。可以按照以下步骤进行: ``` cd tengine ./configure --add-module=/root/software/nginx-module-vts --prefix=/usr/local/nginx --user=nginx --group=nginx --with-stream --with-http_ssl_module --with-http_stub_status_module --with-http_realip_module --with-http_v2_module --with-http_ssl_module make make install ``` 这将构建并安装Tengine,同时添加nginx-module-vts模块。 关于Tengine的配置,引用提到了安装第三方模块的方法。如果要安装支持四层和七层的健康检查和数据监控功能,可以使用以下命令: ``` ./configure --add-module=.../ngx_healthcheck_module/ --add-module=.../nginx-module-vts --add-module=.../nginx-module-sts --add-module=.../nginx-module-stream-sts ``` 这些功能的具体安装方法在之前的文章中已经有说明,这里就不再赘述。 总结起来,Tengine是一个基于Nginx的高性能Web服务器,而nginx-module-vts是一个用于收集和监控Nginx服务器性能指标的模块。通过按照以上步骤下载、构建和配置Tengine以及添加nginx-module-vts模块,我们可以实现对Nginx服务器的监控和性能指标收集。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值