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

Prometheus 원격 쓰기 통합 설정

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

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

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

bash
$
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) 계정: 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 레이블로 메트릭에 태그를 지정하도록 원격 쓰기를 구성할 수 있습니다. 이 레이블은 뉴렐릭이 수신하면 제거됩니다.

Example: 명명 규칙 접미사 _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.