Tengine 添加第三方监控模块nginx

Easter79
• 阅读 798

一、概述

  除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说明

整体界面概览:

Tengine 添加第三方监控模块nginx

备注:定时清空所有数据,重新统计 http://xxx.xxx.xxx.xxx/status/control?cmd=reset&group=*

{"processingReturn":true,"processingCommandString":"reset","processingGroupString":"*","processingZoneString":"","processingCounts":71}
点赞
收藏
评论区
推荐文章
blmius blmius
3年前
MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1
文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s
待兔 待兔
4个月前
手写Java HashMap源码
HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程22
Stella981 Stella981
3年前
Nginx配置https
一、开启nginx的ssl模块1.未安装过nginx,编译安装配置参数如下:./configure\prefix/usr/local/nginx\withpcre\withhttp\_ssl\_modulessl模块\withhttp\_stub\_status\_module\wit
Stella981 Stella981
3年前
Nginx系列之使用ssl模块配置支持代理HTTPS链接
Nginx系列之使用ssl模块配置支持HTTPS访问1、博客前言介绍最近在用nginx代理https的第三方链接,因为不是做运维,所以对nginx并不是特殊熟悉,所以到处询问摸索了挺久2、查看ssl\_module要使用nginx代理https的链接,先用检查nginx是否已经有安装了ssl
Stella981 Stella981
3年前
Linux10.2 安装LNMP
Nginx安装  处理静态文件能力更强。  Nginx官网nginx.org,最新版1.13,最新稳定版1.12  Nginx应用场景:web服务、反向代理、负载均衡  Nginx著名分支,淘宝基于Nginx开发的Tengine,使用上和Nginx一致,服务名,配置文件名都一样,和Nginx的最大区别在于Tenging增加了一些
Wesley13 Wesley13
3年前
4. Nginx模块
Nginx官方模块1.ngx\_http\_stub\_status\_modulehttp://nginx.org/en/docs/http/ngx\_http\_stub\_status\_module.html。(https://www.oschina.net/action/GoToLink?urlhttp%3A%2
Stella981 Stella981
3年前
Openresty常用指令和参数
参考文档:https://www.nginx.com/resources/wiki/modules/lua/nginxapiforluaNginxLua模块指令:Nginx共11个处理阶段,而相应的处理阶段是可以做插入式处理,即可插拔式架构;另外指令可以在http、serve
Stella981 Stella981
3年前
Nginx介绍
Nginx介绍•Nginx官网nginx.org,最新版1.13,最新稳定版1.12•Nginx应用场景:web服务、反向代理、负载均衡•Nginx著名分支,淘宝基于Nginx开发的Tengine,使用上和Nginx一致,服务名,配置文件名都一样,和Nginx的最大区别在于Tenging增加了一些定制化模块,在安全限速方面表现突出
Stella981 Stella981
3年前
Python之time模块的时间戳、时间字符串格式化与转换
Python处理时间和时间戳的内置模块就有time,和datetime两个,本文先说time模块。关于时间戳的几个概念时间戳,根据1970年1月1日00:00:00开始按秒计算的偏移量。时间元组(struct_time),包含9个元素。 time.struct_time(tm_y
Stella981 Stella981
3年前
Nginx负载均衡监控节点状态
  利用第三方插件监控(淘宝开发的Tengine)模块:nginx\_upstream\_check\_module实现web界面下载补丁包wgethttps://codeload.github.com/yaoweibin/nginx\_upstream\_check\_module/zip/master解压缩unzipmaste
Easter79
Easter79
Lv1
今生可爱与温柔,每一样都不能少。
文章
2.8k
粉丝
5
获赞
1.2k