超过6小时不能查询石墨

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

我试图输入一个罕见的(<1minute)指标流,并能够在过去的许多小时内查询它。不幸的是,尽管我尝试了我能在Google中找到的通常的技巧,但我不能看到超过6小时。我的配置有什么问题?下面是我用来设置环境的文件。

.storage -aggregation.conf(存储聚合)

[min]
pattern = \.lower$
xFilesFactor = 0
aggregationMethod = min

[max]
pattern = \.upper(_\d+)?$
xFilesFactor = 0
aggregationMethod = max

[sum]
pattern = \.sum$
xFilesFactor = 0
aggregationMethod = sum

[count]
pattern = \.count$
xFilesFactor = 0
aggregationMethod = sum

[count_legacy]
pattern = ^stats_counts.*
xFilesFactor = 0
aggregationMethod = sum

[default_average]
pattern = .*
xFilesFactor = 0
aggregationMethod = average

.docker-compose.yml。

version: '3.3'
services:
  graphite:
    image: graphiteapp/graphite-statsd
    container_name: 'graphite'
    ports:
      - '2003:2003'
    volumes:
      - ./persistence/graphite/storage:/opt/graphite/storage
      - ./storage-aggregation.conf:/opt/graphite/conf/storage-aggregation.conf
      - ./storage-schemas.conf:/opt/graphite/conf/storage-schemas.conf

  grafana:
    build: './grafana'
    ports:
      - '3000:3000'
    links:
      - graphite

.storage-schemas.conf。

[carbon]
pattern = ^carbon\.
retentions = 10s:6h,1m:90d

[default_1min_for_1day]
pattern = .*
retentions = 10s:1800d,1m:1800d,10m:1800d

.grafanaprovisioningdatasourcesall.yml。

datasources:
- name: 'graphite'
  type: 'graphite'
  access: 'proxy'
  org_id: 1
  url: 'http://graphite:8080'
  is_default: true
  version: 1
  editable: true

.grafanaprovisioningdashboardsall.yml。

- name: 'default'
  org_id: 1
  folder: ''
  type: 'file'
  options:
    folder: '/var/lib/grafana/dashboards'

.grafanaDockerfile

FROM grafana/grafana:7.0.0
ADD ./provisioning /etc/grafana/provisioning
ADD ./config.ini /etc/grafana/config.ini
ADD ./dashboards /var/lib/grafana/dashboards
USER 0
RUN chmod a+w /var/lib/grafana -R /etc/grafana/config.ini
USER 472

.grafanaconfig.ini

[paths]
provisioning = /etc/grafana/provisioning

[server]
enable_gzip = true

[users]
default_theme = light

仪表盘几乎是默认的。我在这里缺少什么?

docker grafana graphite
1个回答
1
投票

你的留存指定了原始间隔是10s,但你发送的数据不到每分钟。 这意味着原始保留将看起来像 0s,<value>; 10s, null; 20s, null; 30s, null; 40s, null; 50s, null; 60s, <value maybe, but could also be null>

您将XFF设置为0,这意味着滚动到1分钟需要6个非空的原始值。 你只有1个,所以它滚动到了 null.

你应该考虑将你的原始保留更新为长于10s,如果你想传播该值,即使你有一大堆空值,那么将XFF设置为0.9(这将允许下一次聚合接受一个值,如果至少有10%的低区间是已知的。

最后,你的 10s:1800d,1m:1800d,10m:1800d 设置是没有意义的,因为较低的保留值永远不会被使用(因为它们都覆盖1800d),如果你真的想要1800d的原始数据,那么你可以直接使用 10s:1800d,但这仍然会导致一个巨大而笨重的文件。 我建议制定一个更合理的时间表(低间隔=短留存,高间隔=长留存,你的whisper文件的总大小将是每一级聚合的留存间隔的总和,graphite总是会选取覆盖查询期间的第一个留存),结合XFF值,符合你对rollups应该如何处理空值的期望。

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