É 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 |