• /
  • EnglishEspañol日本語한국어Português
  • 로그인지금 시작하기

사용자의 편의를 위해 제공되는 기계 번역입니다.

영문본과 번역본이 일치하지 않는 경우 영문본이 우선합니다. 보다 자세한 내용은 이 페이지를 방문하시기 바랍니다.

문제 신고

Prometheus 원격 쓰기 데이터의 전송 및 청구 바이트 비교

Prometheus 원격 쓰기에서 청구된 바이트 크기는 New Relic으로 전송된 바이트보다 클 수 있습니다. 차이에 놀라지 않도록 데이터 압축이 청구된 바이트에 미치는 영향을 검토하는 것이 좋습니다.

데이터 압축 및 청구 이해

Prometheus 원격 쓰기 데이터는 더 빠르고 무손실 전송을 위해 압축 된 New Relic으로 전송됩니다. 수집되면 해당 데이터는 압축 해제되고 장식되어 엔터티 합성 과 같은 New Relic 기능과 함께 적절하게 사용할 수 있습니다. 압축과 비압축 바이트 레이트의 차이를 예상해야 하지만 Prometheus 원격 쓰기 데이터의 잠재적인 차이는 New Relic의 과금 모델 때문에 중요합니다.

데이터를 수집하는 데 필요한 계산 노력과 New Relic에 저장된 데이터 크기에 따라 요금이 청구됩니다. 압축 해제 프로세스 및 데이터 변환으로 인해 최종 압축되지 않은 바이트가 압축된 파일의 약 15배 크기로 저장될 수 있습니다.

예를 들어, 실제 트래픽을 시뮬레이션할 때 수집한 시계열 데이터 샘플링을 기반으로 다음과 같은 내용을 볼 수 있습니다.

~124 GB/day compressed data sent = ~1.86TB uncompressed data stored

아래는 Prometheus 읽기-쓰기 데이터가 시스템을 통해 이동할 때 바이트 속도 변화를 시뮬레이션한 것입니다. 이 경우 메트릭은 로컬 노드 내보내기의 로컬 Prometheus 서버의 원격 쓰기 스크랩을 수집하여 생성되었습니다.

Byte rate estimate total comparison

Prometheus가 보낸 바이트 레이트가 데이터 포인트 압축을 풀기 직전에 우리가 기록하는 원격 쓰기 압축 바이트 수와 얼마나 밀접하게 일치하는지 주목하십시오. 원격 쓰기 압축 바이트 속도의 증가된 변동은 분산 시스템을 통해 데이터를 처리하는 특성에 기인할 수 있습니다.

Sent vs. compressed bytes comparison

데이터 포인트가 압축 해제됨에 따라 데이터 압축 해제 직전과 직후에 측정한 원격 쓰기 압축 데이터 바이트 비율과 원격 쓰기 비압축 바이트 비율 간의 차이에 5-10x 확장 계수가 반영됩니다.

Uncompressed vs. compressed bytes comparison

마지막으로 데이터가 변환되고 보강이 수행됨에 따라 압축되지 않은 원격 쓰기 바이트와 bytecountestimate() 간의 차이는 아래에서 확인할 수 있습니다. 나열된 bytecountestimate() 은 저장되기 전 데이터의 최종 상태에 대한 바이트 수를 측정한 것입니다.

Bytecountestimate() vs. uncompressed bytes comparison

Prometheus 읽기-쓰기 데이터가 통과할 수 있는 데이터 변환/추가를 더 잘 이해할 수 있도록 Prometheus 서버에서 보고한 측정값인 prometheus_remote_storage_bytes_total 측정항목을 비교합니다.

첫 번째는 Prometheus가 제공한 표현이고 두 번째는 NRQL 쿼리 대응물입니다.

Prometheus 서버 표현:

"prometheus_remote_storage_bytes_total" {
"instance=""localhost:9090"
"job=""prometheus"
"remote_name=""5dfb33"
"url=""https://staging-metric-api.newrelic.com/prometheus/v1/write?prometheus_server=foobarbaz"
}
23051

NRQL 쿼리 표현

{
"endTimestamp": 1631305327668,
"instance": "localhost:9090",
"instrumentation.name": "remote-write",
"instrumentation.provider": "prometheus",
"instrumentation.source": "foobarbaz",
"instrumentation.version": "0.0.2",
"job": "prometheus",
"metricName": "prometheus_remote_storage_bytes_total",
"newrelic.source": "prometheusAPI",
"prometheus_remote_storage_bytes_total": {
"type": "count",
"count": 23051
},
"prometheus_server": "foobarbaz",
"remote_name": "5dfb33",
"timestamp": 1631305312668,
"url": "https://staging-metric-api.newrelic.com/prometheus/v1/write?prometheus_server=foobarbaz"
}

위의 예는 기본 개념을 설명하기 위한 단순화된 비교이므로 레이블 지정 및 주요 측정항목을 평균보다 가볍게 사용할 수 있습니다. 실제 버전은 더 복잡하기 때문에 약간 다르게 보일 것입니다.

NRQL을 사용하여 데이터 수 쿼리

다음 NRQL 쿼리 를 확인하여 바이트 수 정보를 수집하십시오.

New Relic에 저장된 예상 바이트 수를 보려면:

FROM Metric SELECT rate(bytecountestimate(), 1 minute) AS 'bytecountestimate()'
WHERE prometheus_server = INSERT_PROMETHEUS_SERVER_NAME SINCE 1 hour ago TIMESERIES AUTO

New Relic으로 전송된 Prometheus 바이트를 모니터링하려면:

FROM Metric SELECT rate(sum(prometheus_remote_storage_bytes_total), 1 minute) AS 'Prometheus sent bytes rate'
WHERE prometheus_server = INSERT_PROMETHEUS_SERVER_NAME SINCE 1 hour ago TIMESERIES AUTO

외부 참조

다음은 압축 및 인코딩을 명확히 하는 Prometheus 및 GitHub 문서에 대한 몇 가지 외부 링크입니다.

Copyright © 2024 New Relic Inc.

This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.