【发布时间】:2015-02-23 16:17:47
【问题描述】:
我想在 Splunk 中设置一个脚本输入,以针对 Graphite 的渲染 url api 执行 curl。我想我可以将此输入配置为按分钟运行,并检索最后几分钟的事件。
我对此的担忧是某些事件可能会被遗漏或重复。
有人做过类似的事情吗?如何跟踪我已经阅读过的 Graphite 事件?
【问题讨论】:
我想在 Splunk 中设置一个脚本输入,以针对 Graphite 的渲染 url api 执行 curl。我想我可以将此输入配置为按分钟运行,并检索最后几分钟的事件。
我对此的担忧是某些事件可能会被遗漏或重复。
有人做过类似的事情吗?如何跟踪我已经阅读过的 Graphite 事件?
【问题讨论】:
如果您编写模块化输入,则可以使用数据检查点。有关更多信息,请参阅文档:http://docs.splunk.com/Documentation/Splunk/6.2.1/AdvancedDev/ModInputsCheckpoint
【讨论】:
我对此的担忧是某些事件可能会被遗漏或重复。
是的,它可能会丢失。在两种情况下-
如果您将石墨服务器推向极限,则在接收数据点和刷新到磁盘之间存在延迟。大排长龙,我已经看到这长达 20 分钟。 (IO 是这里的约束)。
例如,在上述情况下,有 20 分钟的延迟,并且我以 1m 的粒度存储数据,我将拥有最新的 20 个数据点,NULL 与 timestamp 相对。当然,他们很快就会用下一个同花顺来填补。
知道这些是不确定的。因此,如果您的部署为零延迟,请采用这种方法。
由于石墨的冲洗特性,即使没有任何限制,最新数据点在任何给定点都可以是 NULL,也可以不是。你可以使用&from=-21m&to=-1m 之类的东西来确保你永远不会遇到这种情况。注意:您的监控现在滞后一分钟。 :)
总而言之,如果您的需求不是实时的,那么石墨是一个很好的监控工具。
【讨论】: