Graphite summary()函数结果对于不同的'from'值是不一致的

问题描述 投票:0回答:1

我正在使用Graphite记录用户登录信息。

当我运行以下命令时:

render?target=summarize(stats_counts.login.success,"1day")&format=json&from=-1days

我得到的结果是:

[
  {
    "target": "summarize(stats_counts.login.success, \"1day\", \"sum\")",
    "datapoints": [
      [
        5,
        1435708800
      ],
      [
        21,
        1435795200
      ]
    ]
  }
]

但是对于以下查询:

render?target=summarize(stats_counts.login.success,"1day")&format=json&from=-7days

我得到的结果是:

[
  {
    "target": "summarize(stats_counts.login.success, \"1day\", \"sum\")",
    "datapoints": [
      [
        0,
        1435190400
      ],
      [
        1,
        1435276800
      ],
      [
        0,
        1435363200
      ],
      [
        0,
        1435449600
      ],
      [
        5,
        1435536000
      ],
      [
        16,
        1435622400
      ],
      [
        6,
        1435708800
      ],
      [
        21,
        1435795200
      ]
    ]
  }
]
在两个结果中均

注意存储桶的值:1435708800”。在一个结果中为:5,在第二个结果中为:6

在第一个查询中,我试图获取上周每天的用户登录数,在第二个查询中,我试图获取昨天和今天的每日用户登录数。

造成这种差异的原因是什么?

UPDATE

石墨版本:0.9.10保留设置:

[carbon]
pattern = ^carbon\.
retentions = 60:90d

[real_time]
priority = 200
pattern = ^stats.*
retentions = 1:34560000

[stats]
priority = 110
pattern = .*
retentions = 1s:24h,1m:7d,10m:1y
analytics graphite statsd
1个回答
0
投票

请尝试将allign添加为true,因为它会基于时间改变在存储区间隔中获得的数据点数。

默认情况下,存储桶是通过四舍五入到最接近的间隔来计算的。对于间隔小于一天的间隔,此方法效果很好。例如,当间隔= 1小时时,22:32将最终在存储桶22:00-23:00中出现。

传递alignToFrom = true会从时间开始创建存储桶。在这种情况下,22:32的时段取决于起始时间。如果from = 6:30,则22:32的1小时时段为22:30-23:30。

“ summaryize(ex.cpe.ex.xxx,'30s','avg',true)”]

© www.soinside.com 2019 - 2024. All rights reserved.