首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >脚本和rrdtool

脚本和rrdtool
EN

Stack Overflow用户
提问于 2014-03-05 21:49:12
回答 1查看 1.3K关注 0票数 2

有一种情况是,我收集了大量SNMP数据,并通过rrdtool存储它。(使用OpenNMS)

我的目标是确定在过去六个月中,在数百台服务器中,哪些服务器的内存使用量没有超过一定数量。(例如,64次演出)

我的计划是编写一个bash脚本来提取和处理rrdtool中的数据,但不确定如何开始。这似乎是一个相当普通的任务,我觉得我应该在这里问一下,如果有人有任何想法。

谢谢!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-03-06 03:54:19

RRDTool术语:

  • RRD : RRDTool数据库文件
  • DS :数据源。正在测量的变量之一
  • RRA :圆木档案馆。RRD文件中定义的合并存档
  • CF :整合因素。最大,最小,平均,最后。RRA是如何整合数据的
  • DP :数据点。在合并前存储在RRD中的数据样本
  • CDP : Consolodated数据点。RRA中的数据点,对应于使用RRA的CF合并的一个或多个DP。

我建议分两部分来做。

首先,提取每个DS在时间段内的最大值。如果创建具有最大CF和适当粒度(如1天)的RRA,则此步骤将大大简化。提取过程将取决于您是否有一个具有多个DS的RRD,或者每个DS中有一个DS的多个RRDs;但是,您需要使用rrdtool xport而不是rrdtool fetch来检索数据,以便为每个DS获取一个数据值。rrdtool的xport函数将允许您进一步合并您的1CDP==1day RRA以获得单个CDP;通过将“步骤”设置为6个月来完成此操作,并强制您的1CDP==1day使用最大CF。我们使用1天RRA而不是6个月RRA的原因是,我们可以在任何日期运行计算,而不仅仅是每6个月运行一次。

假设您的文件是data1.rrd,其中包含主机host1的单个DS dsname

代码语言:javascript
复制
rrdtool xport --end now --start "end - 6 months" --step 15552000 --maxrows 1
    DEF:x=data1.rrd:dsname:MAX 
    XPORT:x:host1

接下来,您需要对这些阈值进行筛选,以获得在阈值以下具有最大值的DS列表。在bash中,这将是一个简单的过程,不应该对您征税!

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22210088

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档