유지보수
개요
유지보수는 미리 정의된 시간 동안 문제를 억제하는 데 사용됩니다.
Zabbix에서는 호스트와 호스트 그룹에 대해 유지보수 기간을 정의할 수 있습니다.
또한 트리거 태그를 지정하여 단일 트리거(또는 트리거의 일부)에 대해서만 유지보수를 정의하는 것도 가능합니다. 이 경우 유지보수는 해당 트리거에 대해서만 활성화되며, 해당 호스트나 호스트 그룹의 다른 트리거는 유지보수 상태가 되지 않습니다.
유지보수 유형은 데이터 수집 포함과 데이터 수집 안 함 두 가지가 있습니다.
데이터 수집 포함 유지보수 동안에는 트리거가 평소와 같이 처리되며 필요할 때 이벤트가 생성됩니다. 다만 액션 설정에서 억제된 문제의 작업 일시 중지 옵션이 체크되어 있으면, 유지보수 상태인 호스트/트리거에 대한 문제 에스컬레이션이 일시 중지됩니다. 이 경우 알림 전송이나 원격 명령 등을 포함한 에스컬레이션 단계는 유지보수 기간 동안 무시됩니다. 문제 복구 및 업데이트 작업은 유지보수 중에도 억제되지 않으며, 오직 에스컬레이션만 억제된다는 점에 유의하세요. 문제가 유지보수 중에 시작된 경우 복구 알림은 전송되지 않습니다.
예를 들어, 에스컬레이션 단계가 문제 시작 후 0분, 30분, 60분에 예약되어 있고, 실제 문제가 발생한 후 10분부터 40분까지 30분간의 유지보수가 있다면, 두 번째와 세 번째 단계는 30분 늦게, 즉 60분과 90분에 실행됩니다(문제가 계속 존재하는 경우). 마찬가지로 유지보수 중에 문제가 발생하면 에스컬레이션은 유지보수가 끝난 후에 시작됩니다.
유지보수 중에도 지연 없이 정상적으로 문제 알림을 받으려면, 액션 설정에서 억제된 문제의 작업 일시 중지 옵션의 체크를 해제해야 합니다.
트리거 표현식에 사용된 호스트 중 하나라도 유지보수 모드가 아니면 Zabbix는 문제 알림을 전송합니다.
Zabbix 서버는 유지보수 중에도 실행 중이어야 합니다. 유지보수는 매분마다 재계산되며, 유지보수 기간에 변경 사항이 있으면 설정 캐시가 다시 로드될 때에도 재계산됩니다.
타이머 프로세스는 매분 0초에 호스트 상태를 유지보수로 변경하거나 유지보수에서 해제해야 하는지 확인합니다. 또한 매초마다 타이머 프로세스는 설정 업데이트 후 [유지보수 기간]에 변경 사항이 있는지에 따라 유지보수를 시작하거나 중지해야 하는지 확인합니다. 따라서 유지보수 기간의 시작/중지 속도는 설정 업데이트 간격(기본값 10초)에 따라 달라집니다. 유지보수 기간 변경 사항에는 Active since/Active till 설정이 포함되지 않는다는 점에 유의하세요. 또한 호스트/호스트 그룹이 기존에 활성화된 유지보수 기간에 추가되면, 변경 사항은 다음 분이 시작될 때 타이머 프로세스에 의해서만 적용됩니다.
호스트가 유지보수 상태로 진입하면 Zabbix 서버의 타이머 프로세스가 모든 열린 문제를 읽어 억제가 필요한지 확인한다는 점에 유의하세요. 열린 문제가 많은 경우 이는 성능에 영향을 줄 수 있습니다. Zabbix 서버는 시작 시에도 그 시점에 설정된 유지보수가 없더라도 모든 열린 문제를 읽습니다.
Zabbix 서버(또는 프록시)는 유지보수 유형(데이터 수집 안 함 유지보수 포함)에 관계없이 항상 데이터를 수집한다는 점에 유의하세요. 데이터 수집 안 함이 설정된 경우 데이터는 이후 서버에 의해 무시됩니다.
데이터 수집 안 함 유지보수가 종료되면, nodata() 함수를 사용하는 트리거는 확인 중인 기간 동안 다음 확인 전까지 발생하지 않습니다.
호스트가 유지보수 중일 때 로그 아이템이 추가되고 유지보수가 종료되면, 유지보수 종료 이후의 새 로그 파일 항목만 수집됩니다.
데이터 수집 안 함 유지보수 중인 호스트에 타임스탬프가 있는 값이 전송되면(예: Zabbix sender 사용), 이 값은 삭제됩니다. 그러나 만료된 유지보수 기간에 대해서는 타임스탬프가 있는 값을 전송할 수 있으며, 이는 수락됩니다.
사용자가 유지보수 기간, 호스트, 그룹 또는 태그를 변경하면, 변경 사항은 설정 캐시 동기화 후에만 적용됩니다.
설정
유지보수 기간을 설정하려면:
- 이동: 데이터 수집 > 유지보수.
- 유지보수 기간 생성을 클릭합니다(또는 기존 유지보수 기간의 이름을 클릭).
- 폼에 유지보수 매개변수를 입력합니다.

모든 필수 입력 필드는 빨간색 별표로 표시되어 있습니다.
| 매개변수 | 설명 |
|---|---|
| Name | 유지보수 기간의 이름입니다. |
| Maintenance type | 유지보수는 두 가지 유형으로 설정할 수 있습니다: With data collection - 유지보수 중에도 서버가 데이터를 수집하며 트리거가 처리됩니다; No data collection - 데이터는 계속 수집될 수 있지만 유지보수 중에는 데이터베이스에 저장되지 않으며, 트리거( nodata() 함수 포함)는 발생하지 않습니다.각 유형이 가용성 보고서에 미치는 영향은 유지보수 기간의 영향을 참고하세요. |
| Active since | 실행 중인 유지보수 기간이 활성화되는 날짜와 시간입니다. 참고: 이 시간만 설정한다고 유지보수 기간이 활성화되지는 않습니다. Periods에서 유지보수 기간을 설정해야 합니다(아래 참고). |
| Active till | 실행 중인 유지보수 기간이 더 이상 활성화되지 않는 날짜와 시간입니다. |
| Periods | 이 블록에서는 유지보수가 진행되는 정확한 요일과 시간을 정의할 수 있습니다. 을 클릭하면 유지보수 일정을 정의할 수 있는 유연한 Maintenance period 폼이 팝업 창으로 열립니다. 자세한 설명은 유지보수 기간을 참고하세요. |
| Host groups | 유지보수를 활성화할 호스트 그룹을 선택합니다. 유지보수는 지정된 호스트 그룹에 속한 모든 호스트에 대해 활성화됩니다. 이 필드는 자동완성 기능을 지원하므로 입력을 시작하면 사용 가능한 모든 호스트 그룹의 드롭다운이 표시됩니다. 상위 호스트 그룹을 지정하면 그에 속한 모든 하위 호스트 그룹도 암묵적으로 선택됩니다. 따라서 유지보수는 하위 그룹의 호스트에서도 활성화됩니다. |
| Hosts | 유지보수를 활성화할 호스트를 선택합니다. 이 필드는 자동완성 기능을 지원하므로 입력을 시작하면 사용 가능한 모든 호스트의 드롭다운이 표시됩니다. |
| Tags | 유지보수 중인 호스트에서 일치하는 태그를 가진 문제를 억제하기 위해 태그를 지정합니다. 여러 조건을 설정할 수 있습니다. 태그 이름 일치는 항상 대소문자를 구분합니다. 각 조건에는 두 가지 연산자를 사용할 수 있습니다: Contains - 태그 값에 입력한 문자열이 포함된 지정 태그 이름을 포함합니다(부분 문자열 일치, 대소문자 구분); Equals - 지정된 태그 이름과 값을 포함합니다(대소문자 구분). 조건의 계산 유형은 두 가지입니다: And/Or - 모든 조건이 충족되어야 하며, 태그 이름이 같은 조건은 Or 조건으로 그룹화됩니다; Or - 조건 중 하나만 충족되면 됩니다. 태그는 With data collection 유지보수 유형이 선택된 경우에만 지정할 수 있습니다. |
| Description | 유지보수 기간에 대한 설명입니다. |
유지보수 기간
유지보수 기간 창은 반복 또는 일회성 유지보수의 시간을 예약하기 위한 것입니다. 폼은 선택한 Period type에 따라 사용 가능한 필드가 바뀌는 동적 형태입니다.

| Period type | 설명 |
|---|---|
| One time only | 일회성 유지보수 기간을 설정합니다: Date - 유지보수 기간의 날짜와 시간; Maintenance period length - 유지보수가 활성화될 기간. |
| Daily | 매일 반복되는 유지보수 기간을 설정합니다: Every day(s) - 유지보수 빈도(1 - (기본값) 매일, 2 - 2일마다 등); At (hour:minute) - 유지보수가 시작되는 하루 중 시각; Maintenance period length - 유지보수가 활성화될 기간. Every day(s) 매개변수가 "1"보다 클 경우, 시작일은 Active since 시간이 속한 날짜입니다. 예시: - Active since가 "2021-01-01 12:00"으로 설정되고, Every day(s)가 "2"로 설정되고, At (hour:minute)가 "23:00"으로 설정된 경우, 첫 번째 유지보수 기간은 1월 1일 23:00에 시작되고, 두 번째 유지보수 기간은 1월 3일 23:00에 시작됩니다; - Active since가 "2021-01-01 12:00"으로 설정되고, Every day(s)가 "2"로 설정되고, At (hour:minute)가 "01:00"으로 설정된 경우, 첫 번째 유지보수 기간은 1월 3일 01:00에 시작되고, 두 번째 유지보수 기간은 1월 5일 01:00에 시작됩니다. |
| Weekly | 매주 반복되는 유지보수 기간을 설정합니다: Every week(s) - 유지보수 빈도(1 - (기본값) 매주, 2 - 2주마다 등); Day of week - 유지보수가 진행될 요일; At (hour:minute) - 유지보수가 시작되는 하루 중 시각; Maintenance period length - 유지보수가 활성화될 기간. Every week(s) 매개변수가 "1"보다 클 경우, 시작 주는 Active since 시간이 속한 주입니다. 예시는 위의 Daily 설명을 참고하세요. |
| Monthly | 매월 반복되는 유지보수 기간을 설정합니다: Month - 정기 유지보수가 수행될 모든 월을 선택합니다; Date: Day of month - 매월 같은 날짜(예: 매월 1일)에 유지보수를 진행하려면 이 옵션을 선택한 다음, 나타나는 Day of month 필드에서 원하는 날짜를 선택합니다; Date: Day of week - 특정 요일에만 유지보수를 진행하려면(예: 매월 첫째 주 월요일) 이 옵션을 선택한 다음, 드롭다운에서 원하는 월의 주차(첫째, 둘째, 셋째, 넷째, 또는 마지막)를 선택하고, 유지보수 요일에 대한 체크박스를 표시합니다; At (hour:minute) - 유지보수가 시작되는 하루 중 시각; Maintenance period length - 유지보수가 활성화될 기간. |
유지보수 기간을 생성할 때는 생성하는 사용자의 시간대가 사용됩니다. 그러나 반복 유지보수 기간(Daily, Weekly, Monthly)이 예약될 때는 Zabbix 서버의 시간대가 사용됩니다. 반복 유지보수 기간의 동작을 예측 가능하게 하려면 Zabbix의 모든 부분에서 공통 시간대를 사용해야 합니다.
완료되면 Add를 클릭하여 유지보수 기간을 Periods 블록에 추가합니다.
일광 절약 시간제(DST) 변경은 유지보수 지속 시간에 영향을 주지 않는다는 점에 유의하세요. 예를 들어, 보통 01:00에 시작하여 03:00에 끝나는 두 시간짜리 유지보수가 설정되어 있다고 가정해 봅시다:
- 유지보수 시작 한 시간 후(02:00)에 DST 변경이 발생하여 현재 시간이 02:00에서 03:00으로 바뀌면, 유지보수는 한 시간 더(04:00까지) 계속됩니다;
- 유지보수 시작 두 시간 후(03:00)에 DST 변경이 발생하여 현재 시간이 03:00에서 02:00으로 바뀌면, 두 시간이 지났으므로 유지보수는 중지됩니다;
- DST 변경으로 건너뛰는 시간대에 유지보수 기간이 시작되도록 설정된 경우, 해당 유지보수는 시작되지 않습니다.
유지보수 기간이 "1일"로 설정되고(Zabbix는 일을 시간 단위로 계산하므로 실제 유지보수 기간은 24시간입니다), 00:00에 시작하여 다음 날 00:00에 끝나는 경우:
- 현재 시간이 한 시간 앞당겨지면 유지보수는 다음 날 01:00에 중지됩니다;
- 현재 시간이 한 시간 늦춰지면 유지보수는 그날 23:00에 중지됩니다.
표시
유지보수 중인 호스트 표시
호스트 이름 옆의 주황색 렌치 아이콘
은 다음 위치에서 해당 호스트가 유지보수 중임을 나타냅니다:
- Dashboards
- Monitoring > Problems
- Inventory > Hosts > Host inventory details
- Data collection > Hosts ('Status' 열 참고)
![]()
마우스 포인터를 아이콘 위에 올려놓으면 유지보수 세부 정보가 표시됩니다.
또한 유지보수 중인 호스트는 Monitoring > Maps에서 주황색 배경으로 표시됩니다.
억제된 문제 표시
일반적으로 유지보수 중인 호스트의 문제는 억제되어 프론트엔드에 표시되지 않습니다. 그러나 다음 위치에서 Show suppressed problems 옵션을 선택하여 억제된 문제가 표시되도록 설정할 수도 있습니다:
- Dashboards (Problem hosts, Problems, Problems by severity, Trigger overview 위젯 설정에서)
- Monitoring > Problems (필터에서)
- Monitoring > Maps (맵 설정에서)
- 전역 알림 (사용자 프로필 설정에서)
억제된 문제가 표시될 때는 다음 아이콘이 표시됩니다:
.
아이콘 위로 마우스를 올리면 더 자세한 정보가 표시됩니다.

유지보수 중 큐 계산
Zabbix 프론트엔드(Administration > Queue)에 표시되는 큐는 Zabbix 서버에 의해 계산됩니다. 여기에는 데이터 수집 안 함 유지보수 중인 아이템이 포함되지 않으며, 이러한 아이템은 값이 지연되더라도 큐 길이가 항상 0입니다. 데이터 수집 포함 유지보수 중 지연된 아이템은 여전히 큐에 포함되어 계산됩니다.
Zabbix 프록시는 Zabbix 서버와 프록시 간에 유지보수 설정 동기화가 없기 때문에 유지보수 기간을 인식하지 못합니다.
Zabbix 프록시에서 계산되는 내부 확인(예: zabbix[queue,,] 및 zabbix[stats,,,queue,,])은 Zabbix 서버의 유지보수 상태와 관계없이 지연된 아이템을 보고합니다.
그 결과, 데이터 수집 안 함 유지보수 중인 동일한 아이템에 대해 Zabbix 프론트엔드와 Zabbix 프록시의 내부 확인이 서로 다른 큐 길이를 보고할 수 있습니다.
을 클릭하면 유지보수 일정을 정의할 수 있는 유연한 Maintenance period 폼이 팝업 창으로 열립니다. 자세한 설명은