몇 가지 간단한 단계로 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 서버의 이름과
remote_write
URL을 입력합니다.중요
서버에 입력한 이름으로 데이터에 속성이 생성됩니다. 이름은 또한 뉴렐릭으로 데이터를 보내는 Prometheus 서버를 식별하는 데 사용됩니다.
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_NAMEauthorization:credentials: YOUR_LICENSE_KEYPrometheus v2.26 이전
remote_write:- url: https://metric-api.newrelic.com/prometheus/v1/write?prometheus_server=YOUR_DATA_SOURCE_NAMEbearer_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_NAMEbearer_token:YOUR_LICENSE_KEYPrometheus 서버를 다시 시작합니다.
뉴렐릭 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
또는 deny
와 write_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 파일에서 구성 코드 스니펫을 제거한 후 서버를 다시 시작하십시오.