---
title: "Integracja z Zabbix - alerty infrastruktury"
sidebarTitle: Zabbix
description: Połącz Zabbix z Echobell przez typ mediów webhook i odbieraj powiadomienia push albo połączenia, gdy zadziała wyzwalacz.
---

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

[Zabbix](https://www.zabbix.com/) to otwartoźródłowa platforma monitoringu sieci, serwerów i aplikacji. Typ mediów webhook wysyła jej alerty na kanał Echobell.

<Steps>
<Step>
    ### Utwórz kanał
    Utwórz nowy kanał w Echobell i skopiuj jego **adres webhooka**.
</Step>
<Step>
    ### Utwórz typ mediów webhook
    W Zabbix przejdź do **Alerty** → **Typy mediów** → **Utwórz typ mediów**, ustaw **Typ** na `Webhook` i nazwij go „Echobell". Dodaj te parametry:

    | Name | Value |
    | --- | --- |
    | `url` | `{ALERT.SENDTO}` |
    | `title` | `{ALERT.SUBJECT}` |
    | `body` | `{ALERT.MESSAGE}` |
    | `host` | `{HOST.NAME}` |
    | `severity` | `{EVENT.SEVERITY}` |
    | `status` | `{EVENT.VALUE}` |
</Step>
<Step>
    ### Wklej skrypt
    Wklej to w pole **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>
    ### Przypisz media do użytkownika
    Przejdź do **Użytkownicy** → **Użytkownicy**, otwórz użytkownika, który ma dostawać alerty, i w zakładce **Media** dodaj wpis z **Typem** `Echobell` oraz adresem webhooka kanału w polu **Wyślij do**.
</Step>
<Step>
    ### Utwórz akcję wyzwalacza
    Przejdź do **Alerty** → **Akcje** → **Akcje wyzwalaczy** i dodaj akcję, której operacja wysyła wiadomość do tego użytkownika przez typ mediów `Echobell`.
</Step>
<Step>
    ### Powiadamiaj tylko o problemach
    Zabbix wysyła zarówno zdarzenia problemu, jak i powrotu do normy. `{EVENT.VALUE}` wynosi `1` przy problemie i `0` przy powrocie, więc ustaw kanałowi ten [warunek](/docs/conditions), żeby powroty pozostały ciche:

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

    Użyj drugiego kanału z `status == "0"`, jeśli chcesz powiadomienia o powrocie przy niższej pilności.
</Step>
</Steps>
