我应该在TSDB中存储全局计数器还是聚合值

时间:2017-03-01 11:47:11

标签: time-series influxdb

这个问题实际上是关于数据模式的。我有一个程序,它有一堆离散事件,我希望得到漂亮的图形。

  • 据我所知,我理解我应该确定已发生事件数量的计数器,并定期将该累积计数器转移到TSDB(作为cron作业或类似工作的一部分) )。

  • 我目前所拥有的是一个系统,其中监视器以规则的间隔告诉TSB在该间隔期间发生了多少事件(固定的硬编码值!)。

这两种设计模式中的哪一种更好?影响该决定的因素有哪些?我在这里有一个计数器值还是仅仅是一个测量值?

我有各种各样的问题,包括但不限于监控工具的效率

1 个答案:

答案 0 :(得分:0)

您使用InfluxDB标记了问题,但看起来您真正要问的是收集代理。为此,我会看看Telegraf。

StatsD也是一个非常棒的轻量级API,现在可用于大多数主要语言,您可以从中有效地发出不同类型的统计数据(计数器,计时等);对于每个事件或您定义的采样率。

我实施了一个解决方案,使用StatsD收集从我的应用程序发出的指标,拉出的指标(JMX查询)以及您通过Telegraf免费获得的基本主机级别统计信息。每个主机(30+)运行一个telegraf实例,在一定时间间隔(即30秒)内将其统计信息传送到集中的InfluxDB服务器。

因此,通过这样的方法,您可以在性能和数据精确度之间取得良好的平衡。