Angie Web 服务器分叉的多方面监控#

27.09.2023

美丽的实时演示胜过任何图片: https://console.angie.software/

美丽的实时演示胜过任何图片: https://console.angie.software/

你好,亲爱的读者。我叫德米特里。我是一名系统工程师,任职于 Web Server, 这是一家俄罗斯公司,负责 Angie Web 服务器。根据我在 NGINX 和现在在 Web Server LLC 提供技术支持的经验, 我经常遇到同一个热门问题:“我该如何组织 Web 服务器监控?” 让我们来探讨这个问题的答案。

  1. 监控。“为什么?日志很好!”

  2. Angie Web 服务器。“为什么?当有。” 如何安装。“是否有的构建?”

  3. API。“我告诉你,有日志!让我在生产中启用它们。” 它提供什么。“与日志有什么区别?” 如何配置。 “难道它不是自动工作吗?” 获取 Web 服务器配置。“但是 有 angie -T。”

  4. Console Light – Web 界面。“又一个监控系统?!1?1!!!” 它显示什么。“实时是什么意思?” 如何安装。“真的只需要几行配置?”

  5. Prometheus API。“我已经在使用它了!是的,我们解析日志...” 如何 配置 Angie 以进行集成。“没有 njs 呢?” 与 Console Light 的比较。“这些值真的是一致的吗?”

  6. 结论。“所以这就是多方面的意思!”

---

1. 监控。“为什么?日志很好!”#

我们已经不再仅仅根据用户报告对事件做出反应。监控系统已成为现代基础设施的重要组成部分, 提供数据收集、通知,甚至偶尔的“修复所有内容”按钮。

当经理、架构师或安全专家询问我们如何确保请求处理基础设施中关键组件的可观察性时, 我们通常强调三个主要信息来源:

  • 有关 Web 服务器进程的系统指标* (例如,CPU 和 RAM 使用情况,正常运行时间)。

  • 日志数据,提供已处理请求的回顾性视图。

  • 指标导出,使用第三方扩展,尽管不太常见。

虽然系统进程指标是基础且普遍适用的,但它们通常不够全面。例如,低 CPU 使用率仍可能伴随出现 502 Bad Gateway 错误,信号指向更深层次的问题,而这些问题并不立即显现。

日志数据也很容易访问,但本质上是反应性的。它仅在问题发生后让我们进行诊断。例如,在 DoS 攻击期间, 日志在事后显示失败的请求,但并未提供未处理的传入请求的见解。有效的监控应作为预测工具,提醒我们正在进行的问题,而不仅仅是记录后果。

第三方解决方案的指标导出可以弥补这一差距,但也带来了权衡:

  • 配置和操作系统特定构建的时间投资。

  • Web 服务器与第三方模块在更新后可能存在的兼容性问题。

  • 信息安全团队的安全担忧,他们很少能安枕无忧。

Angie 内置的监控功能,如我们将要讨论的,提供全面的实时洞察,涵盖 Web 和代理服务器负载, 以及与现有监控系统的无缝集成选项。

---

2. Angie Web 服务器。“为什么?当有 *。”#

Angie 是一个 nginx 的分叉,提供额外的功能,同时保留 nginx 的轻量和高效设计。

如何安装: 安装 Angie 非常简单。常见操作系统的预构建包可用,同时也支持从源代码编译。 详细的安装说明可以在官方文档中找到。

构建可用性: Angie 支持广泛的平台,针对流行的 Linux 发行版和其他环境提供二进制文件。 如果你不确定你的操作系统兼容性,请查阅 下载部分

---

3. API。“我告诉你,有日志!让我在生产中启用它们。”#

Angie 的 API 允许实时监控其操作,补充传统日志。

它提供什么: API 提供关于请求处理、负载分配和资源使用的详细指标,超越静态日志条目。

与日志有什么区别? 日志捕获历史数据——已经发生的事情。相比之下,API 提供关于当前发生的事情的实时洞察, 例如队列长度、处理延迟或上游服务器状态。

如何配置: 配置 API 很简单,只需在 Angie's 配置文件中启用相关模块。逐步说明可在官方指南中找到。

获取 Web 服务器配置: 对于熟悉 angie -T 的用户,API 通过提供动态、按需访问配置和运行时指标来扩展其功能。

---

4. Console Light – Web 界面。“又一个监控系统?!1?1!!!”#

它显示什么: Console Light 提供一个图形界面,用于 Angie's 实时指标,清晰地展示服务器性能。

实时是什么意思? 指标实时更新,提供对服务器行为的即时反馈,而没有基于日志的系统固有的延迟。

如何安装: 安装 Console Light 只需少量工作——只需几行配置。安装指南中提供了说明,确保你能快速设置。

---

5. Prometheus API。“我已经在使用它了!是的,我们解析日志...”#

如何配置 Angie 以进行集成: 在 Angie's 配置中可以启用与 Prometheus 兼容的端点。无需额外的第三方模块, 使设置高效且安全。

没有 njs 呢? 与一些要求 nginx 的 njs 模块进行 Prometheus 集成的设置不同,Angie 提供对指标导出的原生支持, 消除了额外的依赖关系。

与 Console Light 的比较: Prometheus 和 Console Light 都提供强大的监控能力,但它们满足不同的需求。Prometheus 非常适合在大规模系统中聚合指标,而 Console Light 提供对 Angie 性能的聚焦、实时视图。两个系统报告的值一致,确保一致性。

---

6. 结论。“所以这就是多方面的意思!”#

Angie 的多方面监控能力通过结合系统指标、实时 API 和可视化界面,满足现代基础设施的需求。 无论你更喜欢日志、API 还是图形仪表板,Angie 都有工具提供全面和预测性的监控体验。

通过利用这些功能,你可以确保你的 Web 服务器高效运行,提前发现问题, 并与现有的监控解决方案无缝集成。