从群集中收集度量标准

时间:2017-12-30 17:56:56

标签: java elasticsearch kibana metrics codahale-metrics

有人可以建议从节点集群中收集指标的最佳模式(每个节点都是带有Java应用程序的Tomcat Docker Container)吗?

我们计划使用ELK堆栈(ElasticSearch,Logstash,Kibana)作为可视化工具,但我们的问题是如何将指标传递给Kibana?

我们正在使用DropWizard指标库,它提供了每个实例指标(指标,计时器,直方图)。

显然,应该为每个实例收集一些指标(例如cpu,内存等等) - 每个集群聚合它们没有任何意义。

但对于平均API响应时间,数据库调用持续时间等指标,我们需要一个清晰的全局图片 - 即不是每个具体实例。

这是我们犹豫的地方。我们应该:

  1. 只需向ElasticSearch发送普通规格值,并允许Kibana计算平均值,百分位数等。在这种方法中,所有聚合都发生在Kibana中。
  2. 每个实例使用定时器和直方图并发送它们 - 但由于这个数据已经按实例聚合(即计时器已经提供了百分位数和1分钟,5分钟和15分钟的速率) - Kibana如何处理这个以显示全局图片?汇总已经汇总的数据是否有意义?
  3. 提前致谢,

1 个答案:

答案 0 :(得分:2)

您需要使用Metricbeat。它支持system levelDocker APIDropwizard的模块。这将为您收集事件(没有任何预先聚合)。

对于聚合和可视化,我使用time-series visual builder,您可以在其中聚合每个容器,节点,服务,所有内容......应该非常灵活地为您获得正确的数据粒度。< / p>