Zabbix를 Freshservice 경고 관리와 통합하기

이 통합에 대하여:

Zabbix를 Freshservice와 통합하여 네트워크, 서버, 가상 머신 및 클라우드 서비스 등 다양한 IT 구성 요소에서 보낸 경고를 분류하고 적시에 조치를 취하여 중단을 방지할 수 있습니다.


Freshservice에서의 구성:


1단계:

관리자 패널로 이동하여 IT 운영 관리로 스크롤한 후 모니터링 도구를 선택합니다. 

계정에 여러 작업 공간이 있는 경우 관리자 > {작업 공간 이름} > IT 운영 관리> 모니터링 도구로 이동합니다.



2단계:

현재 모니터링 도구 목록 페이지에 있습니다. 새 통합을 추가하려면 모니터링 도구 추가를 선택합니다.




3단계

사전 구성된 통합 목록, 웹훅을 사용한 사용자 정의 통합 게이트웨이 및 경고를 위한 이메일 채널 사용 옵션이 표시됩니다. Zabbix를 선택합니다.


4단계

Zabbix용 Endpoint URL 및 인증 키를 얻으려면  통합 설정를 따르세요.



Zabbix에서의 구성:


1단계: Zabbix에서 미디어 유형 생성


중요한 이벤트에 대한 경고 메커니즘을 설정하려면 Zabbix에서 미디어 유형을 생성합니다.


미디어 유형:

미디어는 Zabbix에서 알림 및 경고를 보내는 데 사용되는 전송 채널입니다. Zabbix가 Freshservice AMS와 통합되려면 웹훅 통합 미디어 유형을 생성해야 합니다. 

웹훅을 미디어 유형으로 구성하려면

  • 관리 → 미디어 유형으로 이동합니다

  •  미디어 유형 생성을 클릭합니다. 미디어 유형 탭에는 이 미디어 유형에 특정한 다양한 속성이 포함되어 있습니다:

  • 미디어 유형의 이름을 입력합니다.

  • 미디어 유형으로 웹훅을 선택합니다.

  • 다음 매개변수를 추가하고 Freshservice에서 복사한 값으로 url 및 auth_key 매개변수 값을 대체합니다 

    • event_name  - {EVENT.NAME}

    • event_opdata -  {EVENT.OPDATA}

    • event_status - {EVENT.STATUS}

    • hostname - {HOST.NAME}

    • host_ip - {HOST.IP}

    • item_key - {ITEM.KEY}

    • item_name - {ITEM.NAME}

    • message - {ALERT.MESSAGE}

    • severity - {EVENT.SEVERITY}

    • subject - {ALERT.SUBJECT}

    • action_id - {ACTION.ID}

    • action_name - {ACTION.NAME}

    • event_date - {EVENT.DATE}

    • event_time - {EVENT.TIME}

    • tags - {EVENT.TAGS}

    • url - <Freshservice 통합 페이지에서 URL 복사>

    • auth_key - <Freshservice 통합 페이지에서 auth_key 복사>


  • Zabbix 버전 4.4 및 5.4를 사용하는 경우 다음 스크립트를 복사하여 스크립트 필드에 붙여넣습니다

try {

    Zabbix.Log(4, 'webhook script value=' + value);

    var result = {

        'tags': {

            'endpoint': 'FS_AMS'

        }

    };



    params = JSON.parse(value);

    var tags_array = [];

    if (params.tags != "" && params.tags != "{EVENT.TAGS}") {

       tags = params.tags.split(",");

       for(i = 0; i < tags.length; i++) {

         tags_array.push(tags[i].trim());

       }

    }

    req = new CurlHttpRequest();

    fields = {

        "message": params.message,

        "subject": params.subject,

        "item_key": params.item_key,

        "host_ip": params.host_ip,

        "event_name": params.event_name,

        "hostname": params.hostname,

        "event_opdata": params.event_opdata,

        "severity": params.severity,

        "item_name": params.item_name,

        "event_status": params.event_status,

        "action_id": params.action_id,

        "action_name": params.action_name,

        "event_date": params.event_date,

        "event_time": params.event_time,

        "event_age": params.event_age,

        "tags": tags_array

    };

    if(params.event_status == "RESOLVED") {

        fields.severity = "ok";

    }

        

    resp = '';



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

    req.AddHeader('Authorization: ' + params.auth_key);





    resp = req.Post(params.url, JSON.stringify(fields));



    if (req.Status() != 202) {

        throw 'Response code: ' + req.Status();

    }

    else {

        results = JSON.stringify({"response_body": resp });

        Zabbix.Log(4, results);

    }

    return results;

}

catch(error) {

    Zabbix.Log(4, 'FS AMS Notification failed: ' + JSON.stringify({ "fields": fields }));

    Zabbix.Log(4, 'FS AMS alert creation failed : ' + error);

    results = JSON.stringify({"error": error});

    return results;

}


  • Zabbix 버전 6.4 이상을 사용하는 경우 다음 스크립트를 복사하여 스크립트 필드에 붙여넣습니다
try {
   Zabbix.Log(4, 'webhook script value=' + value);
   var result = {
       'tags': {
           'endpoint': 'FS_AMS'
       }
   };
   params = JSON.parse(value);
   var tags_array = [];
   if (params.tags != "" && params.tags != "{EVENT.TAGS}") {
       tags = params.tags.split(",");
       for (i = 0; i < tags.length; i++) {
           tags_array.push(tags[i].trim());
       }
   }
   req = new HttpRequest();
   fields = {
       "message": params.message,
       "subject": params.subject,
       "item_key": params.item_key,
       "host_ip": params.host_ip,
       "event_name": params.event_name,
       "hostname": params.hostname,
       "event_opdata": params.event_opdata,
       "severity": params.severity,
       "item_name": params.item_name,
       "event_status": params.event_status,
       "action_id": params.action_id,
       "action_name": params.action_name,
       "event_date": params.event_date,
       "event_time": params.event_time,
       "event_age": params.event_age,
       "tags": tags_array
   };
   if (params.event_status == "RESOLVED") {
       fields.severity = "ok";
   }
   resp = '';
   req.addHeader('Content-Type: application/json');
   req.addHeader('Authorization: ' + params.auth_key);
   resp = req.post(params.url, JSON.stringify(fields));
   if (req.getStatus() != 202) {
       throw 'Response code: ' + req.Status();
   } else {
       results = JSON.stringify({
           "response_body": resp
       });
       Zabbix.Log(4, results);
   }
   return results;
} catch (error) {
   Zabbix.Log(4, 'FS AMS Notification failed: ' + JSON.stringify({
       "fields": fields
   }));
   Zabbix.Log(4, 'FS AMS alert creation failed : ' + error);
   results = JSON.stringify({
       "error": error
   });
   return results;
}
  • 이벤트 메뉴 항목 포함” 옵션을 선택할 필요가 없습니다
  • 활성화 필드를 확인하고 설정을 저장합니다.

  • 미디어 유형 목록에서 Freshservice에 대해 생성한 미디어 유형에 대해 "테스트"를 클릭합니다. 모든 것이 올바르게 구성된 경우 Freshservice에 테스트 경고가 전송되며 이를 경고 목록 페이지에서 확인할 수 있습니다.



미디어 유형은 특정 전송 주소를 정의하여 사용자에게 연결되어야 합니다. 이를 위해, 

  • 관리 → 사용자로 이동합니다

  • 미디어 유형을 연결할 사용자를 클릭합니다

  • 미디어 탭으로 이동하여 유형 드롭다운 목록에서 새로 생성된 미디어 유형을 선택합니다

  • ‘보낼 대상’ 옵션을 설정합니다

  • ‘활성화 시’ 옵션을 설정합니다. 예: 24/7 알림을 받으려면 값을 1-7,00:00-24:00으로 설정합니다

  • ‘심각도 사용’ 옵션을 설정합니다

  • 활성화를 확인합니다.

추가를 클릭하고 사용자 미디어 정보를 업데이트합니다.



2단계: 액션 생성

  1. Zabbix 홈페이지에서 구성 -> 액션 -> 액션 생성을 탐색합니다.
  2. 액션 아래에서 이름과 액션을 트리거할 조건을 추가하는 등의 속성을 입력합니다.
  3.  작업 탭을 클릭하고 수행할 작업을 선택합니다.
  4. 사용자에게 보내기에서 추가를 클릭하고 관리자와 게스트를 선택한 후 추가를 클릭합니다.
  5. 복구 작업 및 업데이트 작업에서 기본 제목과 메시지를 확인하고 추가를 클릭하여 액션을 추가합니다.
  6. 이렇게 하면 구성된 트리거에서 Freshservice로 경고가 전송됩니다 











이 문서가 도움이 되었나요?

Freshservice AI 도우미

Zabbix를 Freshservice 경고 관리와 통합하기

AI 어시스턴트 초기화 중...