Nginx虚拟主机流量状态模(nginx-module-vts)使用说明文档(二)

时间:2021-02-01 12:25:45   收藏:0   阅读:0

技术图片

前面的博文 Nginx安装,开箱即用?讲了NG的安装,装完NG,为了拿到各种状态指标,就要对NG做监控。
Github 2.3k的开源项目nginx-module-vts没准真是你需求的。
链接数,qps,1xx、2xx,、3xx、4xx、5xx的响应数,响应耗时,响应时间分布,访问用户国家分布;甚至是基于各种状态的流量控制统统能满足你的需求。
nginx-module-vts具体怎么用?我们还是从官方文档开始撸吧,还是英文的,那就翻译一下吧。
内容有点长,你看到的文档会四篇文档的方式分别出现。这里是第二篇,第一篇你可以点这里查看

Nginx虚拟主机流量状态模块

技术图片

目录

9、管控指令(Control)

control指令能够通过查询字符串重置或删除流量区域。
该请求以JSON文档响应。

http {

    geoip_country /usr/share/GeoIP/GeoIP.dat;

    vhost_traffic_status_zone;
    vhost_traffic_status_filter_by_set_key $geoip_country_code country::*;

    ...

    server {

        server_name example.org;

        ...

        vhost_traffic_status_filter_by_set_key $geoip_country_code country::$server_name;

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

如果设置如上,则control的uri类似于example.org/status/control

可用的请求参数如下:

动态获取流量区域(zones)状态

status/format/json相似,只是它可以获得每个区域。

获取全部区域

获取组区域

mainZones中的状态值,包括hostNamenginxVersionloadMsecnowMsecconnections

获取每个区域

动态重置流量区域

将指定区域的值重置为0。

重置全部分区

重置组区域

重置每个分区

动态删除流量区域

删除共享内存中指定的区域。

删除全部分区

删除组分区

删除每个分区

10、设置指令(Set)

可以使用vhost_traffic_status_set_by_filter指令分别获取nginx配置中的状态值。
可以获取几乎所有状态值,并将获得的值存储在用户定义的变量(第一个参数)中。

http {

    geoip_country /usr/share/GeoIP/GeoIP.dat;

    vhost_traffic_status_zone;
    vhost_traffic_status_filter_by_set_key $geoip_country_code country::*;

    ...
    upstream backend {
        10.10.10.11:80;
        10.10.10.12:80;
    }

    server {

        server_name example.org;

        ...

        vhost_traffic_status_filter_by_set_key $geoip_country_code country::$server_name;

        vhost_traffic_status_set_by_filter $requestCounter server/example.org/requestCounter;
        vhost_traffic_status_set_by_filter $requestCounterKR filter/country::example.org@KR/requestCounter;

        location /backend {
            vhost_traffic_status_set_by_filter $requestCounterB1 upstream@group/backend@10.10.10.11:80/requestCounter;
            proxy_pass http://backend;
        }
    }
}

以上设置如下:

请参见vhost_traffic_status_set_by_filter指令以了解详细用法。

11、JSON字段说明

以下状态信息以JSON格式提供:

状态中使用的Json

/{status_uri}/format/json

/{status_uri}/control?cmd=status&...

Control中使用的Json

/{status_uri}/control?cmd=reset&...

/{status_uri}/control?cmd=delete&...

技术图片

凋谢的不是花,萎蔫的是时间;星辰大海,点滴为途。

评论(0
© 2014 mamicode.com 版权所有 京ICP备13008772号-2  联系我们:gaon5@hotmail.com
迷上了代码!