Console Light 网络监控面板#

介绍#

Angie 提供了广泛的监控其工作的可能性;除了 metrics API 和 http_prometheus 模块外,您还可以使用安装在服务器旁边的可视化控制台。

Console Light 是一个轻量级的实时活动监控界面,显示关键的服务器性能指标。控制台基于 Angie 的 API 功能;活动监控数据是实时提取的。此外,如果 API 本身提供此功能,控制台还允许您动态 修改 Angie 配置。

已部署和配置的控制台示例:https://console.angie.software/

安装和配置#

Console Light 以 angie-console-light (Angie) 和 angie-pro-console-light (Angie PRO) 的形式发布在 我们的存储库 中,可以像任何其他包一样安装;您也可以从我们的网站 下载源码GitHub。当前版本是 1.4.0。

安装后,通过在 配置文件server 块内添加以下 location 来配置控制台(注意注释):

location /console/ {

    # 仅限本地访问
    allow 127.0.0.1;
    deny all;

    auto_redirect on;

    alias /usr/share/angie-console-light/html/;
    # 仅适用于 FreeBSD:
    # alias /usr/local/www/angie-console-light/html/;
    index index.html;

    location /console/api/ {
        api /status/;
    }

    # 在身份验证后使编辑功能正常工作(仅限 PRO)
    location /console/api/config/ {

        auth_basic           "Protected site";
        auth_basic_user_file conf/htpasswd;

        api /config/;
    }
}

不要忘记应用修改后的配置:

$ sudo angie -t && sudo service angie reload

之后,控制台将在 server 块指定的服务器上可用,路径在 location 中指定;上述路径设置为 /console/

如上例所示,可以为任意 API 部分启用身份验证,例如:

location /console/server_zones/ {
    auth_basic           "Protected site";
    auth_basic_user_file conf/htpasswd;
}

您还可以限制对配置控制台 location 任意部分的访问,例如:

location /console/api/resolvers/ {
    deny all;
}

界面#

控制台是一个单一屏幕,包含一组选项卡,每个选项卡包含几个监控数据小部件。

提示

在下面的部分中,界面元素从左到右描述。

Angie 选项卡#

Console Light - 主选项卡


这是主选项卡,显示基于多个 API 部分数据的主要 Angie 监控指标。

关于 小部件#

显示 Angie 版本号,并提供到相关文档集的链接,以及服务器地址和最后一次 重启时间

此外,如果启用了 api_config_files 指令,配置 链接将打开服务器上加载的配置文件列表。每个文件都可以在紧凑视图中打开,并带有语法高亮。

连接 小部件#

显示从 /status/connections/ API 部分生成的基本服务器连接统计数据:

当前

当前连接

每秒接受

每秒接受的连接数

活动

活动连接数

空闲

空闲连接数

丢弃

丢弃的连接数

还可用:

接受

自上次服务器重启以来接受的总连接数

HTTP 区域 小部件#

注意

该小部件需要在 serverlocation 上下文中设置 status_zone 指令。

显示从 /status/http/server_zones/ API 部分生成的 http 上下文的共享内存区域统计数据:

总计

总区域数

问题

有问题的区域

流量

总流入和流出流量

HTTP 上游 小部件#

注意

该小部件需要在 http 上下文中设置 upstream 指令。

显示从 /status/http/upstreams/ API 部分生成的 http 上下文的上游统计数据:

总计

总上游数

问题

有问题的上游

服务器

按状态划分的服务器统计

TCP/UDP 区域 小部件#

注意

该小部件需要设置以下指令:

示例:

stream {

    # ...
    limit_conn_zone $connection zone=limit-conn-stream:10m;

    server {

        # ...
        limit_conn limit-conn-stream 1;
        status_zone foo;
    }
}

显示从 /status/stream/server_zones/ API 部分生成的 stream 上下文的共享内存区域统计数据:

连接总数

总客户端连接数

当前连接

当前客户端连接数

每秒连接

每秒处理的连接数

TCP/UDP 上游 小部件#

注意

该小部件需要在 stream 上下文中设置 upstream 指令。

显示从 /status/stream/upstreams/ API 部分生成的 stream 上下文的上游统计数据:

总计

总上游数

问题

有问题的上游

服务器

按状态划分的服务器统计

HTTP 区域 选项卡#

注意

该选项卡需要在 serverlocation 上下文中设置 status_zone 指令。

服务器区域 部分#

Console Light - "HTTP 区域" 选项卡上的"服务器区域"部分


总结了从 /status/http/server_zones/ API 部分生成的 http 上下文中 server 上下文的共享内存区域监控统计数据。为每个区域提供以下数据:

区域

区域名称

提示

单击 区域 旁边的箭头,可以按字母顺序或配置顺序对区域进行排序。

请求

请求总数以及每秒请求数

响应

按状态代码划分的响应数,以及响应总数

流量

出入流量率,以及出入流量总量

SSL

累计计数: - 成功的 SSL 握手; - 重用的 SSL 会话; - 超时过期的 SSL 握手; - 不成功的 SSL 握手。

位置区域 部分#

Console Light - "HTTP 区域" 选项卡上的"位置区域"部分


总结了从 /status/http/location_zones/ API 部分生成的 http 上下文中 location 上下文的共享内存区域监控统计数据。为每个区域提供以下数据:

区域

区域名称

提示

单击 区域 旁边的箭头,可以按字母顺序或配置顺序对区域进行排序。

请求

请求总数以及每秒请求数

响应

按状态代码划分的响应数,以及响应总数

流量

出入流量率,以及出入流量总量

连接限制 部分#

Console Light - "HTTP 区域" 选项卡上的"连接限制"部分


显示从 /status/http/limit_conns/ API 部分生成的 http 上下文中的 limit_conn 区域统计数据。为每个区域提供以下数据:

区域

区域名称

提示

单击 区域 旁边的图标,以打开或关闭包含以下指标的图表。

通过

总代理连接数

拒绝

总拒绝连接数

耗尽

由于区域存储耗尽而丢弃的总连接数

跳过

通过的总连接数(键为零或大于 255 字节)

请求限制 部分#

Console Light - "HTTP 区域" 选项卡上的"请求限制"部分


显示从 /status/http/limit_reqs/ API 部分生成的 http 上下文中的 limit_reqs 区域统计数据。为每个区域提供以下数据:

区域

区域名称

提示

单击 区域 旁边的图标,以打开或关闭包含以下指标的图表。

通过

总代理连接数

延迟

总延迟连接数

拒绝

总拒绝连接数

耗尽

由于区域存储耗尽而丢弃的总连接数

跳过

通过的总连接数(键为零或大于 255 字节)

HTTP 上游 选项卡#

Console Light - "HTTP 上游" 选项卡


注意

该选项卡需要在 http 上下文中设置 upstream 指令。

此选项卡总结了从 /status/http/upstreams/ API 部分生成的 http 上下文的上游监控统计数据。

  • 显示上游列表 按钮切换上游摘要,显示有问题的上游和服务器数量。

  • 仅显示失败 开关切换为仅关注有问题上游的输出模式。

  • 编辑按钮(仅限 Angie PRO)切换 上游编辑 界面。

  • 每个上游表右侧的下拉列表允许按状态过滤其服务器(正常失败检查中下线)。

对于每个上游,除了其名称和共享内存区域利用率外,还提供以下数据:

服务器

上游服务器的名称、停机时间和权重

提示

单击 服务器 旁边的箭头,可以按状态或配置顺序对服务器进行排序。

请求

请求的总数和处理速度

响应

按状态代码划分的响应数

连接

活动连接数及其最大限制(如设置)

流量

出入流量率,以及出入流量总量

服务器检查

达到服务器的不成功尝试次数以及服务器被视为不可用的次数(API 中的 health 对象)

健康监测 (仅限 Angie PRO)

服务器探测总数、不成功的探测次数以及最后一次探测的时间

编辑上游#

对于 Angie PRO,每个上游旁边有一个编辑按钮,单击后会出现两个更多按钮:

编辑选中的

编辑上游中选中的服务器。允许同时设置服务器的以下参数:weight (权重),max_conns (最大连接限制),max_fails (将服务器视为不可用的最大失败次数),fail_timeout (max_fails 的失败累积窗口),state (启用或禁用)。

您还可以删除选中的服务器。

Console Light - "HTTP 上游" 选项卡上的编辑服务器


添加服务器

向上游添加服务器。允许您设置以下参数:address (地址),backup (是否备份),weight (权重),max_conns (最大连接限制),max_fails (将服务器视为不可用的最大失败次数),fail_timeout (max_fails 的失败累积窗口),state (启用或禁用)。

Console Light - "HTTP 上游" 选项卡上添加服务器


TCP/UDP 区域 选项卡#

注意

该选项卡需要设置以下指令:

示例:

stream {

    # ...
    limit_conn_zone $connection zone=limit-conn-stream:10m;

    server {

        # ...
        limit_conn limit-conn-stream 1;
        status_zone foo;
    }
}

TCP/UDP 区域 部分#

Console Light - "TCP/UDP 区域" 选项卡


总结了从 /status/stream/server_zones/ API 部分生成的 stream 上下文中 server 上下文的共享内存区域监控统计数据。为每个区域提供以下数据:

区域

区域名称

连接

当前和总连接数,以及每秒连接数

会话

按状态代码划分的会话数,以及会话总数

流量

出入流量率,以及出入流量总量

SSL

累计计数: - 成功的 SSL 握手; - 不成功的 SSL 握手; - 重用的 SSL 会话; - 超时过期的 SSL 握手。

连接限制 部分#

Console Light - "TCP/UDP 区域" 选项卡上的"连接限制"部分


显示从 /status/stream/limit_conns/ API 部分生成的 stream 上下文中的 limit_conn 区域统计数据。为每个区域提供以下数据:

区域

区域名称

提示

单击 区域 旁边的图标,以打开或关闭包含以下指标的图表。

通过

总代理连接数

拒绝

总拒绝连接数

耗尽

由于区域存储耗尽而丢弃的总连接数

跳过

通过的总连接数(键为零或大于 255 字节)

TCP/UDP 上游 选项卡#

Console Light - "TCP/UDP 上游" 选项卡


注意

该选项卡需要在 stream 上下文中设置 upstream 指令。

此选项卡总结了从 /status/stream/upstreams/ API 部分生成的 stream 上下文的上游监控统计数据。

  • 显示上游列表 按钮切换上游摘要,显示有问题的上游和服务器数量。

  • 仅显示失败 开关切换为仅关注有问题上游的输出模式。

  • 编辑按钮(仅限 Angie PRO)切换 上游编辑 界面。

  • 每个上游表右侧的下拉列表允许按状态过滤其服务器(正常失败检查中下线)。

对于每个上游,除了其名称和共享内存区域利用率外,还提供以下数据:

服务器

上游服务器的名称、停机时间和权重

提示

单击 服务器 旁边的箭头,可以按状态或配置顺序对服务器进行排序。

请求

请求的总数和处理速度

响应

按状态代码划分的响应数

连接

活动连接数及其最大限制(如设置)

流量

出入流量率,以及出入流量总量

服务器检查

达到服务器的不成功尝试次数以及服务器被视为不可用的次数(API 中的 health 对象)

编辑上游#

对于 Angie PRO,每个上游旁边有一个编辑按钮,单击后会出现两个更多按钮:

编辑选中的

编辑上游中选中的服务器。允许同时设置服务器的以下参数:weight (权重),max_conns (最大连接限制),max_fails (将服务器视为不可用的最大失败次数),fail_timeout (max_fails 的失败累积窗口),state (启用或禁用)。

您还可以删除选中的服务器。

Console Light - "TCP/UDP 上游" 选项卡上的编辑服务器


添加服务器

向上游添加服务器。允许您设置以下参数:address (地址),backup (是否备份),weight (权重),max_conns (最大连接限制),max_fails (将服务器视为不可用的最大失败次数),fail_timeout (max_fails 的失败累积窗口),state (启用或禁用)。

Console Light - "TCP/UDP 上游" 选项卡上添加服务器


缓存 选项卡#

Console Light - "缓存" 选项卡


注意

该选项卡需要在 http 上下文中设置 proxy_cache_path 指令。

总结了从 /status/http/caches/ API 部分生成的 http 上下文中 proxy_cache 区域的监控统计数据。为每个区域提供以下数据:

区域

区域名称

提示

单击 区域 旁边的图标,以打开或关闭所有具有分片的 shard 列表。

状态

缓存状态:冷(元数据加载中)或热(元数据已加载)

内存使用

内存利用率

最大大小

最大内存大小

已使用

已使用的内存大小

磁盘使用

磁盘利用率

流量

从缓存传输的流量、写入到缓存的流量以及绕过缓存返回的流量

命中率

缓存命中率(从缓存传输的流量占总量的比例),在设置中配置的时间窗口内

如果为某个区域启用了 分片,则它被标记为包含各个分片的下拉列表:

路径

分片磁盘路径

状态

分片状态:冷(元数据加载中)或热(元数据已加载)

最大大小

最大内存大小

已使用

已使用的内存大小

磁盘使用

磁盘利用率

共享区域 选项卡#

Console Light - "共享区域" 选项卡


此选项卡总结了所有上下文中**所有**共享内存区域的监控统计数据。为每个区域提供以下数据:

区域

区域名称

提示

单击 区域 旁边的箭头,可以按大小或配置顺序对区域进行排序。

总内存页

总内存页

已使用内存页

已使用的内存页总数

内存使用

区域的内存利用率

解析器 选项卡#

Console Light - "解析器" 选项卡


注意

该选项卡需要在 http 上下文中设置 resolver 指令。

总结了从 /status/resolvers/ API 部分生成的 DNS 共享内存区域中的查询统计数据。为每个区域提供以下数据:

区域

区域名称

提示

单击 区域 旁边的箭头,可以按状态或配置顺序对区域进行排序。

请求

A 和 AAAA、SRV 或 PTR 请求数

响应

按相关代码划分的响应数(格式错误服务器故障名称错误未实现拒绝 等)

设置 小部件#

Console Light - "设置" 小部件


允许您配置控制台中的数据更新频率、使黄色警告出现在相应服务器响应部分的 4xx 状态阈值比率,以及用于计算缓存命中率的时间窗口(命中率)和使解析器变红的错误计数阈值。

控制台控制面板#

Console Light - "Angie" 选项卡上的控制按钮


所有选项卡在页面左中部都有一个拉出的侧边栏,其中有两个按钮;顶部按钮暂停或重新启动来自 API 的数据更新,底部按钮在更新暂停时允许手动更新数据。