石墨在数据点之间具有空值
Posted
技术标签:
【中文标题】石墨在数据点之间具有空值【英文标题】:Graphite has null values between data points 【发布时间】:2020-03-17 10:00:23 【问题描述】:我有一个从不同服务器获取数据包的 API。它将这些数据格式化为不同的小型 JSON 单元。我编写了一个算法,使用命令 json2graphite 将它们发送到石墨。 发送效果很好,传入的数据看起来也不错。
现在的问题: 石墨中显示的数据显示每个条目后跟一个空值。
The data points that should be connected
我知道这些数据也可以使用 Graphite 接口提供的函数连接,但这无济于事,因为 Grafana 板总是在 value 和 null 之间来回跳转。 有没有办法告诉 Grafana,如果超过 1 分钟左右没有数据,它只会变为 null?
我已经尝试使用“storage-schemas.conf”和“storage-aggregation.conf”中的数据来解决问题。不幸的是没有成功。
storage-schemas.conf:
[default_1min_for_1day]
pattern = .*
retentions = 10s:6h,30s:8d,1m:31d,10m:1y,1h:5y
聚合.conf:
[default_average]
pattern = .*
xFilesFactor = 0
aggregationMethod = average
如果你想知道更多,问我。 :)
【问题讨论】:
【参考方案1】:Grafana 可以选择连接由空值分隔的数据点。您可以在 Grafana 文档的“显示样式设置”下显示的 the screenshot 中查看如何启用此功能。
在 Graphite 作曲家中,您也可以通过在此处的 Graph 选项下指定 connected
线模式来实现:
此外,您可以使用 Graphite 的 keepLastValue 函数将最后接收到的值传递到有空值的间隙。
【讨论】:
感谢您帮助我。正如我上面写的,简单地连接接口中的数据点对我来说不是一个解决方案。不幸的是,显示最后一个值并不是一个很好的解决方案。如果最后一个值表示服务器仍然在线但已经在两天前是相当有害的。他应该很快告诉我服务器离线。但感谢您的帮助。 【参考方案2】:我还没有找到直接的解决方案,但我现在会尽量减少条目之间的间隔。我注意到请求花费的时间太长了:2-5 分钟。 可能有太多服务器,所以请求阻塞端口太久。 问题尚未解决,但我想如果 5 天内没有人说我有问题,我会将其标记为已解决。
【讨论】:
以上是关于石墨在数据点之间具有空值的主要内容,如果未能解决你的问题,请参考以下文章