如何仅显示与CACTI营业时间的图表?

我注意到我只能用CACTI显示一个不间断的时间。 我想知道是否可以制作只显示一段时间(一周,一个月等)的营业时间的自定义表。

例如,我希望能够显示一个图表,平均入境stream量在上午8点到下午6点之间,为上个月每周5个工作日(星期一至星期五)。

我试图为RRDtoolconfiguration一个脚本,但我不知道正确的语法。 经过几次testing,我发现可以将不同的graphics叠加在一起。 我正在考虑计算所有图表的平均值,但是我不知道该怎么做。

我想configuration如下的东西:

--startday 20120604+8h --endday 20120604+18h monday: --start startday --end endday tuesday: --start startday+24h --end endday+24h wednesday: --start startday+48h --end endday+48h thursday: --start startday+72h --end endday+72h friday: --start startday+96h --end endday+96h DEF:monday=router.rrd:gi0/1:traffic_mon:AVERAGE DEF:tuesday=router.rrd:gi0/1:traffic_tue:AVERAGE DEF:wednesday=router.rrd:gi0/1:traffic_wed:AVERAGE DEF:thursday=router.rrd:gi0/1:traffic_thu:AVERAGE DEF:friday=router.rrd:gi0/1:traffic_fri:AVERAGE DEF:traffic_mon:traffic_tue:traffic_wed:traffic_thu:traffic_fri:AVERAGE 

我会apreciate任何帮助。

谢谢。

    很可能,仙人掌本身不能为你生成这种graphics。 您将需要使用rrdgraph手动生成RRD图。 完整的解决scheme相当复杂,但基本的要点是您创build一个RPN等式,在非营业时间内CDEF数据。

    UTC的一个非常基本的例子是2012-01-31 18:00:00 UTC到2012-02-01 08:00:00 UTC将是:

     DEF:ds0=/path/to/data.rrd:ds0:AVERAGE CDEF:officehours=TIME,1328032800,GT,0,1,IF,TIME,1328083200,LT,0,1,IF,MAX,1,UNKN,IF CDEF:dslimit=ds0,officehours,* AREA:dslimit#00cc00:"Value " 

    CDEF基本上检查样本的时间是在下午6点到上午8点之间。 如果是,则值为UNKN 。 如果不是,则值为1.乘以该值,您将在办公时间内留下实际值,在非办公时间内留下未知数。 图表会在非办公时间显示漏洞,而通过GPRINTPRINT输出的平均值, GPRINTGPRINT不会考虑非办公时间值。

    您必须为每个您想要过滤的非办公时间设置一个CDEF 。 从时代开始,时间就是几秒钟,所以如果你在1月1日到2月1日之间绘制图表,你需要sorting20个不同的时间段。 RRD具有非常好的语言钩子,因此您可以编写简单的Perl或Python脚本来为您自动生成这些graphics。

    阅读rrdgraphrrdgraph_rpnrrdgraph_examples手册页以获取更多详细信息和示例。

    CACTI轮询器用完了cron。

     */5 * * * * cactiuser php /var/www/html/cacti/poller.php > /dev/null 2>&1 

    如果您只想在工作时间内进行轮询,则可以在cron中进行configuration,但是rrdtool将在轮询未执行的图上显示缺口。

    不,rrdtool不能这样工作。