Prometheus OpenMetrics 또는 뉴렐릭과의 원격 쓰기 통합을 위해 수집된 메트릭을 쿼리하고 시각화하려면 NRQL 을 사용할 수 있습니다. Grafana 또는 Query Builder 를 사용하여 PromQL 스타일 쿼리를 NRQL로 변환 할 수도 있습니다.
Docker 및 쿠버네티스의 모든 메트릭은 Metric
유형으로 저장됩니다.
OpenMetrics 통합의 기본 속성 기본적으로 다음 속성은 Docker 및 쿠버네티스 통합에 대한 모든 메트릭에 추가됩니다.
기본 속성
(모든 통합)
설명
clusterName
스크레이퍼 구성에 제공된 클러스터의 이름
integrationName
이 통합의 이름(nri-prometheus
)
integrationVersion
통합 버전 (예: 0.2.0
)
metricName
메트릭 자체의 이름
nrMetricType
뉴렐릭 Metric
유형의 유형(예: Gauges
)
promMetricType
Prometheus 메트릭의 메트릭 유형
scrapedEndpoint
엔드포인트의 URL이 스크래핑되고 있습니다.
Kubernetes:
스크레이퍼가 쿠버네티스에서 실행 중인 경우 뉴렐릭은 모든 메트릭에 다음 속성을 함께 추가합니다.
추가적인 쿠버네티스 속성
설명
deploymentName
파드를 스크래핑하는 경우 배포의 이름입니다.
label
"label"
접두사가 붙은 스크레이핑되는 객체의 쿠버네티스 레이블입니다.
namespaceName
네임스페이스의 이름
nodeName
해당되는 경우 스크래핑 중인 파드가 실행 중인 노드의 이름입니다.
podName
해당되는 경우 스크레이핑되는 파드의 이름입니다.
serviceName
해당되는 경우 스크래핑 중인 서비스의 이름입니다.
원격 쓰기 통합의 기본 속성 기본적으로 다음 속성이 Prometheus 원격 쓰기 메트릭에 추가됩니다.
기본 속성
(모든 통합)
설명
prometheus_server
Prometheus 원격 쓰기 URL 파라미터로 지정된 사용자 제공 레이블. 제공된 값은 쿼리 시 원본 Prometheus 서버를 구별하기 위한 것이므로 고유해야 합니다. 기본적으로 지정되지 않습니다.
newrelic.source
뉴렐릭 인제스트 포인트(prometheusAPI
)의 이름입니다.
instrumentation.provider
prometheus
instrumentation.name
remote-write
instrumentation.source
prometheus_server
값과 일치하는 Prometheus 데이터 소스에 대한 사용자 제공 식별자.
instrumentation.version
원격 쓰기 API의 버전을 식별하는 데 사용됩니다. 예를 들어, 0.0.1.
NRQL 쿼리 예 쿼리를 작성할 때 메트릭, 엔터티 및 속성 간에 연동이 되지 않다는 점에 유의하십시오. 다음 NRQL 쿼리를 사용하여 사용 가능한 메트릭과 이러한 메트릭에 있는 속성을 확인합니다.
메트릭 이름 가져오기 OpenMetrics의 모든 메트릭 이름을 가져오려면:
FROM Metric SELECT uniques ( metricName )
원격 쓰기 통합의 메트릭 이름을 가져오려면:
FROM Metric SELECT uniques ( metricName ) WHERE instrumentation . provider = 'prometheus'
AND instrumentation . name = 'remote-write'
단일 Prometheus 소스에서 원격 쓰기 통합의 메트릭 이름을 가져오려면:
FROM Metric SELECT uniques ( metricName ) WHERE instrumentation . provider = 'prometheus'
AND instrumentation . name = 'remote-write' AND instrumentation . source = '<ds>'
특정 OpenMetrics 엔드포인트의 메트릭 이름을 가져오려면:
FROM Metric SELECT uniques ( metricName ) WHERE scrapedEndpoint = '<ep>'
특정 OpenMetrics 클러스터, 네임스페이스 또는 파드의 메트릭 이름을 가져오려면:
FROM Metric SELECT uniques ( metricName ) WHERE clusterName = '<cn>'
FROM Metric SELECT uniques ( metricName ) WHERE namespaceName = '<ns>'
FROM Metric SELECT uniques ( metricName ) WHERE podName = '<pod>'
메트릭의 속성 가져오기 선택한 메트릭의 모든 속성을 가져오려면:
FROM Metric SELECT keyset ( ) WHERE metricName = '<mn>'
OpenMetrics의 속성 값 가져오기 자동 완성은 파드에 관계없이 속성의 모든 값을 표시합니다. 특정 파드의 속성 값을 결정하려면:
FROM Metric SELECT uniques ( < attribute > ) WHERE metricName = '<mn>' AND podName = '<pod>'
쿼리 작성 메트릭 이름과 속성 을 사용하여 데이터를 쿼리할 수 있습니다. 패싯, 시계열 및 시간 선택에 대한 보다 자세한 내용은 NRQL 문서 를 참조하십시오.
PromQL 스타일 쿼리를 작성하려면 지원되는 PromQL 기능 에 대한 문서를 참조하십시오.
메트릭 값 가져오기 원시 메트릭 값을 가져오려면 다음을 수행합니다.
FROM Metric SELECT < metricName > WHERE < attribute >= '<value>'
메트릭 차트 가져오기 average
, min
, max
또는 sum
애그리게이터가 있는 메트릭 차트를 가져오려면 다음을 수행합니다.
FROM Metric SELECT < aggregator > ( < metricname > ) WHERE < attribute >= '<value>' TIMESERIES
쿼리 카운터 메트릭(델타) 현재 통합은 카운터 메트릭에 대한 델타를 계산합니다. 이것이 카운터 메트릭에 대한 쿼리가 카운터의 절대값 대신 카운터의 델타를 표시하는 이유입니다.
OpenMetrics를 사용하여 파드당 연결된 Redis 클라이언트 보기 Docker:
이 예시에서는 Redis 내보내기 도구를 스크래핑한다고 가정합니다. 클러스터에서 엔드포인트당 연결된 Redis 클라이언트 수를 보려면 다음을 수행합니다.
FROM Metric SELECT latest ( redis_connected_clients ) WHERE clusterName = 'my-cluster'
FACET scrapedEndpoint TIMESERIES
Kubernetes:
이 예시에서는 Redis 내보내기 도구가 설치된 Redis 파드가 있다고 가정합니다. 기본 네임스페이스에서 파드당 연결된 Redis 클라이언트 수를 보려면 다음을 수행합니다.
FROM Metric SELECT latest ( redis_connected_clients ) WHERE namespaceName = 'default' FACET podName TIMESERIES
Docker: 스크래핑된 엔드포인트에 대한 평균 여유 메모리 보기이 예에서는 Docker용 노드 내보내기를 스크래핑하고 OpenMetrics를 사용하려고 한다고 가정합니다. 클러스터에서 스크래핑된 모든 엔드포인트의 평균 여유 메모리를 보려면 다음을 수행합니다.
FROM Metric SELECT average ( node_memory_MemFree_bytes ) WHERE clusterName = 'my-cluster'
쿠버네티스: 배포에서 파드의 평균 메모리 사용량 보기OpenMetrics를 사용하여 쿠버네티스 배포의 모든 파드에 대한 평균 메모리 사용량을 보려면 다음을 수행합니다.
FROM Metric SELECT average ( container_memory_usage_bytes )
WHERE deploymentName = 'my-app-deployment' AND namespaceName = 'default'
뉴렐릭에서 데이터 보기 데이터를 쿼리하면 뉴렐릭 UI에서 결과를 볼 수 있습니다. 데이터를 차트, 히스토그램 등으로 시각화할 수도 있습니다.
Prometheus 통합 데이터에 대한 NRQL 쿼리 결과를 보려면, one.newrelic.com > All capabilities > Query your data 로 이동합니다. 자세한 내용은 쿼리 빌더 문서 를 참조하십시오.
히스토그램 생성 및 백분위수 계산 Prometheus 원격 쓰기 또는 POMI(Prometheus OpenMetrics Integration) 버전 2.0.0 이상을 사용하여 히스토그램을 생성하고 데이터에서 백분위수를 계산할 수 있습니다. Prometheus 히스토그램의 경우 버킷 <basename>_bucket{le="42"}
이 메트릭 <basename>_bucket
으로 전송되고 차원은 {histogram.bucket.le="42"}
가 됩니다.
NRQL에는 원격 쓰기 또는 Prometheus OpenMetrics 통합(버전 2.0.0 부터 시작)을 통해 수집된 Prometheus 히스토그램에서 작동하는 두 가지 기능이 있습니다. bucketPercentile()
및 histogram()
. 링크에는 쿼리 예가 포함되어 있습니다.