É possível criar regras de personalização que afetem quando um item será coletado. São duas as formas, a primeira é conhecida como Intervalos Flexíveis e permite redefinir o intervalo entre coletas. A segunda forma é o Agendamento, nesta forma de coleta é possível especificar exatamente quando ocorrerão as coletas, não apenas o intervalo entre elas.
Os intervalos flexíveis permitem redefinir o intervalo entre coletas em períodos específicos. Para definir a personalização é preciso informar dois valores:
Podem ser definidos até sete intervalos flexíveis por item. Se os períodos dos intervalos flexíveis se sobrepuser, será considerado o menor intervalo entre coletas. Observe que se o intervalo flexível for igual a '0', a monitoração não ocorrerá. Fora dos períodos definidos nos intervalos flexíveis, o intervalo padrão será adotado.
Observe que se o intervalo entre coletas for exatamente igual ao tamanho do período em que ele é válido, a coleta ocorrerá somente uma vez. Se o intervalo entre coletas for maior do que o período de validade da personalização, a coleta poderá não ocorrer. Se o intervalo entre coletas for menor do que o período de validade do intervalo flexível, a coleta poderá ocorrer mais de uma vez.
Se o intervalo flexível for configurado para o valor '0' o item não será monitorado durante o período flexível, retornando a ser coletado quando o período flexível estiver inativo.
Exemplos:
Intervalo | Período | Descrição |
---|---|---|
10 | 1-5,09:00-18:00 | O item será verificado a cada 10 segundos durante a período flexível. |
0 | 1-7,00:00-7:00 | O item não será verificado durante a madrugada. |
60 | 1-7,12:00-12:01 | O item será verificado as 12:00 todo dia. Observe que este era uma solução alternativa enquanto não tínhamos o agendamento de coletas. A partir do Zabbix 3.0 não é recomendável utilizar-se do recurso de intervalo flexível para a coleta em horário agendado, para isso use o Agendamento. |
O recurso de agendamento de coletas é utilizado para garantir a coleta de um item em um momento específico. Enquanto o intervalo flexível é utilizado para redefinir o intervalo entre coletas, o agendamento é utilizado para especificar uma coleta em um momento específico, de forma independente do período padrão. As coletas serão executadas em paralelo.
Um agendamento é definido como: md<filtro>wd<filtro>h<filtro>m<filtro>s<filtro>
onde:
<filtro>
é usado para definir o valor para o prefixo (dias, horas, minutos, segundos) e é definido como: [<de>[-<até>]][/<salto>][,<filter>]
onde:
<de>
e <ate>
definem o range de valores possíveis (incluindo eles próprios). Se <até>
for omitido o filtro irá considerar que o range é <de> - <de>
. Se o <de>
também for omitido o filtro irá considerar que o range engloba todos os valores possíveis.<salto>
define o valor a saltar dentro do range. Por padrão o <salto>
é igual a 1, isso significa que todos os valores possíveis no range serão aceitos.As definições de filtro são opcionais, entretanto, cada filtro selecionado deverá ter um range ou um <salto> definido.
Lista de valores válidos para <de>
e <até>
para cada tipo de filtro:
Prefixo | Descrição | <de> | <até> |
---|---|---|---|
md | Dias do mês | 1-31 | 1-31 |
wd | Dias da semana | 1-7 | 1-7 |
h | Horas | 0-23 | 0-23 |
m | Minutos | 0-59 | 0-59 |
s | Segundos | 0-59 | 0-59 |
O valor <de>
deverá ser menor ou igual ao valor definido em <até>
. O valor do <salto>
deverá ser maior ou igual a 1 e menor ou igual ao menor valor dos campos <de>
- <até>
.
O primeiro campo de um filtro, tendo apenas um dígito, poderá receber o prefixo '0'. Por exemplo md01-31
e h/02
são intervalos válidos, mas md01-031
e wd01-07
não são válidos.
Múltiplos agendamentos podem ser utilizados ao se separar pelo caracter ;
. Se If a time is matched by several intervals it is executed only once. For example, wd1h9;h9
will be executed only once on Monday at 9am.
Examples:
Intervalo | Descrição |
---|---|
m0-59 | Coleta a cada minuto |
h9-17/2 | Coleta a cada 2 horas, começando as 9 e terminando as 17 (9:00, 11:00 ...) |
m0,30 or m/30 | Coleta em todo o minuto 30 de cada hora |
m0,5,10,15,20,25,30,35,40,45,50,55 ou m/5 | Coleta a cada cinco minutos |
wd1-5h9 | Coleta de segunda a sexta, as 9:00 |
wd1-5h9-18 | Coleta de segunda a sexta, de nove as 18, uma vez por hora (9:00,10:00,...,18:00) |
h9,10,11 or h9-11 | Coleta todo dia as 9:00, 10:00 e 11:00 |
md1h9m30 | Coleta no primeiro dia de cada mês as 09:30 |
md1wd1h9m30 | Coleta no primeiro dia de cada mês, mas só se o dia for também uma segunda feira |
h9m/30 ou h9m0-59/30 | Coleta as 09:00 e as 09:30 |
h9,10m/30 | Coleta as 9:00, 9:30, 10:00, 10:30 |
h9-10m30 | Coleta as 9:30, 10:30 |
h9m10-40/30 | Coleta as 9:10, 9:40 |
h9,10m10-40/30 | Coleta as 9:10, 9:40, 10:10, 10:40 |
h9m10-40 ou h9m10-40/1 | Coleta as 9:10, 9:11, 9:12, ... 9:40 |
h9-12,15 | Coleta as 9:00, 10:00, 11:00, 12:00, 15:00 |
h9-12,15m0 ou h9-12,15m0s0 | execute at 9:00, 10:00, 11:00, 12:00, 15:00 |
h9-12s30 | Coleta as 9:00:30, 10:00:30, 11:00:30, 12:00:30 |
h9m/30;h10 | Coleta as 9:00, 9:30, 10:00 |
Keep in mind that when configuring custom intervals the value of Update interval is taken into account. The following table shows correlation between custom intervals and Update interval.
Update interval | Flexible | Scheduling | Result |
---|---|---|---|
0 | Error | ||
0 | non-zero | Flexible | |
0 | non-zero | Scheduling | |
non-zero | Update interval | ||
non-zero | non-zero | Flexible | |
non-zero | non-zero | Update interval and Scheduling |