gpt4 book ai didi

metrics - 在一个 12 因素的应用程序中,指标应该如何发送到指标监控服务器?

转载 作者:行者123 更新时间:2023-12-05 07:49:10 25 4
gpt4 key购买 nike

12 要素应用声明推荐 writing all log output to stdout .如果您的服务/应用程序在 docker 容器中运行,这将非常容易实现。然后,您可以使用 docker 日志驱动程序将日志发送到像 fluentd 这样的日志传送器,然后它可以将它们发送到 elasticsearch 进行分析或像 HDFS 这样的东西进行长期存储。

虽然很清楚如何处理日志,但似乎没有任何关于如何处理指标的指导。例如,我们可能希望跟踪服务在每个请求上花费的时间、错误率和其他内容。

可以让服务直接发送指标,但这似乎违反了 12 因素应用程序原则。此外,如果指标服务器出现故障或服务出现故障,我们将需要处理将指标写入磁盘和其他类似预写日志的功能,这会增加复杂性。

一个可能的解决方案是将指标写入 stdout 并让 fluentd 过滤它们。但在这种情况下,我们混合了日志和指标,我们需要为日志和指标设置一套格式来区分它们,对于不是我们编写的服务,这可能不是一个选项。

在 12 要素应用中,应如何将来自应用/服务的指标发送到指标服务器?

最佳答案

metrics server 与任何其他依赖项没有什么不同,例如数据库什么的。依赖位置是通过环境变量 ( http://12factor.net/config ) 配置的,因此使用它来传递应用程序应发送其指标的位置。

指标服务下降的问题可能超出了配置的范围。应用程序如何处理其依赖项之一不可用实际上更像是一个应用程序设计问题。您可以选择在 RAM 或某种临时文件系统中缓冲一定数量的内容,或者只是删除无法发送的任何内容 - 您的选择。关键是位置是为该环境配置的,其他任何事情都是设计问题。

只是我的 2c,HTH。

关于metrics - 在一个 12 因素的应用程序中,指标应该如何发送到指标监控服务器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37748437/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com