이 문서에서는 파이프라인 취소 게이트웨이 규칙에서 지원되는 NRQL 기능을 간략하게 설명합니다. 이러한 기능을 사용하면 데이터를 필터링하고 관리하기 위한 더욱 강력하고 정확한 규칙을 만들 수 있습니다.
함수 | 설명 | NRQL 쿼리 예 |
---|---|---|
지정된 패턴에 따라 문자열에서 값을 추출합니다. |
| |
메트릭/이벤트와 관련된 측면이나 차원을 기준으로 데이터를 필터링합니다. |
| |
지정된 숫자 이하의 가장 큰 정수를 반환합니다. |
| |
복잡한 데이터 구조(예: JSON 객체)에서 특정 필드를 추출합니다. |
| |
타임스탬프에서 시간 구성 요소를 추출합니다. |
| |
나누기 연산의 나머지를 반환합니다. |
| |
문자열 값을 숫자형으로 변환합니다. |
| |
숫자를 가장 가까운 정수 또는 지정된 소수 자릿수로 반올림합니다. |
| |
숫자형이나 다른 값을 문자열 유형으로 변환합니다. |
| |
문자열의 지정된 부분을 추출합니다. |
| |
| 타임스탬프에서 요일을 추출합니다(예: '월요일', '일요일'). |
|
게이트웨이 규칙의 여러 NRQL 함수 예
이러한 예제는 여러 기능을 결합하고 이를 보다 복잡한 시나리오에서 사용하여 정확한 데이터 필터링 및 삭제를 달성하는 방법을 보여줍니다.
- 이 규칙은 종료된 컨테이너의 데이터를 삭제하지만, 지난 10분 이내에 종료된 컨테이너의 레코드는 보존합니다.
DELETE FROM ContainerSample WHERE state = 'exited' AND status LIKE '%Exited%' AND NOT (status LIKE '%second%' AND numeric(aparse(status,'%Exited (%) * seconds ago%')) < 10) AND NOT (status LIKE '%About a minute ago%' OR status LIKE '%minute%' AND numeric(aparse(status,'%Exited (%) * minutes ago%')) < 10)
- 이 규칙은 특정 로그인 패턴(
collectd
)과 연결되어 있고 사용자 정의 대시보드 유형이 아닌 로그인을 삭제합니다.
DELETE FROM Log, LogExtendedRecord WHERE dimensions() LIKE '%collectd%' AND newrelic.logs.customEventType IS NULL
- 이 규칙은 특정 유형의 오류 로그를 삭제하지만 타임스탬프가 101의 배수인 레코드만 유지하여 샘플링합니다.
DELETE FROM Log WHERE message LIKE '%lib/ladon/middleware/caching.rb:49 run> terminated with exception%' AND floor(timestamp/101) = (timestamp/101) AND newrelic.logs.customEventType IS NULL
이러한 새로운 기능은 분산 컨덕턴스 게이트웨이를 사용할 때 NRQL 쿼리의 기능을 크게 확장하여 보다 정확한 데이터 분석 및 관리가 가능합니다.