3가지 사용자 정의 알림 스크립트
원본 보기3 사용자 정의 알림 스크립트
개요
알림 전송을 위한 기존 미디어 유형이 만족스럽지 않다면 대안적인 방법이 있습니다. 원하는 방식으로 알림을 처리하는 스크립트를 생성할 수 있습니다.
사용자 정의 알림 스크립트는 Zabbix 서버에서 실행됩니다. 이러한 스크립트는 서버 구성 파일의 AlertScriptsPath 매개변수에 지정된 디렉터리에 위치해야 합니다.
다음은 사용자 정의 알림 스크립트의 예시입니다:
#!/bin/bash
to=$1
subject=$2
body=$3
host=$4
value=$5
cat <<EOF | mail -s "$subject" "$to"
$body
Host: $host
Value: $value
EOF
Zabbix는 실행된 명령어와 스크립트의 종료 코드를 확인합니다. 0과 다른 모든 종료 코드는 명령 실행 오류로 간주됩니다. 이러한 경우 Zabbix는 실패한 실행을 다시 시도합니다.
환경 변수는 스크립트에 대해 보존되거나 생성되지 않으므로 명시적으로 처리해야 합니다.
구성
사용자 정의 알림 스크립트를 미디어 유형으로 구성하려면:
- 알림 → 미디어 유형으로 이동합니다.
- 미디어 유형 생성을 클릭합니다.
미디어 유형 탭에는 일반적인 미디어 유형 속성이 포함되어 있습니다:

모든 필수 입력 필드는 빨간색 별표로 표시됩니다.
다음 매개변수는 스크립트 미디어 유형에 특정됩니다:
| 매개변수 | 설명 |
|---|---|
| 스크립트 이름 | AlertScriptsPath 서버 구성 매개변수에 지정된 디렉터리에 위치한 스크립트 파일의 이름을 입력합니다(예: notification.sh). |
| 스크립트 매개변수 | 정의된 순서대로 명령줄 인수로 스크립트에 전달될 선택적 스크립트 매개변수를 추가합니다. 스크립트 매개변수는 {ALERT.SENDTO}, {ALERT.SUBJECT}, {ALERT.MESSAGE} 매크로와 알림에서 지원되는 모든 매크로, 그리고 사용자 매크로를 지원합니다. |
기본 메시지 및 알림 처리 옵션 구성 방법에 대한 자세한 내용은 공통 미디어 유형 매개변수를 참조하세요.
알림 스크립트가 기본 메시지를 사용하지 않더라도 이 미디어 유형에서 사용하는 작업 유형에 대한 메시지 템플릿은 여전히 정의되어야 합니다. 그렇지 않으면 알림이 전송되지 않습니다.
둘 이상의 스크립트 미디어 유형이 구성되어 있으면 이러한 스크립트들은 알림 프로세스에 의해 병렬로 처리될 수 있습니다.
전체 알림 프로세스 수는 서버 구성 파일의 StartAlerters 매개변수에 의해 제한됩니다.
테스트
구성된 스크립트 미디어 유형을 테스트하려면:
-
미디어 유형 목록에서 해당 스크립트를 찾습니다.
-
목록의 마지막 열에서 테스트를 클릭하면 팝업 창에서 테스트 폼이 열립니다. 테스트 폼에는 스크립트 미디어 유형에 구성된 것과 동일한 수의 매개변수가 포함됩니다.
-
필요한 경우 스크립트 매개변수 값을 편집합니다. 편집은 테스트 절차에만 영향을 미치며 실제 값은 변경되지 않습니다.
-
테스트를 클릭합니다.

구성된 스크립트 미디어 유형을 테스트할 때 {ALERT.SENDTO}, {ALERT.SUBJECT}, {ALERT.MESSAGE} 및 사용자 매크로는 해당 값으로 해석되지만, 이벤트와 관련된 매크로(예: {HOST.HOST}, {ITEM.LASTVALUE} 등)는 테스트 중에 세부 정보를 가져올 관련 이벤트가 없으므로 해석되지 않습니다. {ALERT.SUBJECT} 및 {ALERT.MESSAGE} 매크로 내의 매크로도 해석되지 않음을 참고하세요. 예를 들어, {ALERT.SUBJECT}의 값이 "Problem: {EVENT.NAME}"으로 구성되어 있다면 {EVENT.NAME} 매크로는 해석되지 않습니다.
사용자 미디어
미디어 유형이 구성되면 사용자 → 사용자 섹션으로 이동하여 사용자에게 이 미디어 유형을 할당함으로써 사용자 프로필을 편집합니다. 모든 미디어 유형에 공통적인 사용자 미디어 설정 단계는 미디어 유형 페이지에 설명되어 있습니다.
사용자 미디어를 정의할 때 받는 사람 필드는 비워둘 수 없습니다. 이 필드가 알림 스크립트에서 사용되지 않는다면 유효성 검사 요구사항을 우회하기 위해 지원되는 문자의 조합을 입력하세요.