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

Prometheus 원격 쓰기 통합 설정

몇 가지 간단한 단계로 Prometheus 데이터가 뉴렐릭으로 흐르도록 할 수 있습니다. 통합하면 약 5분 이내에 데이터가 쿼리 기반 대시보드(및 기타 쿼리 결과)에 표시됩니다. 이 페이지에서는 원격 쓰기 통합을 위한 기본 설정과 몇 가지 일반적인 문제 진단 및 해결 방법을 설명합니다. 고가용성(HA) 설정에서 Prometheus 서버를 통합하는 방법에 대한 자세한 내용은 Prometheus 고가용성 문서를 참조하십시오.

(선택사항) Prometheus 오퍼레이터 설정

Prometheus Operator를 사용하는 경우 뉴렐릭에서 데이터를 보고하려는 계정에 대해 시크릿을 생성해야 합니다. 먼저 API 키가 Ingest - License 유형인지 확인합니다.

kubectl -n YOUR_PROM_NAMESPACE create secret generic nr-license-key --from-literal=value=YOUR_LICENSE_KEY

그런 다음 Helm 차트의 해당 필드에 있는 Prometheus CRD(kind:Prometheus)에 다음을 추가합니다.

prometheus:
prometheusSpec:
remoteWrite:
- url: https://metric-api.newrelic.com/prometheus/v1/write?prometheus_server=YOUR_CLUSTER_NAME
authorization:
credentials:
key: value
name: nr-license-key

통합 설정

UI에서 Prometheus 원격 쓰기 설정 실행 프로그램으로 이동하고 다음 단계를 완료하여 Prometheus 데이터를 추가합니다.

Prometheus 데이터 추가
  1. 연결할 Prometheus 서버의 이름과 remote_write URL을 입력합니다. 중요: 서버에 입력한 이름은 데이터에 속성을 생성합니다. 또한 뉴렐릭으로 데이터를 보내는 Prometheus 서버를 식별하는 이름이기도 합니다.

  2. Prometheus YML 파일에 새 remote_write URL을 추가합니다. 파일의 global_config 아래에 global 섹션과 동일한 들여쓰기 수준으로 이 정보를 추가합니다.

    다음 구문을 사용합니다.

    Prometheus v2.26 이상

    remote_write:
    - url: https://metric-api.newrelic.com/prometheus/v1/write?prometheus_server=YOUR_DATA_SOURCE_NAME
    authorization:
    credentials: YOUR_LICENSE_KEY

    Prometheus v2.26 이전

    remote_write:
    - url: https://metric-api.newrelic.com/prometheus/v1/write?prometheus_server=YOUR_DATA_SOURCE_NAME
    bearer_token:YOUR_LICENSE_KEY

    또는

    모든 Prometheus 버전

    remote_write:
    - url: https://metric-api.newrelic.com/prometheus/v1/write?X-License-Key=YOUR_LICENSE_KEY&prometheus_server=YOUR_DATA_SOURCE_NAME

    이 접근 방식은 URL로 크리덴셜을 전달합니다. 다른 접근 방식이 사용자 환경에서 작동하지 않는 한 이 방법은 사용하지 말 것을 권합니다.

    유럽 연합 계정: EU에서 연결하는 경우 다음 URL을 사용하십시오.

    https://metric-api.eu.newrelic.com/prometheus/v1/write

    쿠버네티스 및 Helm 원격 쓰기 통합: Helm values.yaml 파일에 원격 쓰기 URL을 추가합니다. remoteWrite: []를 다음 예와 유사한 두 줄로 교체합니다. 원격 쓰기 URL을 사용하고, 파일의 나머지 부분과 일치하는 들여쓰기를 사용해야 합니다.

    remoteWrite:
    - url: https://metric-api.newrelic.com/prometheus/v1/write?prometheus_server=YOUR_DATA_SOURCE_NAME
    bearer_token:YOUR_LICENSE_KEY
  3. Prometheus 서버를 다시 시작합니다.

  4. 뉴렐릭 UI에서 데이터를 확인합니다. 예를 들어, 통합을 설정할 때 자동으로 생성되는 원격 쓰기 대시보드를 사용할 수 있습니다.

이 문서가 설치하는데 도움이 되셨나요?

Prometheus 및 뉴렐릭 메트릭 유형 맵

Prometheus 원격 쓰기 프로토콜은 메트릭을 뉴렐릭으로 보낼 때 메트릭 유형 정보나 기타 유용한 메트릭 메타데이터를 포함하지 않으므로 Prometheus 명명 규칙을 기반으로 메트릭 유형을 추론합니다. 이러한 명명 규칙을 따르지 않는 메트릭은 올바르게 매핑되지 않을 수 있습니다.

뉴렐릭은 Prometheus 메트릭 유형을 다음과 같은 Prometheus 메트릭 명명 규칙을 기반으로 뉴렐릭 메트릭 유형에 매핑합니다.

  • metricName_bucket 뉴렐릭 개수(count) 메트릭 유형으로 저장됩니다.
  • metricName_count 뉴렐릭 개수(count) 메트릭 유형으로 저장됩니다.
  • metricName_total 뉴렐릭 개수(count) 메트릭 유형으로 저장됩니다.
  • metricName_sum 뉴렐릭 요약(summary) 메트릭 유형으로 저장됩니다.

그 밖의 모든 것은 뉴렐릭 게이지 메트릭 유형으로 저장됩니다.

메트릭 유형 매핑 재정의

Prometheus 명명 규칙을 따르지 않는 메트릭이 있는 경우 메트릭 유형을 나타내는 newrelic_metric_type 레이블로 메트릭에 태그를 지정하도록 원격 쓰기를 구성할 수 있습니다. 이 레이블은 뉴렐릭이 수신하면 제거됩니다.

예: 명명 규칙 접미사 _bucket, _count 또는 _total이 없는 my_counter 라는 카운터 메트릭이 있습니다. 이 상황에서는 메트릭이 카운터가 아닌 게이지로 식별됩니다. 이 문제를 수정하려면 prometheus.yml에 다음 레이블 변경 설정을 추가해야 합니다.

- url: https://metric-api.newrelic.com/prometheus/v1/write?X-License-Key=...
write_relabel_configs:
- source_labels: [__name__]
regex: ^my_counter$
target_label: newrelic_metric_type
replacement: "counter"
action: replace

이 규칙은 이름 my_counter와 모든 메트릭을 매치시켜 이를 카운터로 식별하는 newrelic_metric_type 레이블을 추가합니다. 다음 값을(대소문자를 구분) 대체 값으로 사용할 수 있습니다.

  • counter
  • gauge
  • 요약

수신된 메트릭에 newrelic_metric_type 레이블이 있고 유효한 값 중 하나로 설정된 경우 뉴렐릭은 데이터 파이프라인에서 다운스트림을 소비하기 전에 표시된 유형을 메트릭에 할당하고 레이블을 제거합니다. 위의 명명 규칙을 따르지 않는 메트릭이 여러 개 있는 경우 각 규칙이 서로 다른 소스 레이블과 일치하는 여러 규칙을 추가할 수 있습니다.

전송된 메트릭에 대한 허용 또는 거부 목록 설정

뉴렐릭으로 보내는 데이터에 대해 더 큰 제어가 필요한 경우 메트릭의 하위 집합을 보낼 수 있습니다. 이렇게 하려면 하위 파라미터 action keep 또는 denywrite_relabel_configs 파라미터로 remote-write를 구성합니다.

이 예에서는 정규식과 일치하는 메트릭만 보냅니다. 일치하지 않는 메트릭은 전송되지 않습니다. 또는 action: drop 사용하여 정규 표현식과 일치하는 메트릭을 모두 삭제할 수 있습니다.

- url: https://metric-api.newrelic.com/prometheus/v1/write?X-License-Key=...
write_relabel_configs:
- source_labels: [__name__]
regex: "coredns_(.*)|etcd_(.*)"
action: keep

이 쿠버네티스 예시에서는 이 Helm 차트의 values.yaml 파일을 사용합니다. 다른 Helm 차트를 사용하는 경우 해당 remoteWrite 문서를 확인하십시오. (예: 일부 Helm 파일은 대신 camelcase writeRelabelConfigs를 사용함)

remoteWrite:
- url: https://metric-api.newrelic.com/prometheus/v1/write?X-License-Key=...
write_relabel_configs:
- source_labels: [__name__]
regex: "coredns_(.*)|etcd_(.*)"
action: keep

원격 쓰기 동작 사용자 정의

뉴렐릭에서 두 개 이상의 계정에 쓰기를 하거나 동일한 뉴렐릭 계정에 두 개 이상의 Prometheus 데이터 원본을 연결하는 경우 다음 파라미터를 사용자 정의할 수 있습니다. 보다 자세한 내용은 원격 쓰기 조율에 관한 문서를 참조하십시오.

오류 메시지 문제 진단 및 해결

Prometheus 서버를 다시 시작한 후 통합 오류 메시지가 표시되거나 Prometheus 서버 로그에 오류 메시지가 표시되면 원격 쓰기 문제 진단 및 해결 문서를 확인하시기 바랍니다. 이 문서에는 누락되거나 잘못된 문자, 잘못된 요청, 너무 큰 요청 엔터티, 비율 제한 오류 등의 일반적인 오류의 해결 방법이 포함되어 있습니다.

통합 제거

Prometheus 원격 쓰기 통합을 제거하면 새 데이터 흐름이 중지되지만 이력 데이터는 제거되지 않습니다. 통합을 제거하려면 Prometheus YML 파일에서 구성 코드 스니펫을 제거한 후 서버를 다시 시작하십시오.

Copyright © 2024 New Relic Inc.

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