---
title: "Zabbix 연동 - 인프라 알림"
sidebarTitle: Zabbix
description: 웹훅 미디어 타입으로 Zabbix를 Echobell에 연결하고, 트리거가 발동할 때 푸시 알림이나 전화를 받으세요.
---

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

[Zabbix](https://www.zabbix.com/)는 네트워크, 서버, 애플리케이션을 위한 오픈소스 모니터링 플랫폼입니다. 웹훅 미디어 타입으로 그 알림을 Echobell 채널에 보낼 수 있습니다.

<Steps>
<Step>
    ### 채널 만들기
    Echobell에서 새 채널을 만들고 **Webhook URL**을 복사하세요.
</Step>
<Step>
    ### 웹훅 미디어 타입 만들기
    Zabbix에서 **알림** → **미디어 타입** → **미디어 타입 만들기**로 가서 **타입**을 `Webhook`으로 두고 이름을 "Echobell"로 지정하세요. 다음 파라미터를 추가합니다.

    | Name | Value |
    | --- | --- |
    | `url` | `{ALERT.SENDTO}` |
    | `title` | `{ALERT.SUBJECT}` |
    | `body` | `{ALERT.MESSAGE}` |
    | `host` | `{HOST.NAME}` |
    | `severity` | `{EVENT.SEVERITY}` |
    | `status` | `{EVENT.VALUE}` |
</Step>
<Step>
    ### 스크립트 붙여넣기
    **스크립트** 필드에 다음을 붙여넣으세요.

    ```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>
    ### 사용자에게 미디어 배정하기
    **사용자** → **사용자**로 가서 알림을 받을 사용자를 열고, **미디어** 탭에서 **타입**이 `Echobell`이고 **받는 곳**이 채널 webhook URL인 항목을 추가하세요.
</Step>
<Step>
    ### 트리거 액션 만들기
    **알림** → **액션** → **트리거 액션**으로 가서, `Echobell` 미디어 타입을 통해 그 사용자에게 메시지를 보내는 작업을 가진 액션을 추가하세요.
</Step>
<Step>
    ### 장애일 때만 알리기
    Zabbix는 장애 이벤트와 복구 이벤트를 모두 보냅니다. `{EVENT.VALUE}`는 장애일 때 `1`, 복구일 때 `0`이므로, 채널에 다음 [조건](/docs/conditions)을 걸어 복구는 조용히 두세요.

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

    복구 알림도 원한다면 `status == "0"` 조건을 건 두 번째 채널을 더 낮은 긴급도로 쓰세요.
</Step>
</Steps>
