我的环境是 4 台运行 Nginx 的 Ubuntu 14.04 服务器,位于 F5 负载均衡器后面。他们正在向 Datadog 发送指标,并通过 SNMP 从 F5 中提取指标以发送到 Datadog。
开发团队需要能够监控 HTTP 代码。我无法从服务器端的 Nginx 中提取它们,因为只有 Nginx Plus 才有可能。我曾考虑通过阅读访问日志和其他内容来构建一些内部解决方案,但我真的不想走那条路。所以接下来我看了看 F5,但都无法抓住它们。
此 OID 返回值 0:sysStatHttpRequests::1.3.6.1.4.1.3375.2.1.1.2.1.56
我知道这是不正确的,因为我每秒向 VIP 发送大约 1000 个 HTTP 请求。以下还返回值 0:
sysFastHttpStatResp2xxCnt 1.3.6.1.4.1.3375.2.1.1.2.14.16
sysFastHttpStatResp3xxCnt 1.3.6.1.4.1.3375.2.1.1.2.14.17
sysFastHttpStatResp4xxCnt 1.3.6.1.4.1.3375.2.1.1.2.14.18
sysFastHttpStatResp5xxCnt 1.3.6.1.4.1.3375.2.1.1.2.14.19
SNMP 正在工作,因为我能够提取其他指标,例如吞吐量、连接等……有人对如何在此环境中提取 HTTP 代码指标有任何想法吗?或者也许我完全错过了我需要在 F5 上设置的东西才能做到这一点。
- F5 大 IP 3900
- 版本:12.1.1
编辑:解决了我自己的问题。必须在 F5 上配置 AVR,然后将 HTTP 配置文件应用到虚拟服务器。
如果您没有应用 fastHTTP 配置文件,您将看不到该 oid 的统计信息。正常的 HTTP 配置文件使用这些 oid:
如果我在重置统计信息并检查 2xx oid 后对本地 vip运行ab 10k 次,我会看到:
为了让 F5 开始收集有关 HTTP 响应代码的指标,我必须在 F5 上配置 AVR 模块。然后我只需要简单地将默认 HTTP 配置文件应用到我的虚拟服务器池。然后我们会跟踪有关 HTTP 代码的统计信息,我可以通过 SNMP 提取这些统计信息并将它们发送到 Datadog。