Console Light 网络监控面板#

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

Console Light#

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

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

版本历史#

版本

发布日期

变更内容

1.7.2

07.04.2025

在"HTTP/TCP/UDP Upstreams"页面的过滤器控制器中添加了"busy(繁忙)"选项。

1.7.1

04.04.2025

修复了"HTTP 区域"页面中"HTTP/Location 区域"表格的不正确值。

1.7.0

02.04.2025

  • 鼠标悬停时以字节为单位显示精确的数据量

  • 统计 API 中新增上游节点的 "busy(繁忙)" 状态, 表示该节点已达到由 max_conns 参数配置的连接数上限

  • 修复了文档链接

1.6.1

27.01.2025

  • 修复拼写错误

  • 修复开发阶段的项目构建问题

1.6.0

23.01.2025

  • 添加国际化支持,支持语言:enru

  • 表格组件新增固定表头功能

  • 支持以 pebibytes(PiB)为单位的数据度量

  • 修复首页中 HTTP Upstreams 组件中错误的值计数

  • 现在在 HTTP Upstreams 页面中正确使用默认值作为响应上下文

1.5.0

未公开发布

1.4.0

08.08.2024

网站 favicon 图标新增监控状态显示功能

1.3.0

28.04.2024

在上游上下文中新增将服务器切换到 draining 状态的功能

1.2.1

26.12.2023

Stream 上下文中添加主动健康检查功能

1.2.0

25.12.2023

Stream 上下文中添加上游编辑功能

安装和配置#

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

安装后,通过在 服务器配置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 指令,Configs 链接将打开服务器上加载的配置文件列表。每个文件都可以在紧凑视图中查看,并带有语法高亮。

连接 小部件#

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

当前

当前连接数

每秒接受

每秒接受的连接数

活动

活动连接数

空闲

空闲连接数

丢弃

丢弃的连接数

还可用:

接受

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

HTTP 区域 小部件#

注意

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

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

总计

总区域数

问题

有问题的区域数

流量

总流入和流出流量

HTTP 上游 小部件#

注意

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

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

总计

总上游数

问题

有问题的上游数

服务器

按状态划分的服务器统计

TCP/UDP 区域 小部件#

注意

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

示例:

stream {

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

    server {

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

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

连接总数

总客户端连接数

当前连接

当前客户端连接数

每秒连接

每秒处理的连接数

TCP/UDP 上游 小部件#

注意

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

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

总计

总上游数

问题

有问题的上游数

服务器

按状态划分的服务器统计

HTTP 区域 选项卡#

注意

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

服务器区域 部分#

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


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

区域

区域名称

提示

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

请求

请求总数以及每秒请求数

响应

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

流量

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

SSL

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

位置区域 部分#

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


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

区域

区域名称

提示

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

请求

请求总数以及每秒请求数

响应

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

流量

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

连接限制区域 部分#

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


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

区域

区域名称

提示

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

通过

总代理连接数

拒绝

总拒绝连接数

耗尽

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

跳过

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

请求限制区域 部分#

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


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

区域

区域名称

提示

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

通过

总代理连接数

延迟

总延迟连接数

拒绝

总拒绝连接数

耗尽

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

跳过

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

HTTP 上游 选项卡#

Console Light — "HTTP 上游"选项卡


注意

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

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

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

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

  • 编辑按钮切换 上游编辑 界面。

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

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

服务器

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

提示

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

请求

请求的总数和处理速度

响应

按状态代码划分的响应数

连接

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

流量

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

服务器检查

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

健康监测

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

编辑上游#

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

编辑选中的

编辑上游中选中的服务器。允许同时设置服务器的以下参数:权重, 最大连接限制(Max_conns),将服务器视为不可用的最大失败次数(Max_fails), max_fails 的失败累积窗口(Fail_timeout),状态(活动 - 启用, 下线 - 禁用或 正在排空 - 仅接收之前通过 sticky 绑定的会话请求)。

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

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


添加服务器

向上游添加服务器。允许您设置以下参数:地址,是否备份,权重, 最大连接限制(Max_conns),将服务器视为不可用的最大失败次数(Max_fails), 失败累积窗口(Fail_timeout),状态(活动 - 启用, 下线 - 禁用或 正在排空 - 仅接收之前通过 sticky 绑定的会话请求)。

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 区域"选项卡


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

区域

区域名称

连接

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

会话

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

流量

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

SSL

累计计数:成功的 SSL 握手数;不成功的 SSL 握手数; SSL 会话重用数

连接限制区域 部分#

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


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

区域

区域名称

提示

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

通过

总代理连接数

拒绝

总拒绝连接数

耗尽

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

跳过

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

TCP/UDP 上游 选项卡#

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


注意

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

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

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

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

  • 编辑按钮打开 上游编辑 小部件。

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

对于每个上游提供以下数据:

服务器

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

提示

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

连接

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

流量

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

服务器检查

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

编辑上游#

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

编辑选中的

编辑上游中选中的服务器。允许同时设置服务器的以下参数:权重, 最大连接限制(Max_conns),将服务器视为不可用的最大失败次数(Max_fails), max_fails 的失败累积窗口(Fail_timeout),状态(活动 - 启用, 下线 - 禁用或 正在排空 - 仅接收之前通过 sticky 绑定的会话请求)。

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

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


添加服务器

向上游添加服务器。允许您设置以下参数:地址,是否备份,权重, 最大连接限制(Max_conns),将服务器视为不可用的最大失败次数(Max_fails), 失败累积窗口(Fail_timeout),状态(活动 - 启用, 下线 - 禁用或 正在排空 - 仅接收之前通过 sticky 绑定的会话请求)。

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


缓存 选项卡#

Console Light — "缓存"选项卡


注意

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

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

区域

区域名称

提示

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

状态

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

内存使用

内存利用率

最大大小

最大内存大小

已使用

已使用的内存大小

磁盘使用

磁盘利用率

流量

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

命中率

缓存命中率(从缓存传输的流量占总量的比例)

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

路径

分片磁盘路径

状态

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

最大大小

最大内存大小

已使用

已使用的内存大小

磁盘使用

磁盘利用率

共享区域 选项卡#

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


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

区域

区域名称

提示

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

总内存页

总内存页数

已使用内存页

已使用的内存页数

内存使用

区域的内存利用率

DNS 解析器 选项卡#

Console Light — "解析器"选项卡


注意

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

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

区域

区域名称

提示

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

请求

A 和 AAAA、SRV、PTR 请求数

响应

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

设置 小部件#

Console Light — "设置"小部件


允许您配置控制台的常规设置:

  • 数据更新频率。默认值为 1 秒。

  • 使黄色警告出现在相应服务器响应部分的 4xx 状态阈值比率。默认值为 7%。

  • 用于计算缓存命中率的时间窗口。默认值为 300 秒。

  • 使解析器变红的错误计数阈值。默认值为 3%。

  • 控制台界面语言。可用选项:英语(English)和俄语(русский)。 默认情况下,控制台语言基于浏览器中设置的区域设置选择。

控制台控制面板#

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