FROM Metric SELECTfunction(metric_name)WHERE attribute=value FACET attribute TIMESERIES
어떤 메트릭 데이터 유형에 대해 어떤 기능이 지원되는지에 대한 정보는 메트릭 데이터 구조 를 참조하십시오.
SELECT 절에 적절한 값 함수를 사용하여 차트로 만들 측정항목의 이름을 추가합니다. WHERE 및 FACET 절은 속성 값과 함께 사용할 수 있습니다. 데이터를 차트로 표시하려면 키워드 TIMESERIES 을 포함하는 것을 잊지 마십시오.
이 예는 클러스터 foo 에 대한 CPU 사용량을 초 단위로 차트로 표시하는 방법을 보여줍니다. 이 쿼리는 containerName 및 clusterName 속성이 있는 container_cpu_usage_seconds_totalcount 측정항목이 있는 경우 컨테이너별로 CPU 사용량을 분류합니다.
FROM Metric SELECTsum(container_cpu_usage_seconds_total)
WHERE clusterName ='foo'
FACET containerName
TIMESERIES
분당 CPU 사용량(변화율)을 원하면 위의 쿼리에 rate 함수를 추가할 수 있습니다.
FROM Metric SELECT rate(sum(container_cpu_usage_seconds_total),1minute)
WHERE clusterName ='foo'
FACET containerName
TIMESERIES
예시 메트릭 쿼리 보기
이전 예는 메트릭 쿼리의 기본 형식을 보여주지만 NRQL을 사용하여 메트릭 데이터를 차트로 작성, 탐색 및 분석할 수도 있습니다.
SELECT 절에 쉼표로 구분된 측정항목 목록을 제공하여 단일 쿼리를 사용하여 여러 측정항목을 차트로 표시합니다. 예를 들어, 메모리 제한 메트릭과 함께 컨테이너의 메모리 사용량을 차트로 표시하려면 다음 쿼리를 사용하십시오.
SELECT 의 모든 항목에 적용되는 WHERE 절을 사용하는 것 외에도 NRQL은 차트로 만들거나 작업할 특정 시계열을 선택하는 데 사용할 수 있는 filter 라는 또 다른 집계 함수를 제공합니다.
다음 예시는 포드 내에서 두 개의 특정 컨테이너의 메모리 사용량을 더하여 계산된 "Total (k8s)" 이라는 레이블이 지정된 메모리 사용량 측정항목을 차트로 표시합니다.
FROM Metric
SELECT filter(
latest(container_memory_usage_bytes),
WHERE containerName ='discovery')
+ filter(
latest(container_memory_usage_bytes),
WHERE containerName ='my-proxy')
AS'Total (k8s)'
WHERE clusterName ='my-cluster'AND podName LIKE'my-pilot-%'
TIMESERIES
FROM Metric 을 사용하여 측정항목 데이터를 쿼리할 때 New Relic은 쿼리 창의 길이와 TIMESERIES 키워드에 대한 인수로 지정된 버킷 크기에 따라 쿼리에 사용할 특정 집계를 자동으로 선택합니다. 이는 효율적인 쿼리 및 차트 확인을 보장합니다. 원시 메트릭 데이터 포인트를 보거나 작업하기 위해 이 동작을 재정의하려면 쿼리에서 선택적 RAW 키워드를 사용하십시오.
이러한 원시 메트릭 데이터 포인트를 쿼리할 때 48시간의 쿼리 시간 창 제한이 있습니다. 48시간 이상의 원시 메트릭 데이터에 액세스하려는 쿼리는 쿼리 오류가 발생합니다.
이 예에서는 특정 메트릭에 대해 수신된 마지막 20개의 데이터 포인트를 나열하는 방법을 보여줍니다.
FROM Metric SELECT*WHERE metricName ='container_fs_usage_bytes'LIMIT20 RAW
와일드카드를 사용하여 여러 측정항목 쿼리
와일드카드는 NRQL에서 % 문자로 표시됩니다. 표준 명명 규칙을 사용하는 여러 메트릭을 쿼리하려는 경우 각 메트릭 이름을 개별적으로 지정하지 않고도 와일드카드 기능을 사용하여 모든 메트릭에 대한 결과를 반환할 수 있습니다.
와일드카드는 다음과 같은 이점을 제공합니다.
메트릭을 함께 집계하고 결과를 차트로 표시
FACET 차트의 메트릭 이름별 결과
주어진 명명 규칙과 일치하는 모든 측정항목을 찾아 차트로 표시
와일드카드는 나중에 기존 명명 규칙과 일치하는 새 메트릭을 추가하는 경우에 특히 유용합니다. 쿼리에서 각 측정항목 이름을 작성하는 대신 % 을 사용하면 새 측정항목을 추가할 때 쿼리를 다시 작성할 필요가 없습니다.
유사한 작업을 수행하는 여러 알고리즘이 있다고 가정해 보겠습니다. 다양한 알고리즘의 기간을 표시하는 다음 측정항목을 정의할 수 있습니다.
myNeatProcess.algorithm1.duration
myNeatProcess.algorithm2.duration
myNeatProcess.algorithm3.duration
쿼리에 사용되는 경우 myNeatProcess.%.duration 은 위의 세 가지 알고리즘 모두에 대한 결과를 반환합니다. 나중에 algorithm4 , algorithm5 및 algorithm6 이라는 새 알고리즘을 생성하면 동일한 쿼리가 6개 알고리즘 모두에 대한 결과를 반환합니다.
SELECT 절에서 와일드카드( % )를 사용하여 단일 쿼리를 사용하여 여러 측정항목을 차트로 작성할 수 있습니다. 예를 들어, 위의 예에서 모든 알고리즘을 쿼리하고 각 알고리즘의 평균 기간 동안 차트에 선을 그리려면 다음 쿼리를 사용하십시오.
FROM Metric
SELECT average(myNeatProcess.%.duration)
FACET metricName TIMESERIES
와일드카드를 사용하여 여러 메트릭에 대해 수학 연산을 수행하고 새 메트릭을 계산할 수도 있습니다. 위의 예에 나열된 모든 알고리즘의 평균 기간을 계산할 수 있습니다.