11 유지보수

원본 보기

11 유지보수

개요

Zabbix에서 호스트 및 호스트 그룹에 대한 유지보수 기간을 정의할 수 있습니다.

또한 트리거 태그를 지정하여 단일 트리거(또는 트리거 하위 집합)에 대해서만 유지보수를 정의하는 것도 가능합니다. 이 경우 유지보수는 해당 트리거에 대해서만 활성화되며, 호스트 또는 호스트 그룹의 다른 모든 트리거는 유지보수 상태가 되지 않습니다.

유지보수 유형에는 데이터 수집이 있는 유지보수와 데이터 수집이 없는 유지보수 두 가지가 있습니다.

"데이터 수집이 있는" 유지보수 중에는 트리거가 평소와 같이 처리되고 필요할 때 이벤트가 생성됩니다. 그러나 액션 구성에서 억제된 문제에 대한 작업 일시 정지 옵션이 체크되어 있으면, 유지보수 중인 호스트/트리거에 대한 문제 에스컬레이션이 일시 정지됩니다. 이 경우 알림 전송이나 원격 명령을 포함할 수 있는 에스컬레이션 단계가 유지보수 기간이 지속되는 동안 무시됩니다. 유지보수 중에는 문제 복구 및 업데이트 작업은 억제되지 않으며, 에스컬레이션만 억제됩니다.

예를 들어, 에스컬레이션 단계가 문제 시작 후 0, 30, 60분에 예약되어 있고, 실제 문제 발생 후 10분부터 40분까지 30분 동안 지속되는 유지보수가 있다면, 2단계와 3단계는 30분 늦게 실행되어 60분과 90분에 실행됩니다(문제가 여전히 존재하는 경우). 마찬가지로 유지보수 중에 문제가 발생하면 유지보수가 끝난 후 에스컬레이션이 시작됩니다.

유지보수 중에도 정상적으로(지연 없이) 문제 알림을 받으려면, 액션 구성에서 억제된 문제에 대한 작업 일시 정지 옵션을 체크 해제해야 합니다.

트리거 표현식에서 사용되는 호스트 중 적어도 하나가 유지보수 모드에 있지 않다면, Zabbix는 문제 알림을 전송합니다.

Zabbix 서버는 유지보수 중에 실행되고 있어야 합니다. 유지보수는 매분 또는 유지보수 기간에 변경 사항이 있어 구성 캐시가 다시 로드되는 즉시 재계산됩니다.

타이머 프로세스는 매분 0초에 호스트 상태가 유지보수 모드로/에서 변경되어야 하는지 확인합니다. 또한 매초 타이머 프로세스는 구성 업데이트 후 [유지보수 기간]에 변경 사항이 있는지에 따라 시작/중지되어야 하는 유지보수가 있는지 확인합니다. 따라서 유지보수 기간의 시작/중지 속도는 구성 업데이트 간격(기본값 10초)에 따라 달라집니다. 유지보수 기간 변경에는 활성 시작/활성 종료 설정이 포함되지 않습니다. 또한 호스트/호스트 그룹이 기존의 활성 유지보수 기간에 추가되면, 변경 사항은 다음 분의 시작에 타이머 프로세스에 의해서만 활성화됩니다.

호스트가 유지보수에 들어갈 때 Zabbix 서버 타이머 프로세스는 모든 열린 문제를 읽어 억제가 필요한지 확인합니다. 열린 문제가 많은 경우 성능에 영향을 줄 수 있습니다. Zabbix 서버는 시작 시에도 당시 구성된 유지보수가 없더라도 모든 열린 문제를 읽습니다.

Zabbix 서버(또는 프록시)는 유지보수 유형("데이터 없음" 유지보수 포함)에 관계없이 항상 데이터를 수집합니다. '데이터 수집 없음'이 설정된 경우 서버에서 나중에 데이터를 무시합니다.

"데이터 없음" 유지보수가 끝나면, nodata() 함수를 사용하는 트리거는 확인 중인 기간 동안 다음 확인 전에 발생하지 않습니다.

호스트가 유지보수 중일 때 로그 항목이 추가되고 유지보수가 끝나면, 유지보수 종료 이후의 새로운 로그파일 항목만 수집됩니다.

"데이터 없음" 유지보수 유형에 있는 호스트에 대해 타임스탬프가 있는 값이 전송되면(예: Zabbix sender 사용) 이 값은 삭제되지만, 만료된 유지보수 기간에 대해 타임스탬프가 있는 값을 전송하는 것은 가능하며 이는 허용됩니다.

사용자가 유지보수 기간, 호스트, 그룹 또는 태그를 변경하면, 변경 사항은 구성 캐시 동기화 후에만 적용됩니다.

설정

유지보수 기간을 설정하려면:

  1. 이동: Data collection > Maintenance.
  2. Create maintenance period(또는 기존 유지보수 기간의 이름)를 클릭합니다.
  3. 양식에 유지보수 매개변수를 입력합니다.

모든 필수 입력 필드는 빨간색 별표로 표시되어 있습니다.

매개변수 설명
Name 유지보수 기간의 이름입니다.
Maintenance type 두 가지 유형의 유지보수를 설정할 수 있습니다:
With data collection - 유지보수 중에도 서버가 데이터를 수집하고 트리거가 처리됩니다;
No data collection - 유지보수 중에 서버가 데이터를 수집하지 않습니다.
각 유형이 가용성 보고서에 미치는 영향은 유지보수 기간의 영향을 참조하세요.
Active since 유지보수 기간 실행이 활성화되는 날짜와 시간입니다.
참고: 이 시간만 설정하는 것으로는 유지보수 기간이 활성화되지 않습니다. Periods에서 유지보수 기간을 구성해야 합니다(아래 참조).
Active till 유지보수 기간 실행이 비활성화되는 날짜와 시간입니다.
Periods 이 블록을 통해 유지보수가 수행되는 정확한 날짜와 시간을 정의할 수 있습니다. 를 클릭하면 유지보수 일정을 정의할 수 있는 유연한 Maintenance period 양식이 있는 팝업 창이 열립니다. 자세한 설명은 유지보수 기간을 참조하세요.
Host groups 유지보수가 활성화될 호스트 그룹을 선택합니다. 지정된 호스트 그룹의 모든 호스트에 대해 유지보수가 활성화됩니다. 이 필드는 자동완성 기능이 있으므로 입력을 시작하면 사용 가능한 모든 호스트 그룹의 드롭다운이 표시됩니다.
상위 호스트 그룹을 지정하면 모든 중첩된 호스트 그룹이 암시적으로 선택됩니다. 따라서 중첩된 그룹의 호스트에서도 유지보수가 활성화됩니다.
Hosts 유지보수가 활성화될 호스트를 선택합니다. 이 필드는 자동완성 기능이 있으므로 입력을 시작하면 사용 가능한 모든 호스트의 드롭다운이 표시됩니다.
Tags 유지보수 중인 호스트에서 일치하는 태그가 있는 문제를 억제하기 위해 태그를 지정합니다.
여러 조건을 설정할 수 있습니다. 태그 이름 일치는 항상 대소문자를 구분합니다.

각 조건에 사용할 수 있는 두 가지 연산자가 있습니다:
Contains - 태그 값이 입력된 문자열을 포함하는 지정된 태그 이름을 포함합니다(부분 문자열 일치, 대소문자 구분);
Equals - 지정된 태그 이름과 값을 포함합니다(대소문자 구분).

조건에 대한 두 가지 계산 유형이 있습니다:
And/Or - 모든 조건이 충족되어야 하며, 동일한 태그 이름을 가진 조건은 Or 조건으로 그룹화됩니다;
Or - 하나의 조건만 충족되면 충분합니다.

태그는 With data collection 모드가 선택된 경우에만 지정할 수 있습니다.
Description 유지보수 기간에 대한 설명입니다.
유지보수 기간

유지보수 기간 창은 반복적이거나 일회성 유지보수 시간을 예약하는 데 사용됩니다. 이 양식은 선택한 기간 유형에 따라 사용 가능한 필드가 변경되는 동적 양식입니다.

기간 유형 설명
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에 끝나는 2시간 유지보수가 구성되어 있다고 가정해보겠습니다:

  • 유지보수 1시간 후(02:00에) DST 변경이 발생하여 현재 시간이 02:00에서 03:00로 변경되면, 유지보수는 1시간 더 계속됩니다(04:00까지);
  • 유지보수 2시간 후(03:00에) DST 변경이 발생하여 현재 시간이 03:00에서 02:00로 변경되면, 2시간이 경과했기 때문에 유지보수는 중단됩니다;
  • 유지보수 기간이 DST 변경으로 인해 건너뛰는 시간 동안 시작되도록 설정되면, 유지보수는 시작되지 않습니다.

유지보수 기간이 "1일"로 설정되고(실제 유지보수 기간은 24시간입니다. Zabbix는 일을 시간 단위로 계산하므로), 00:00에 시작해서 다음 날 00:00에 끝나는 경우:

  • 현재 시간이 1시간 앞으로 변경되면 유지보수는 다음 날 01:00에 중단됩니다;
  • 현재 시간이 1시간 뒤로 변경되면 유지보수는 그 날 23:00에 중단됩니다.

Display

유지보수 중인 호스트 표시

호스트 이름 옆의 주황색 렌치 아이콘 은 다음 위치에서 해당 호스트가 유지보수 중임을 나타냅니다:

  • 대시보드
  • 모니터링 > 문제
  • 인벤토리 > 호스트 > 호스트 인벤토리 세부정보
  • 데이터 수집 > 호스트 ('상태' 열 참조)

아이콘 위에 마우스 포인터를 올리면 유지보수 세부정보가 표시됩니다.

또한, 유지보수 중인 호스트는 모니터링 > 맵에서 주황색 배경으로 표시됩니다.

억제된 문제 표시

일반적으로 유지보수 중인 호스트의 문제는 억제되어 프론트엔드에 표시되지 않습니다. 그러나 다음 위치에서 억제된 문제 표시 옵션을 선택하여 억제된 문제를 표시하도록 구성할 수도 있습니다:

  • 대시보드 (문제 호스트, 문제, 심각도별 문제, 트리거 개요 위젯 구성에서)
  • 모니터링 > 문제 (필터에서)
  • 모니터링 > (맵 구성에서)
  • 글로벌 알림 (사용자 프로필 구성에서)

억제된 문제가 표시될 때 다음 아이콘이 표시됩니다: . 아이콘 위에 마우스를 올리면 자세한 정보가 표시됩니다.

유지보수 중 대기열 계산

Zabbix 프론트엔드에 표시되는 대기열(관리 > 대기열)은 Zabbix 서버에 의해 계산됩니다. 데이터 수집이 없는 유지보수 중인 아이템은 포함되지 않으며, 이러한 아이템들의 값이 지연되더라도 대기열 길이는 항상 0입니다. 데이터 수집이 있는 유지보수 중 지연된 아이템들은 여전히 대기열에 포함됩니다.

Zabbix 프록시는 Zabbix 서버와 프록시 간에 유지보수 설정의 동기화가 없기 때문에 유지보수 기간을 인지하지 못합니다. Zabbix 프록시에서 계산되는 내부 검사(예: zabbix[queue,,]zabbix[stats,,,queue,,])는 Zabbix 서버의 유지보수 상태와 관계없이 지연된 아이템을 보고합니다.

결과적으로, 데이터 수집이 없는 유지보수 중인 동일한 아이템에 대해 Zabbix 프론트엔드와 Zabbix 프록시의 내부 검사에서 서로 다른 대기열 길이가 보고될 수 있습니다.

다음 단계는?