Console Light 网络监控面板#

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

Console Light#

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

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

版本历史#

版本

发布日期

变更内容

1.8.0

03.07.2025

显示代理 HTTP 和 TCP/UDP 服务器的响应时间指标

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 配置中配置了相应的块, 统计小部件才会显示。

About 小部件#

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

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

Connections 小部件#

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

Current

当前连接数

Accepted/s

每秒接受的连接数

Active

活动连接数

Idle

空闲连接数

Dropped

丢弃的连接数

还可用:

Accepted

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

HTTP Zones 小部件#

警告

需要在 serverlocation 上下文中设置 status_zone 指令。

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

Total

总区域数

Problems

有任何问题的区域数

Traffic

总流入和流出流量

HTTP Upstreams 小部件#

警告

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

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

Total

上游总数

Problems

有任何问题的上游数

Servers

按状态分类的服务器统计数据

TCP/UDP Zones 小部件#

警告

需要设置以下指令:

示例:

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 上下文的共享内存区域统计数据:

Conn total

客户端连接总数

Conn current

当前客户端连接数

Conn/s

每秒处理的连接数

TCP/UDP Upstreams 小部件#

警告

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

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

Total

上游总数

Problems

有任何问题的上游数

Servers

按状态分类的服务器统计数据

HTTP Zones 选项卡#

警告

需要在 serverlocation 上下文中设置 status_zone 指令。

Server Zones 部分#

Console Light — "HTTP Zones" 选项卡上的 "Server Zones" 部分


汇总从 API 部分 /status/http/server_zones/ 生成的 httpserver 上下文的共享内存区域监控统计数据。为每个区域显示以下数据:

Zone

区域名称

小技巧

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

Requests

请求总数和每秒请求数

Responses

按状态码分类的响应数以及响应总数

Traffic

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

SSL

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

Location Zones 部分#

Console Light — "HTTP Zones" 选项卡上的 "Location Zones" 部分


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

:widths: 1 3 :align: left :width: 95%#

Zone

区域名称

小技巧

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

Requests

请求总数以及每秒请求数

Responses

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

Traffic

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

Limit Conn Zones 部分#

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


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

Zone

区域名称

小技巧

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

Passed

总代理连接数

Rejected

总拒绝连接数

Exhausted

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

Skipped

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

Limit Req Zones 部分#

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


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

Zone

区域名称

小技巧

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

Passed

总代理连接数

Delayed

总延迟连接数

Rejected

总拒绝连接数

Exhausted

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

Skipped

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

HTTP 上游 选项卡#

Console Light — "HTTP 上游"选项卡


警告

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

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

  • Show upstreams list 按钮切换上游简要列表,显示有问题的上游和对等节点数量。

  • Failed only 开关切换有问题上游统计数据的显示模式。

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

  • 每个上游表右侧的下拉列表允许您过滤特定状态的服务器(UpFailedCheckingDown)。

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

Server

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

小技巧

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

Requests

请求总数和处理速度

Responses

按状态代码划分的响应数

Connections

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

Traffic

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

Server checks

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

Health monitors

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

Response time

从请求开始到发送响应第一个字节的时间; 从请求开始到完成发送整个响应的总时间 (API 中的 health 对象)

编辑上游#

在 Angie PRO 中,每个上游旁边都有一个编辑按钮;单击时,会显示另外两个按钮:

Edit selected

编辑上游中选定的服务器。允许您一次为所有服务器设置以下参数:Weight、最大连接限制(Max_conns)、将服务器标记为不可用的最大失败限制(Max_fails)、最大失败限制的失败计数时间窗口(Fail_timeout)、状态(active – 启用,down – 禁用,或 draining – 仅接收先前通过 sticky 绑定的会话请求)。

您也可以在此处删除选定的服务器。

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


Add server

向上游添加服务器。允许您设置以下参数:地址、是否为备份服务器、Weight、最大连接限制(Max_conns)、将服务器标记为不可用的最大失败限制(Max_fails)、失败计数时间窗口(Fail_timeout)、状态(active – 启用,down – 禁用,或 draining – 仅接收先前通过 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/ 生成的 streamserver 上下文的共享内存区域监控统计数据。为每个区域提供以下数据:

Zone

区域名称

Connections

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

Sessions

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

Traffic

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

SSL

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

连接限制区域 部分#

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


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

Zone

区域名称

小技巧

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

Passed

代理连接总数

Rejected

拒绝连接总数

Exhausted

由于区域存储溢出而丢弃的连接总数

Skipped

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

TCP/UDP 上游 选项卡#

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


警告

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

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

  • Show upstreams list 按钮切换上游简要列表的显示,显示有问题的上游和对等节点数量。

  • Failed only 开关启用和禁用有问题上游统计数据的显示模式。

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

  • 每个上游表右侧的下拉列表允许您过滤特定状态的服务器(UpFailedCheckingDown)。

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

Server

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

小技巧

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

Connections

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

Traffic

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

Server checks

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

Health monitors

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

Response time

与后端建立连接所花费的时间; 从请求开始到收到响应第一个字节的时间; 从请求开始到收到最后一个字节响应的总时间 (API 中的 health 对象)

编辑上游#

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

编辑选中的

编辑上游中选中的服务器。允许同时为所有服务器设置以下参数:权重, 最大连接限制(Max_conns),将服务器标记为不可用的最大失败 限制(Max_fails),最大失败限制的失败计数时间 窗口(Fail_timeout),状态(active - 启用, down - 禁用,或 draining - 仅接收 之前通过 sticky 绑定的会话请求)。

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

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


添加服务器

向上游添加服务器。允许您设置以下参数: 地址,是否为备份服务器,权重,最大连接 限制(Max_conns),将服务器标记为不可用的最大失败限制 (Max_fails),失败计数时间 窗口(Fail_timeout),状态(active - 启用, down - 禁用,或 draining - 仅接收 之前通过 sticky 绑定的会话请求)。

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


缓存 选项卡#

Console Light - "缓存"选项卡


警告

需要在 http 上下文中设置 proxy_cache_path 指令。

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

区域

区域名称

小技巧

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

状态

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

内存使用

内存利用率

最大大小

最大内存大小

已使用

已使用的内存大小

磁盘使用

磁盘利用率

流量

从缓存提供的流量、写入缓存的流量以及绕过缓存返回的流量

命中率

缓存命中率(从缓存提供的流量与 总量的比率)

如果为某个区域启用了 分片,它会显示为一个 下拉列表,列出各个分片:

路径

分片在磁盘上的路径

状态

分片状态:冷(元数据正在加载到内存中)或热 (元数据已加载)

最大大小

最大内存大小

已使用

已使用的内存大小

磁盘使用

磁盘利用率

共享区域 选项卡#

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


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

区域

区域名称

小技巧

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

总内存页

总内存页数

已使用内存页

已使用的内存页数

内存使用

区域的内存利用率

DNS 解析器 选项卡#

Console Light - "DNS 解析器"选项卡


警告

需要在 http 上下文中设置 resolver 指令。

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

区域

区域名称

小技巧

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

请求

A 和 AAAA、SRV、PTR 类型请求的数量

响应

按相应代码分类的响应数量 (成功格式错误服务器故障名称错误未实现拒绝 和其他)

设置 小部件#

Console Light - "设置"小部件


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

  • 数据刷新频率。默认值 — 1 秒。

  • 4xx 状态的阈值比率。当达到阈值时, 相应的服务器响应相关部分会出现"黄色"警告。 默认值 — 7%。

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

  • 解析器的错误阈值。当达到阈值时,解析器 将变为"红色"。默认值 — 3%。

  • 控制台界面语言。可用选项:英语和俄语。 默认情况下,控制台语言根据浏览器中设置的区域设置选择。

控制台控制面板#

在所有选项卡上,页面左侧中部有一个滑出面板,包含 两个按钮 Console Light - "关于"选项卡上的控制台控制按钮。顶部按钮暂停和恢复来自 API 的数据更新, 底部按钮允许您在更新暂停时手动更新数据。