O mais provável é que o próprio Cacti não consiga gerar esse tipo de gráfico para você. Você precisará gerar seu gráfico RRD manualmente usando rrdgraph
. A solução completa é bastante complicada, mas a essência básica é que você cria um CDEF
com uma equação RPN que nula os dados fora do horário comercial.
Um exemplo muito básico que remove as horas 2012-01-31 18:00:00 UTC a 2012-02-01 08:00:00 UTC seria:
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 "
O CDEF
para officehours
basicamente verifica se a hora da amostra está entre as 18h e as 8h. Se for, o valor é UNKN
. Se não for, o valor é 1. Multiplique isso pelo valor e você ficará com os valores reais durante o horário de expediente e os desconhecidos fora do horário de expediente. Um gráfico mostraria um furo fora do horário de expediente e a saída de médias, máximas e min. Através de GPRINT
ou PRINT
não levaria em consideração os valores da hora fora do escritório.
Você terá que configurar CDEF
para cada período de horas que não seja de escritório que deseja filtrar. O tempo está em segundos desde a época, portanto, se você estivesse fazendo gráficos, por exemplo, de 1º de janeiro a 1º de fevereiro, teria na ordem de 20 períodos distintos que precisa filtrar. O RRD tem muito bons hooks de linguagem, então você pode escrever um simples script Perl ou Python para gerar esses gráficos rapidamente para você.
Leia o rrdgraph
, rrdgraph_rpn
e rrdgraph_examples
man pages para mais detalhes e exemplos.