我开始使用一个新的应用程序,该应用程序旨在在更多的云中运行。按照无服务器基础设施的想法,没有机器的概念#34;再一次,但只是一个运行在某个地方的应用程序。
由于Graphite只知道"绝对"通常,服务器的主机名将在度量标准路径中进行编码以处理并发。 (例如applicationname.webserver_1.requestCount
)。使用Graphite函数,可以在构建图形时轻松合并数据。
然而当我在服务器较少的环境中运行时,主机名在经典意义上不再存在 - 每次重新启动或部署应用程序时,都会为其生成一个新的随机主机名。我现在想知道的是 - 如何最好地处理这个问题。我不能使用主机名,因为这样我最终将会有数百个不同的主机名,并且完全无法使用石墨后端。这个用例中的最佳实践是什么?
作为旁注 - 这不仅可以测量计数器,还可以测量响应时间(将应用p99功能)。
我想使用dropwizard-metrics(正式称为codahale指标)向grahite发送消息,但这应该只是一个实现细节。
非常感谢你的帮助。
答案 0 :(得分:0)
现在的计划是不直接发送到Graphite,而是通过StatsD,它能够进行必要的聚合。在这种情况下,不需要嵌入主机名。
感谢您的建议! :)