---
title: "Integração com Zabbix - Alertas de infraestrutura"
sidebarTitle: Zabbix
description: Conecte o Zabbix ao Echobell com um tipo de mídia webhook e receba notificações push ou ligações quando um trigger disparar.
---

import { Step, Steps } from "fumadocs-ui/components/steps";

O [Zabbix](https://www.zabbix.com/) é uma plataforma de monitoramento de código aberto para redes, servidores e aplicações. Um tipo de mídia webhook envia os alertas dele para um canal do Echobell.

<Steps>
<Step>
    ### Crie o canal
    Crie um canal novo no Echobell e copie a **URL de webhook** dele.
</Step>
<Step>
    ### Crie um tipo de mídia webhook
    No Zabbix, vá em **Alertas** → **Tipos de mídia** → **Criar tipo de mídia**, ponha **Tipo** como `Webhook` e chame de "Echobell". Adicione estes parâmetros:

    | Name | Value |
    | --- | --- |
    | `url` | `{ALERT.SENDTO}` |
    | `title` | `{ALERT.SUBJECT}` |
    | `body` | `{ALERT.MESSAGE}` |
    | `host` | `{HOST.NAME}` |
    | `severity` | `{EVENT.SEVERITY}` |
    | `status` | `{EVENT.VALUE}` |
</Step>
<Step>
    ### Cole o script
    Cole isto no campo **Script**:

    ```js
    var params = JSON.parse(value),
      req = new HttpRequest();

    req.addHeader('Content-Type: application/json');

    var response = req.post(params.url, JSON.stringify({
      title: params.title,
      body: params.body,
      host: params.host,
      severity: params.severity,
      status: params.status
    }));

    if (req.getStatus() !== 200) {
      throw 'Echobell returned HTTP ' + req.getStatus() + ': ' + response;
    }

    return 'OK';
    ```
</Step>
<Step>
    ### Atribua a mídia a um usuário
    Vá em **Usuários** → **Usuários**, abra o usuário que deve ser alertado e, na aba **Mídia**, adicione uma entrada com **Tipo** `Echobell` e **Enviar para** com a URL de webhook do seu canal.
</Step>
<Step>
    ### Crie uma ação de trigger
    Vá em **Alertas** → **Ações** → **Ações de trigger** e adicione uma ação cuja operação envie mensagem para esse usuário pelo tipo de mídia `Echobell`.
</Step>
<Step>
    ### Notificar só os problemas
    O Zabbix envia tanto eventos de problema quanto de recuperação. `{EVENT.VALUE}` é `1` para problema e `0` para recuperação, então coloque esta [condição](/docs/conditions) no canal para deixar as recuperações quietas:

    ```
    status == "1"
    ```

    Use um segundo canal com `status == "0"` se quiser notificações de recuperação com urgência menor.
</Step>
</Steps>
