[comment]: # translation:outdated

[comment]: # ({e02835c7-e02835c7})
# 3 Triggers 

[comment]: # ({/e02835c7-e02835c7})

[comment]: # ({ef1df123-d4a1b8b6})
#### Visão geral

Os gatilhos são expressões lógicas que "avaliam" os dados reunidos por itens
e representam o atual estado do sistema.

Enquanto itens são usados para reunir dados de sistema, é altamente pouco
prático acompanhar estes dados o tempo todo esperando por uma condição
de alarme ou que mereça atenção. O trabalho de "avaliação" dos dados pode
ser delegada às expressões de gatilho.

Expressões de gatilho permitem definir um limite de que estado de dado é
"aceitável". Portanto, caso um dado de entrada ultrapasse o estado aceitável,
um gatilho é "disparado" - ou altera o estado para PROBLEMA.

Um gatilho pode ter os seguintes estados:

|VALOR|DESCRIÇÃO|
|-----|-----------|
|OK|Este é um estado normal do gatilho.|
|PROBLEMA|Normalmente significa que algo aconteceu. Por exemplo, a carga de processador está muito alta.|

Em um gatilho básico nós podemos querer configurar um limite para uma
média de cinco minutos de algum dado, por exemplo, a carga de CPU. 
Isto é realizado pela definição de uma expressão de gatilho onde:

-   nós aplicamos a função 'avg' ao valor recebido na chave do item
-   nós usamos um período de cinco minutos para avaliação
-   nós configuramos um limite de '2'

```{=html}
<!-- -->
```
    avg(host/key,5m)>2

Este gatilho "disparará" (se tornará PROBLEMA) se a média de cinco minutos
estiver acima de 2.

Em um gatilho mais complexo, a expressão pode incluir uma **combinação**
de múltiplas funções e múltiplos limites. Veja também: [Expressão de gatilho](/manual/config/triggers/expression).

A maioria das expressões de gatilho são avaliadas com base nos dados 
[históricos](/manual/config/items/history_and_trends), enquanto algumas
funções de gatilho para análises de longo prazo, p.e. **trendavg()**,
**trendcount()**, etc, usam dados estatísticos.

[comment]: # ({/ef1df123-d4a1b8b6})

[comment]: # ({5c11d08c-7c263ca6})
::: notetip
Após ativar um trigger (alterando seu status de configuração de *Desabilitado* para *Habilitado*), a expressão do trigger é avaliada assim que um item nela recebe um valor ou assim que o momento de lidar com a função time-based chegue. 
:::

[comment]: # ({/5c11d08c-7c263ca6})

[comment]: # ({4d0d2ac7-a45a4e79})
A maioria das funções de trigger são avaliadas com base nos dados de histórico do item
[history](/manual/config/items/history_and_trends) , enquanto algumas funções de trigger para análise de longa prazo, como **trendavg()**,
**trendcount()**, etc, utilizam dados de tendência.

[comment]: # ({/4d0d2ac7-a45a4e79})

[comment]: # ({87596066-6781ee38})
#### Tempo de cálculo

Um trigger é recalculado toda vez que o servidor do Zabbix recebe um valor novo que é parte da expressão. Quando um valor novo é recebido pelo servidor, cada função, que está incluída na expressão, é recalculada (não apenas aquela que recebe um valor novo). 
Além disso, um trigger é recalculado toda vez quando um valor novo é recebido **e** a cada 30 segundos, se as funções time-based são usadas na expressão.
As funções Time-based são **semdado()**, **data()**, **diadomês()**,
**diadasemana()**, **hora()**, **agora()** . Essas funções são recalculadas a cada 30 segundos pelo processo de sincronização de histórico do Zabbix.
Triggers que referenciam funções trend serão avaliados ***apenas*** uma vez no menor período de tempo na expressão. Ver também[trend functions](/manual/appendix/functions/trends).

[comment]: # ({/87596066-6781ee38})

[comment]: # ({326bbd88-1fa7644e})
#### Período de avaliação

Um período de avaliação é usado em funções que referenciam o histórico
de um item. Ele permite especificar o intervalo no qual estamos
interessados. Ele pode ser especificado como um período de tempo
(30s, 10m, 1h) ou como um intervalo de valores (\#5 - para os últimos
cinco valores).

O período de avaliação é medido até "agora" - onde "agora" é o último
tempo de recálculo do gatilho (veja [Cálculo de tempo](#calculation_time) acima);
"agora" não é o horário de "agora" do servidor.

O período de avaliação especifica um de:

-   Considera todos os valores entre "agora-período de tempo" e "agora" (ou, com
    mudança de tempo (time shift), entre "agora-mudança de tempo-período de tempo"
    e "agora-mudança\_tempo")    
-   Considera não mais do que o número de contagem de valores do passado, até
    "agora"
    -   Se houver 0 valores disponíveis para o período de tempo ou o número de
        contagem especificado - então o gatilho ou o item calculado que usa esta
        função se torna não suportado

Note que:

-   Se apenas uma única função (referenciando dado histórico) é usada no gatilho,
    "agora" é sempre o último valor recebido. Por exemplo, se o último valor
    foi recebido há uma hora atrás, o período de avaliação será considerado em
    relação ao último valor uma hora atrás.
-   Um novo gatilho é calculado tão logo o primeiro valor é recebido
    (funções históricas); ele será recalculado dentro de 30 segundos para
    funções baseadas em tempo. Assim, o gatilho será calculado mesmo que
    de repente o período de avaliação configurado (por exemplo, uma hora) ainda
    não tenha passado desde a criação do gatilho. O gatilho também será calculado
    depois do primeiro valor, mesmo que o intervalo de avaliação tenha sido
    configurado, por exemplo, para os dez últimos valores.


[comment]: # ({/326bbd88-1fa7644e})

[comment]: # ({53f36bf7-e5de9dea})
#### Status desconhecido

É possível que um operando desconhecido apareça em uma expressão de trigger se: 

-   um item não suportado for utilizado
-   a avaliação da função para um item suportado resultar em um erro

Nesse caso, um trigger geralmente é avaliado como "desconhecido" (embora haja algumas exceções). Para mais detalhes, consulte [Expressions with unknown operands](/manual/config/triggers/expression#expressions-with-unknown-operands).

É possível receber notificações [get notified](/manual/config/events/sources#internal-events) sobre triggers desconhecidos.

[comment]: # ({/53f36bf7-e5de9dea})

