谁能建议从节点集群(每个节点都是带有 Java 应用程序的 Tomcat Docker 容器)收集指标的最佳模式?
我们计划使用 ELK 堆栈(ElasticSearch、Logstash、Kibana)作为可视化工具,但我们的问题是如何将指标传递给 Kibana?
我们正在使用 DropWizard 指标库,它提供每个实例的指标(仪表、计时器、直方图)。
显然,应该为每个实例收集一些指标(例如,cpu、内存等)——在每个集群中聚合它们没有任何意义。
但是对于诸如平均 API 响应时间、数据库调用持续时间等指标,我们需要一个清晰的全局图——即不是每个具体实例。
这就是我们犹豫的地方。我们应该吗:
- 只需将简单的仪表值发送到 ElasticSearch 并允许 Kibana 计算平均值、百分位数等。在这种方法中,所有聚合都发生在 Kibana 中。
- 使用每个实例的计时器和直方图并改为发送它们 - 但由于每个实例已经汇总了这些数据(即计时器已经提供了百分位数和 1 分钟、5 分钟和 15 分钟的速率) - Kibana 应该如何处理这个以显示全局图片?聚合已经聚合的数据是否有意义?
提前致谢,