É possível criar regras personalizadas em relação aos horários em que um item é verificado. Os dois métodos para isso são Intervalos flexíveis, que permitem redefinir o intervalo de atualização padrão, e Agendamento, pelo qual uma verificação de item pode ser executada em um horário específico ou sequência de horários.
Intervalos flexíveis permitem redefinir o intervalo de atualização padrão para períodos de tempo específicos. Um intervalo flexível é definido com Interval e Period, onde:
Se vários intervalos flexíveis se sobrepuserem, o menor valor de Interval será usado para o período de sobreposição. Observe que, se o menor valor dos intervalos flexíveis sobrepostos for '0', nenhuma coleta será realizada. Fora dos intervalos flexíveis, o intervalo de atualização padrão é usado.
Observe que, se o intervalo flexível for igual ao comprimento do período, o item será verificado exatamente uma vez. Se o intervalo flexível for maior que o período, o item pode ser verificado uma vez ou pode não ser verificado (portanto, tal configuração não é recomendada). Se o intervalo flexível for menor que o período, o item será verificado pelo menos uma vez.
Se o intervalo flexível for definido como '0', o item não será coletado durante o período do intervalo flexível e retomará a coleta de acordo com o Update interval padrão assim que o período terminar. Exemplos:
| Interval | Period | Descrição |
|---|---|---|
| 10 | 1-5,09:00-18:00 | O item será verificado a cada 10 segundos durante o horário comercial. |
| 0 | 1-7,00:00-7:00 | O item não será verificado durante a noite. |
| 0 | 7-7,00:00-24:00 | O item não será verificado aos domingos. |
| 60 | 1-7,12:00-12:01 | O item será verificado às 12:00 todos os dias. Observe que isso era usado como uma solução alternativa para verificações agendadas e recomenda-se usar intervalos de agendamento para tais verificações. |
Os intervalos de agendamento são usados para verificar items em horários específicos. Enquanto os intervalos flexíveis são projetados para redefinir o intervalo padrão de atualização do item, os intervalos de agendamento são usados para especificar uma programação de verificação independente, que é executada em paralelo.
Um intervalo de agendamento é definido como: md<filter>wd<filter>h<filter>m<filter>s<filter> onde:
<filter> é usado para especificar valores para seu prefixo (dias, horas, minutos, segundos) e é definido como: [<from>[-<to>]][/<step>][,<filter>] onde:
<from> e <to> definem o intervalo de valores correspondentes (incluídos). Se <to> for omitido, o filtro corresponderá a um intervalo <from> - <from>. Se <from> também for omitido, o filtro corresponderá a todos os valores possíveis.<step> define os saltos do valor numérico ao longo do intervalo. Por padrão, <step> tem o valor 1, o que significa que todos os valores do intervalo definido são correspondidos.Embora as definições de filtro sejam opcionais, pelo menos um filtro deve ser usado. Um filtro deve ter um intervalo ou o valor <step> definido.
Um filtro vazio corresponde a '0' se nenhum filtro de nível inferior for definido ou a todos os valores possíveis caso contrário. Por exemplo, se o filtro de hora for omitido, apenas a hora '0' corresponderá, desde que os filtros de minuto e segundo também sejam omitidos, caso contrário, um filtro de hora vazio corresponderá a todos os valores de hora.
Valores válidos de <from> e <to> para seus respectivos prefixos de filtro são:
| Prefixo | Descrição | <from> | <to> |
|---|---|---|---|
| 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 <from> deve ser menor ou igual ao valor <to>. O valor <step> deve ser maior ou igual a 1 e menor ou igual a <to> - <from>.
Os valores de dias do mês, horas, minutos e segundos de um único dígito podem ser prefixados com 0. Por exemplo, md01-31 e h/02 são intervalos válidos, mas md01-031 e wd01-07 não são.
No frontend do Zabbix, vários intervalos de agendamento são inseridos em linhas separadas. Na API do Zabbix, eles são concatenados em uma única string com um ponto e vírgula ; como separador.
Se um horário corresponder a vários intervalos, ele será executado apenas uma vez. Por exemplo, wd1h9;h9 será executado apenas uma vez na segunda-feira às 9h.
Exemplos:
| Intervalo | Será executado |
|---|---|
| m0-59 | a cada minuto |
| h9-17/2 | a cada 2 horas começando às 9:00 (9:00, 11:00 ...) |
| m0,30 ou m/30 | de hora em hora em hh:00 e hh:30 |
| m0,5,10,15,20,25,30,35,40,45,50,55 ou m/5 | a cada cinco minutos |
| wd1-5h9 | toda segunda a sexta-feira às 9:00 |
| wd1-5h9-18 | toda segunda a sexta-feira às 9:00,10:00,...,18:00 |
| h9,10,11 ou h9-11 | todos os dias às 9:00, 10:00 e 11:00 |
| md1h9m30 | todo dia 1º de cada mês às 9:30 |
| md1wd1h9m30 | todo dia 1º de cada mês às 9:30 se for segunda-feira |
| h9m/30 | todos os dias às 9:00, 9:30 |
| h9m0-59/30 | todos os dias às 9:00, 9:30 |
| h9,10m/30 | todos os dias às 9:00, 9:30, 10:00, 10:30 |
| h9-10m30 | todos os dias às 9:30, 10:30 |
| h9m10-40/30 | todos os dias às 9:10, 9:40 |
| h9,10m10-40/30 | todos os dias às 9:10, 9:40, 10:10, 10:40 |
| h9-10m10-40/30 | todos os dias às 9:10, 9:40, 10:10, 10:40 |
| h9m10-40 | todos os dias às 9:10, 9:11, 9:12, ... 9:40 |
| h9m10-40/1 | todos os dias às 9:10, 9:11, 9:12, ... 9:40 |
| h9-12,15 | todos os dias às 9:00, 10:00, 11:00, 12:00, 15:00 |
| h9-12,15m0 | todos os dias às 9:00, 10:00, 11:00, 12:00, 15:00 |
| h9-12,15m0s30 | todos os dias às 9:00:30, 10:00:30, 11:00:30, 12:00:30, 15:00:30 |
| h9-12s30 | todos os dias às 9:00:30, 9:01:30, 9:02:30 ... 12:58:30, 12:59:30 |
| h9m/30;h10 (sintaxe específica da API) | todos os dias às 9:00, 9:30, 10:00 |
| h9m/30 h10 (adicione isso como outra linha no frontend) |
todos os dias às 9:00, 9:30, 10:00 |
Observe que os proxies e agent do Zabbix usam seus fusos horários locais ao processar intervalos de agendamento.
Por esse motivo, quando intervalos de agendamento são aplicados a items monitorados por proxy do Zabbix ou items ativos de agent, é recomendável definir o fuso horário dos respectivos proxies ou agent igual ao do server do Zabbix, caso contrário a fila pode relatar atrasos de items incorretamente.
O fuso horário para proxy ou agent do Zabbix pode ser definido usando a variável de ambiente TZ no arquivo de unidade systemd: