아이템 값 전처리
개요
전처리를 사용하면 수신한 아이템 값을 데이터베이스에 저장하기 전에 변환을 적용할 수 있습니다. 이러한 변환/전처리 단계는 Zabbix server 또는 proxy(아이템이 proxy로 모니터링되는 경우)에 의해 수행됩니다.
이 기능은 다음과 같은 다양한 사용 사례를 지원합니다:
- 바이트를 비트로 변환(예: 네트워크 트래픽 값에 "8"을 곱함);
- 점진적으로 증가하는 값의 초당 통계 계산;
- 정규 표현식을 적용하여 값 추출 또는 수정;
- 값에 대해 사용자 지정 스크립트 실행;
- 데이터베이스 저장 공간을 최적화하기 위해 변경되지 않은 값 폐기.
아이템에 대해 하나 이상의 전처리 단계를 구성할 수 있습니다. 이러한 단계는 구성된 순서대로 실행됩니다.
전처리 단계가 실패하면 아이템은 지원되지 않음 상태가 됩니다.
이는 Custom on fail 오류 처리(대부분의 변환에서 사용 가능)로 방지할 수 있으며, 이를 통해 값을 폐기하거나 사용자 지정 값을 설정할 수 있습니다.
로그 아이템의 경우, 로그 메타데이터(값 없이)는 항상 아이템의 지원되지 않음 상태를 재설정하여 다시 지원되는 상태로 만듭니다.
이는 agent로부터 로그 값을 수신한 이후에 초기 오류가 발생한 경우에도 마찬가지입니다.
전처리에 전달되는 모든 값은 처음에는 문자열로 처리됩니다. 원하는 값 유형(아이템 구성에서 정의된 대로)으로의 변환은 전처리 파이프라인의 마지막에 수행됩니다. 하지만 필요한 경우 특정 전처리 단계에서 더 일찍 변환이 트리거될 수 있습니다. 자세한 기술 정보는 전처리 세부 정보를 참조하세요.
전처리 구성이 예상대로 작동하는지 확인하려면 테스트할 수 있습니다.
참고: 전처리 예제
구성
전처리 단계는 아이템 구성 폼의 Preprocessing 탭에서 정의합니다.

Add를 클릭하여 지원되는 변환을 선택하세요.
Type of information 필드는 하나 이상의 전처리 단계가 정의된 경우 탭 하단에 표시됩니다. 필요한 경우 Preprocessing 탭을 벗어나지 않고도 정보 유형을 변경할 수 있습니다. 자세한 매개변수 설명은 아이템 생성을 참조하세요.
지원되는 변환
지원되는 모든 변환은 아래에 나열되어 있습니다. 변환에 대한 자세한 내용을 보려면 변환 이름을 클릭하세요.
| 이름 | 설명 | 유형 |
|---|---|---|
| 정규 표현식 | 값을 정규 표현식과 일치시키고 필요한 출력으로 대체합니다. | 텍스트 |
| 대체 | 검색 문자열을 찾아 다른 문자열(또는 빈 문자열)로 대체합니다. | ^ |
| Trim | 값의 시작과 끝에서 지정된 문자를 제거합니다. | ^ |
| Right trim | 값의 끝에서 지정된 문자를 제거합니다. | ^ |
| Left trim | 값의 시작에서 지정된 문자를 제거합니다. | ^ |
| XML XPath | XPath 기능을 사용하여 XML 데이터에서 값 또는 조각을 추출합니다. | 구조화된 데이터 |
| JSON Path | JSONPath 기능을 사용하여 JSON 데이터에서 값 또는 조각을 추출합니다. | ^ |
| CSV to JSON | CSV 파일 데이터를 JSON 형식으로 변환합니다. | ^ |
| XML to JSON | XML 형식의 데이터를 JSON으로 변환합니다. | ^ |
| SNMP walk value | 지정된 OID/MIB 이름으로 값을 추출하고 형식 지정 옵션을 적용합니다. | SNMP |
| SNMP walk to JSON | SNMP 값을 JSON으로 변환합니다. | ^ |
| SNMP get value | SNMP get 값에 형식 지정 옵션을 적용합니다. | ^ |
| Custom multiplier | 값에 지정된 정수 또는 부동 소수점 값을 곱합니다. | 산술 연산 |
| Simple change | 현재 값과 이전 값의 차이를 계산합니다. | 변경 |
| Change per second | 값 변화(현재 값과 이전 값의 차이)의 초당 속도를 계산합니다. | ^ |
| Boolean to decimal | 값을 boolean 형식에서 십진수로 변환합니다. | 진법 |
| Octal to decimal | 값을 8진수 형식에서 십진수로 변환합니다. | ^ |
| Hexadecimal to decimal | 값을 16진수 형식에서 십진수로 변환합니다. | ^ |
| JavaScript | JavaScript 코드를 입력합니다. | 사용자 지정 스크립트 |
| In range | 값이 있어야 하는 범위를 정의합니다. | 유효성 검사 |
| Matches regular expression | 값이 일치해야 하는 정규 표현식을 지정합니다. | ^ |
| Does not match regular expression | 값이 일치하지 않아야 하는 정규 표현식을 지정합니다. | ^ |
| Check for error in JSON | JSONPath에 위치한 애플리케이션 수준 오류 메시지를 확인합니다. | ^ |
| Check for error in XML | XPath에 위치한 애플리케이션 수준 오류 메시지를 확인합니다. | ^ |
| Check for error using a regular expression | 정규 표현식을 사용하여 애플리케이션 수준 오류 메시지를 확인합니다. | ^ |
| Check for not supported value | 아이템 값을 가져올 수 없었는지 확인합니다. | ^ |
| Discard unchanged | 값이 변경되지 않은 경우 폐기합니다. | 스로틀링 |
| Discard unchanged with heartbeat | 값이 정의된 기간 내에 변경되지 않은 경우 폐기합니다. | ^ |
| Prometheus pattern | 다음 쿼리를 사용하여 Prometheus 메트릭에서 필요한 데이터를 추출합니다. | Prometheus |
| Prometheus to JSON | 필요한 Prometheus 메트릭을 JSON으로 변환합니다. | ^ |
Change 및 Throttling 전처리 단계의 경우, Zabbix는 필요에 따라 새 값을 계산/비교하기 위해 마지막 값을 기억해야 합니다. 이러한 이전 값은 전처리 관리자가 처리합니다. Zabbix server 또는 proxy가 재시작되거나 전처리 단계에 변경 사항이 있는 경우, 해당 아이템의 마지막 값이 재설정되어 다음과 같은 결과가 발생합니다:
- Simple change, Change per second 단계의 경우 - 변경을 계산할 이전 값이 없기 때문에 다음 값은 무시됩니다;
- Discard unchanged, Discard unchanged with heartbeat 단계의 경우 - 폐기 규칙에 따라 폐기되어야 했더라도 다음 값은 절대 폐기되지 않습니다.
정규 표현식
값을 정규 표현식과 일치시키고 필요한 출력으로 대체합니다.
매개변수:
- pattern - 정규 표현식;
- output - 출력 형식 템플릿. \N(N=1…9) 이스케이프 시퀀스는 N번째로 일치한 그룹으로 대체됩니다. \0 이스케이프 시퀀스는 일치한 텍스트로 대체됩니다.
참고:
- 입력 값과 일치하지 않으면 아이템이 지원되지 않음 상태가 됩니다;
- 정규 표현식은 \N 시퀀스로 최대 10개의 캡처 그룹 추출을 지원합니다;
- Custom on fail 체크박스를 표시하면 사용자 지정 오류 처리 옵션을 지정할 수 있습니다: 값을 폐기하거나, 지정된 값을 설정하거나, 지정된 오류 메시지를 설정합니다.
전처리 단계가 실패한 경우, 값을 폐기하거나 지정된 값을 설정하는 옵션이 선택되면 아이템은 지원되지 않음 상태가 되지 않습니다.
- 기존 예제는 정규 표현식 섹션을 참조하세요.
대체
검색 문자열을 찾아 다른 문자열(또는 빈 문자열)로 대체합니다.
매개변수:
- search string - 찾아서 대체할 문자열, 대소문자 구분(필수);
- replacement - 검색 문자열을 대체할 문자열. 대체 문자열은 비워둘 수도 있으며, 이 경우 검색 문자열을 찾으면 효과적으로 삭제할 수 있습니다.
참고:
- 검색 문자열의 모든 항목이 대체됩니다;
- 줄 바꿈, 캐리지 리턴, 탭, 공백("\n \r \t \s")을 검색하거나 대체하기 위해 이스케이프 시퀀스를 사용할 수 있습니다; 백슬래시는 "\\"로 이스케이프할 수 있고 이스케이프 시퀀스는 "\\n"로 이스케이프할 수 있습니다;
- 줄 바꿈, 캐리지 리턴, 탭의 이스케이프는 low-level discovery 중에 자동으로 수행됩니다.
Trim
값의 시작과 끝에서 지정된 문자를 제거합니다.
Right trim
값의 끝에서 지정된 문자를 제거합니다.
Left trim
값의 시작에서 지정된 문자를 제거합니다.
XML XPath
XPath 기능을 사용하여 XML 데이터에서 값 또는 조각을 추출합니다.
참고:
- 이 옵션이 작동하려면 Zabbix server(또는 Zabbix proxy)가 libxml 지원과 함께 컴파일되어야 합니다;
- 네임스페이스는 지원되지 않습니다;
- Custom on fail 체크박스를 표시하면 사용자 지정 오류 처리 옵션을 지정할 수 있습니다: 값을 폐기하거나, 지정된 값을 설정하거나, 지정된 오류 메시지를 설정합니다. 전처리 단계가 실패한 경우, 값을 폐기하거나 지정된 값을 설정하는 옵션이 선택되면 아이템은 지원되지 않음 상태가 되지 않습니다.
예제:
number(/document/item/value) #will extract '10' from <document><item><value>10</value></item></document>
number(/document/item/@attribute) #will extract '10' from <document><item attribute="10"></item></document>
/document/item #will extract '<item><value>10</value></item>' from <document><item><value>10</value></item></document>
JSON Path
JSONPath 기능을 사용하여 JSON 데이터에서 값 또는 조각을 추출합니다.
Custom on fail 체크박스를 표시하면 사용자 지정 오류 처리 옵션을 지정할 수 있습니다: 값을 폐기하거나, 지정된 값을 설정하거나, 지정된 오류 메시지를 설정합니다. 전처리 단계가 실패한 경우, 값을 폐기하거나 지정된 값을 설정하는 옵션이 선택되면 아이템은 지원되지 않음 상태가 되지 않습니다.
CSV to JSON
CSV 파일 데이터를 JSON 형식으로 변환합니다.
자세한 정보는 다음을 참조하세요: CSV to JSON preprocessing.
XML to JSON
XML 형식의 데이터를 JSON으로 변환합니다.
자세한 정보는 다음을 참조하세요: Serialization rules.
Custom on fail 체크박스를 표시하면 사용자 지정 오류 처리 옵션을 지정할 수 있습니다: 값을 폐기하거나, 지정된 값을 설정하거나, 지정된 오류 메시지를 설정합니다. 전처리 단계가 실패한 경우, 값을 폐기하거나 지정된 값을 설정하는 옵션이 선택되면 아이템은 지원되지 않음 상태가 되지 않습니다.
SNMP walk value
지정된 OID/MIB 이름으로 값을 추출하고 형식 지정 옵션을 적용합니다:
- Unchanged - hex-string을 이스케이프되지 않은 hex string으로 반환(참고: 표시 힌트는 여전히 적용됨);
- UTF-8 from hex-STRING - hex-string을 UTF-8 문자열로 변환;
- MAC from hex-STRING - hex-string을 MAC 주소로 검증하고 올바른 MAC 주소 문자열을 반환(
' '는':'로 대체됨); - Integer from BITS - 16진수 문자 시퀀스로 표현된 비트 문자열(예: "1A 2B 3C 4D")의 처음 8바이트를 64비트 부호 없는 정수로 변환합니다. 8바이트보다 긴 비트 문자열의 경우 이후의 바이트는 무시됩니다.
Custom on fail 체크박스를 표시하면 사용자 지정 오류 처리 옵션을 지정할 수 있습니다: 값을 폐기하거나, 지정된 값을 설정하거나, 지정된 오류 메시지를 설정합니다. 전처리 단계가 실패한 경우, 값을 폐기하거나 지정된 값을 설정하는 옵션이 선택되면 아이템은 지원되지 않음 상태가 되지 않습니다.
SNMP walk to JSON
SNMP 값을 JSON으로 변환합니다.
JSON의 필드 이름과 해당하는 SNMP OID 경로를 지정하세요. 필드 값은 지정된 SNMP OID 경로의 값으로 채워집니다.
참고:
- SNMP walk value 단계와 유사한 값 형식 지정 옵션을 사용할 수 있습니다;
- 이 전처리 단계는 SNMP OID discovery에 사용할 수 있습니다;
- Custom on fail 체크박스를 표시하면 사용자 지정 오류 처리 옵션을 지정할 수 있습니다: 값을 폐기하거나, 지정된 값을 설정하거나, 지정된 오류 메시지를 설정합니다. 전처리 단계가 실패한 경우, 값을 폐기하거나 지정된 값을 설정하는 옵션이 선택되면 아이템은 지원되지 않음 상태가 되지 않습니다.
SNMP get value
SNMP get 값에 형식 지정 옵션을 적용합니다:
- UTF-8 from Hex-STRING - hex-string을 UTF-8 문자열로 변환;
- MAC from Hex-STRING - hex-string을 MAC 주소로 검증하고 올바른 MAC 주소 문자열을 반환(
' '는':'로 대체됨); - Integer from BITS - 16진수 문자 시퀀스로 표현된 비트 문자열(예: "1A 2B 3C 4D")의 처음 8바이트를 64비트 부호 없는 정수로 변환합니다. 8바이트보다 긴 비트 문자열의 경우 이후의 바이트는 무시됩니다.
Custom on fail 체크박스를 표시하면 사용자 지정 오류 처리 옵션을 지정할 수 있습니다: 값을 폐기하거나, 지정된 값을 설정하거나, 지정된 오류 메시지를 설정합니다. 전처리 단계가 실패한 경우, 값을 폐기하거나 지정된 값을 설정하는 옵션이 선택되면 아이템은 지원되지 않음 상태가 되지 않습니다.
Custom multiplier
값에 지정된 정수 또는 부동 소수점 값을 곱합니다.
참고:
- KB, MBps 등으로 수신된 값을 B, Bps로 변환하는 데 이 옵션을 사용하세요.
그렇지 않으면 Zabbix가 접두사(K, M, G 등)를 올바르게 설정할 수 없습니다.
- 아이템의 정보 유형이 Numeric (unsigned)인 경우, 사용자 지정 승수가 적용되기 전에 소수 부분이 있는 수신 값은 잘립니다(즉, '0.9'는 '0'이 됩니다);
- 정보 유형이 Numeric (unsigned)로 설정된 아이템에 사용자 지정 승수를 사용하거나 Change per second로 값을 저장하고, 계산된 값이 실제로 부동 소수점 숫자인 경우, 계산된 값은 소수 부분을 잘라내고 정수로 저장하여 여전히 올바른 값으로 받아들여집니다;
- 지원되는 것: 과학적 표기법(예:
1e+70); 사용자 매크로 및 LLD 매크로; 매크로를 포함한 문자열(예:{#MACRO}e+10,{$MACRO1}e+{$MACRO2}). 매크로는 정수 또는 부동 소수점 숫자로 확인되어야 합니다. - Custom on fail 체크박스를 표시하면 사용자 지정 오류 처리 옵션을 지정할 수 있습니다: 값을 폐기하거나, 지정된 값을 설정하거나, 지정된 오류 메시지를 설정합니다. 전처리 단계가 실패한 경우, 값을 폐기하거나 지정된 값을 설정하는 옵션이 선택되면 아이템은 지원되지 않음 상태가 되지 않습니다.
Simple change
현재 값과 이전 값의 차이를 계산합니다.
참고:
- 이 단계는 지속적으로 증가하는 값을 측정하는 데 유용할 수 있습니다;
- value-prev_value로 평가됩니다. 여기서 value는 현재 값이고, prev_value는 이전에 수신한 값입니다;
- 아이템당 하나의 변경 연산("Simple change" 또는 "Change per second")만 허용됩니다;
- 현재 값이 이전 값보다 작으면 Zabbix는 그 차이를 폐기하고(아무것도 저장하지 않음) 다른 값을 기다립니다;
- Custom on fail 체크박스를 표시하면 사용자 지정 오류 처리 옵션을 지정할 수 있습니다: 값을 폐기하거나, 지정된 값을 설정하거나, 지정된 오류 메시지를 설정합니다. 전처리 단계가 실패한 경우, 값을 폐기하거나 지정된 값을 설정하는 옵션이 선택되면 아이템은 지원되지 않음 상태가 되지 않습니다.
Change per second
값 변화(현재 값과 이전 값의 차이)의 초당 속도를 계산합니다.
참고:
- 이 단계는 지속적으로 증가하는 값의 초당 속도를 계산하는 데 유용합니다;
- 이 계산은 부동 소수점 숫자를 생성할 수 있으므로, 수신되는 원시 값이 정수라 하더라도 'Type of information'을 Numeric (float)로 설정하는 것이 좋습니다.
이는 소수 부분이 중요한 작은 숫자의 경우 특히 중요합니다.
부동 소수점 값이 크고 'float' 필드 길이를 초과하여 전체 값이 손실될 수 있는 경우에는, Numeric (unsigned)를 사용하여 소수 부분만 잘라내는 것이 실제로 권장됩니다.
- (value-prev_value)/(time-prev_time)로 평가됩니다. 여기서 value는 현재 값, prev_value는 이전에 수신한 값, time은 현재 타임스탬프, prev_time은 이전 값의 타임스탬프입니다;
- 아이템당 하나의 변경 연산("Simple change" 또는 "Change per second")만 허용됩니다;
- 현재 값이 이전 값보다 작으면 Zabbix는 그 차이를 폐기하고(아무것도 저장하지 않음) 다른 값을 기다립니다.
이는 예를 들어 32비트 SNMP 카운터의 랩핑(오버플로우)을 올바르게 처리하는 데 도움이 됩니다.
- Custom on fail 체크박스를 표시하면 사용자 지정 오류 처리 옵션을 지정할 수 있습니다: 값을 폐기하거나, 지정된 값을 설정하거나, 지정된 오류 메시지를 설정합니다. 전처리 단계가 실패한 경우, 값을 폐기하거나 지정된 값을 설정하는 옵션이 선택되면 아이템은 지원되지 않음 상태가 되지 않습니다.
Boolean to decimal
값을 boolean 형식에서 십진수로 변환합니다.
참고:
- 텍스트 표현은 0 또는 1로 변환됩니다.
따라서 'TRUE'는 1로 저장되고 'FALSE'는 0으로 저장됩니다.
모든 값은 대소문자를 구분하지 않고 일치합니다.
현재 인식되는 값은 TRUE의 경우 - true, t, yes, y, on, up, running, enabled, available, ok, master이고, FALSE의 경우 - false, f, no, n, off, down, unused, disabled, unavailable, err, slave입니다.
또한 0이 아닌 모든 숫자 값은 TRUE로 간주되고 0은 FALSE로 간주됩니다.
- Custom on fail 체크박스를 표시하면 사용자 지정 오류 처리 옵션을 지정할 수 있습니다: 값을 폐기하거나, 지정된 값을 설정하거나, 지정된 오류 메시지를 설정합니다. 전처리 단계가 실패한 경우, 값을 폐기하거나 지정된 값을 설정하는 옵션이 선택되면 아이템은 지원되지 않음 상태가 되지 않습니다.
Octal to decimal
값을 8진수 형식에서 십진수로 변환합니다.
Custom on fail 체크박스를 표시하면 사용자 지정 오류 처리 옵션을 지정할 수 있습니다: 값을 폐기하거나, 지정된 값을 설정하거나, 지정된 오류 메시지를 설정합니다. 전처리 단계가 실패한 경우, 값을 폐기하거나 지정된 값을 설정하는 옵션이 선택되면 아이템은 지원되지 않음 상태가 되지 않습니다.
Hexadecimal to decimal
값을 16진수 형식에서 십진수로 변환합니다.
Custom on fail 체크박스를 표시하면 사용자 지정 오류 처리 옵션을 지정할 수 있습니다: 값을 폐기하거나, 지정된 값을 설정하거나, 지정된 오류 메시지를 설정합니다. 전처리 단계가 실패한 경우, 값을 폐기하거나 지정된 값을 설정하는 옵션이 선택되면 아이템은 지원되지 않음 상태가 되지 않습니다.
JavaScript
매개변수 필드를 클릭하거나 그 옆의 연필 아이콘을 클릭하면 열리는 모달 편집기에 JavaScript 코드를 입력합니다.
전처리 JavaScript에서 선언되지 않은 할당을 사용하지 마세요.
로컬 변수를 선언하려면 var를 사용하세요.
참고:
- 사용 가능한 JavaScript 길이는 사용 중인 데이터베이스에 따라 다릅니다;
- 자세한 정보는 다음을 참조하세요: Javascript preprocessing.
In range
최소/최대 값(포함)을 지정하여 값이 있어야 하는 범위를 정의합니다.
참고:
- 숫자 값이 허용됩니다(임의 자릿수, 선택적 소수 부분, 선택적 지수 부분, 음수 값 포함);
- 최소값은 최대값보다 작아야 합니다;
- 최소 하나의 값은 존재해야 합니다;
- 사용자 매크로 및 low-level discovery 매크로를 사용할 수 있습니다;
- Custom on fail 체크박스를 표시하면 사용자 지정 오류 처리 옵션을 지정할 수 있습니다: 값을 폐기하거나, 지정된 값을 설정하거나, 지정된 오류 메시지를 설정합니다. 전처리 단계가 실패한 경우, 값을 폐기하거나 지정된 값을 설정하는 옵션이 선택되면 아이템은 지원되지 않음 상태가 되지 않습니다.
Matches regular expression
값이 일치해야 하는 정규 표현식을 지정합니다.
Custom on fail 체크박스를 표시하면 사용자 지정 오류 처리 옵션을 지정할 수 있습니다: 값을 폐기하거나, 지정된 값을 설정하거나, 지정된 오류 메시지를 설정합니다. 전처리 단계가 실패한 경우, 값을 폐기하거나 지정된 값을 설정하는 옵션이 선택되면 아이템은 지원되지 않음 상태가 되지 않습니다.
Does not match regular expression
값이 일치하지 않아야 하는 정규 표현식을 지정합니다.
Custom on fail 체크박스를 표시하면 사용자 지정 오류 처리 옵션을 지정할 수 있습니다: 값을 폐기하거나, 지정된 값을 설정하거나, 지정된 오류 메시지를 설정합니다. 전처리 단계가 실패한 경우, 값을 폐기하거나 지정된 값을 설정하는 옵션이 선택되면 아이템은 지원되지 않음 상태가 되지 않습니다.
Check for error in JSON
JSONPath에 위치한 애플리케이션 수준 오류 메시지를 확인합니다. 성공하고 메시지가 비어 있지 않으면 처리를 중지하고, 그렇지 않으면 이 전처리 단계 이전의 값으로 처리를 계속합니다.
참고:
- 이러한 외부 서비스 오류는 전처리 단계 정보를 추가하지 않고 사용자에게 있는 그대로 보고됩니다;
- 유효하지 않은 JSON을 구문 분석하지 못한 경우에는 오류가 보고되지 않습니다;
- Custom on fail 체크박스를 표시하면 사용자 지정 오류 처리 옵션을 지정할 수 있습니다: 값을 폐기하거나, 지정된 값을 설정하거나, 지정된 오류 메시지를 설정합니다. 전처리 단계가 실패한 경우, 값을 폐기하거나 지정된 값을 설정하는 옵션이 선택되면 아이템은 지원되지 않음 상태가 되지 않습니다.
Check for error in XML
XPath에 위치한 애플리케이션 수준 오류 메시지를 확인합니다. 성공하고 메시지가 비어 있지 않으면 처리를 중지하고, 그렇지 않으면 이 전처리 단계 이전의 값으로 처리를 계속합니다.
참고:
- 이러한 외부 서비스 오류는 전처리 단계 정보를 추가하지 않고 사용자에게 있는 그대로 보고됩니다;
- 유효하지 않은 XML을 구문 분석하지 못한 경우에는 오류가 보고되지 않습니다;
- Custom on fail 체크박스를 표시하면 사용자 지정 오류 처리 옵션을 지정할 수 있습니다: 값을 폐기하거나, 지정된 값을 설정하거나, 지정된 오류 메시지를 설정합니다. 전처리 단계가 실패한 경우, 값을 폐기하거나 지정된 값을 설정하는 옵션이 선택되면 아이템은 지원되지 않음 상태가 되지 않습니다.
Check for error using a regular expression
정규 표현식을 사용하여 애플리케이션 수준 오류 메시지를 확인합니다. 성공하고 메시지가 비어 있지 않으면 처리를 중지하고, 그렇지 않으면 이 전처리 단계 이전의 값으로 처리를 계속합니다.
매개변수:
- pattern - 정규 표현식;
- output - 출력 형식 템플릿. \N(N=1…9) 이스케이프 시퀀스는 N번째로 일치한 그룹으로 대체됩니다. \0 이스케이프 시퀀스는 일치한 텍스트로 대체됩니다.
참고:
- 이러한 외부 서비스 오류는 전처리 단계 정보를 추가하지 않고 사용자에게 있는 그대로 보고됩니다;
- Custom on fail 체크박스를 표시하면 사용자 지정 오류 처리 옵션을 지정할 수 있습니다: 값을 폐기하거나, 지정된 값을 설정하거나, 지정된 오류 메시지를 설정합니다. 전처리 단계가 실패한 경우, 값을 폐기하거나 지정된 값을 설정하는 옵션이 선택되면 아이템은 지원되지 않음 상태가 되지 않습니다.
Check for not supported value
아이템 값을 가져올 수 없었는지 확인합니다. 반환된 오류 메시지를 검사하여 실패를 어떻게 처리할지 지정합니다.
매개변수:
- scope - 오류 처리 범위 선택:
any error - 모든 오류;
error matches - pattern에 지정된 정규 표현식과 일치하는 오류만;
error does not match - pattern에 지정된 정규 표현식과 일치하지 않는 오류만 - pattern - 오류를 일치시킬 정규 표현식.
scope 매개변수에서 any error가 선택된 경우, 이 필드는 표시되지 않습니다.
표시되는 경우, 이 필드는 필수입니다.
참고:
- 일반적으로 값을 가져오지 못하거나 값이 없으면 아이템이 지원되지 않음 상태가 됩니다. 이 전처리 단계를 사용하면 이 동작을 수정할 수 있습니다. Custom on fail 체크박스를 표시하면(이 전처리 단계에서는 항상 표시되고 회색으로 비활성화됨) 사용자 지정 오류 처리 옵션을 지정할 수 있습니다: 값을 폐기하거나, 지정된 값을 설정하거나, 지정된 오류 메시지를 설정합니다. 전처리 단계가 실패한 경우, 값을 폐기하거나 지정된 값을 설정하는 옵션이 선택되면 아이템은 지원되지 않음 상태가 되지 않습니다.
- 이 전처리 단계는 아이템 값을 가져올 수 없었는지만 확인합니다. 예를 들어 검색된 값의 유형(예: 문자열)이 아이템의 정보 유형(예: 숫자)과 일치하는지는 확인하지 않습니다. 자세한 내용은 전처리 예제를 참조하세요. 유형이 일치하지 않는 경우, 모든 전처리 단계가 실행된 후에도 아이템이 지원되지 않음 상태가 될 수 있습니다. 유형 불일치를 확인하려면, 예를 들어 Custom multiplier 전처리 단계를 사용할 수 있습니다. 전처리 예제를 참조하세요.
- Set value to 또는 Set error to 필드에서 정규 표현식 그룹 캡처가 지원됩니다. N번째로 일치한 그룹을 가져오려면 \N(N=1…9)을 사용하고, 일치한 텍스트를 가져오려면 \0을 사용하세요;
- 이러한 단계는 항상 첫 번째 전처리 단계로 실행되며, 아이템에 대한 변경 사항을 저장한 후 다른 모든 단계 위에 배치됩니다;
- 지정된 순서로 여러 개의 Check for not supported value 단계가 지원됩니다. any error에 대한 단계는 이 그룹의 마지막 단계로 자동 배치됩니다.
Discard unchanged
값이 변경되지 않은 경우 폐기합니다.
참고:
- 값이 폐기되면 데이터베이스에 저장되지 않으며 Zabbix server는 이 값이 수신되었다는 사실을 알지 못합니다.
트리거 표현식은 평가되지 않으며, 그 결과 관련 트리거에 대한 문제가 생성/해결되지 않습니다.
함수는 실제로 데이터베이스에 저장된 데이터만을 기반으로 작동합니다.
트렌드는 데이터베이스의 데이터를 기반으로 구축되므로, 한 시간 동안 저장된 값이 없으면 해당 시간에 대한 트렌드 데이터도 없습니다.
- 아이템당 하나의 스로틀링 옵션만 지정할 수 있습니다.
Discard unchanged with heartbeat
값이 정의된 기간(초 단위) 내에 변경되지 않은 경우 폐기합니다.
참고:
- 초를 지정하기 위해 양의 정수 값이 지원됩니다(최소 - 1초);
- 시간 접미사를 사용할 수 있습니다(예:
30s,1m,2h,1d); - 사용자 매크로 및 low-level discovery 매크로를 사용할 수 있습니다;
- 값이 폐기되면 데이터베이스에 저장되지 않으며 Zabbix server는 이 값이 수신되었다는 사실을 알지 못합니다.
트리거 표현식은 평가되지 않으며, 그 결과 관련 트리거에 대한 문제가 생성/해결되지 않습니다.
함수는 실제로 데이터베이스에 저장된 데이터만을 기반으로 작동합니다.
트렌드는 데이터베이스의 데이터를 기반으로 구축되므로, 한 시간 동안 저장된 값이 없으면 해당 시간에 대한 트렌드 데이터도 없습니다.
- 아이템당 하나의 스로틀링 옵션만 지정할 수 있습니다.
Prometheus pattern
다음 쿼리를 사용하여 Prometheus 메트릭에서 필요한 데이터를 추출합니다.
자세한 내용은 Prometheus checks를 참조하세요.
Prometheus to JSON
필요한 Prometheus 메트릭을 JSON으로 변환합니다.
자세한 내용은 Prometheus checks를 참조하세요.
매크로 지원
사용자 매크로 및 컨텍스트가 있는 사용자 매크로는 다음에서 지원됩니다:
- JavaScript 코드를 포함한 전처리 단계 매개변수;
- 사용자 지정 오류 처리 매개변수(Set value to 및 Set error to 필드).
매크로가 값으로 대체될 때 매크로 컨텍스트는 무시됩니다. 매크로 값은 있는 그대로 코드에 삽입되며, JavaScript 코드에 값을 넣기 전에 추가 이스케이프를 적용할 수 없습니다. 이로 인해 경우에 따라 JavaScript 오류가 발생할 수 있으니 유의하세요.