몇 가지 간단한 단계만 거치면 New Relic에서 Prometheus 데이터 흐름을 얻을 수 있습니다. 통합하면 쿼리 기반 대시보드(및 기타 쿼리 결과)에 데이터가 표시되며 보통 5분 이내에 표시됩니다. 이 페이지에서는 원격 쓰기 통합을 위한 기본 설정과 몇 가지 일반적인 문제 해결 주제를 다룹니다. 고가용성(HA) 구성에서 Prometheus 서버 통합에 대한 정보는 Prometheus 고가용성 문서를 참조하십시오.
(선택 사항) Prometheus 운영자 구성
Prometheus Operator를사용하는 경우 New Relic으로 시크릿을 생성해야 합니다. 데이터를 보고하려는 계정에 대해 API 키가 Ingest - License
유형인지 확인하십시오.
kubectl -n YOUR_PROM_NAMESPACE create secret generic nr-license-key --from-literal=value=YOUR_LICENSE_KEY
다음으로 Prometheus CRD( kind:Prometheus
)에 다음을 추가합니다.
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 서버가 New Relic에 데이터를 보내고 있는지 식별하는 이름이 됩니다.Prometheus YML 파일에 새
remote_write
URL을 추가합니다.global
섹션과 동일한 들여쓰기 수준에서 파일의global_config
아래에 이 정보를 추가합니다.다음 구문을 사용합니다.
프로메테우스 v2.26 이상
remote_write:- url: https://metric-api.newrelic.com/prometheus/v1/write?prometheus_server=YOUR_DATA_SOURCE_NAMEauthorization:credentials: YOUR_LICENSE_KEYv2.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에서 연결하는 경우 다음 URL을 사용하십시오.
https://metric-api.eu.newrelic.com/prometheus/v1/writeKubernetes 및 Helm 원격 쓰기 통합: 원격 쓰기 URL을 Helm
values.yaml
파일에 추가합니다.remoteWrite: []
을 다음 예와 유사한 두 줄로 바꿉니다. 원격 쓰기 URL을 사용하고 파일의 나머지 부분과 일치하는 들여쓰기를 사용해야 합니다.remoteWrite:- url: https://metric-api.newrelic.com/prometheus/v1/write?prometheus_server=YOUR_DATA_SOURCE_NAMEbearer_token:YOUR_LICENSE_KEYPrometheus 서버를 다시 시작합니다.
New Relic UI에서 데이터를 봅니다. 예를 들어 통합을 설정할 때 자동으로 생성되는 원격 쓰기 대시보드 를 사용합니다.
이 문서가 설치하는데 도움이 되셨나요?
Prometheus 및 New Relic 메트릭 유형 매핑
Prometheus 원격 쓰기 프로토콜은 New Relic에 메트릭을 보낼 때 메트릭 유형 정보 또는 기타 유용한 메트릭 메타데이터를 포함하지 않으므로 Prometheus 명명 규칙에 따라 메트릭 유형을 유추합니다. 이러한 명명 규칙을 따르지 않는 측정항목은 올바르게 매핑되지 않을 수 있습니다.
다음과 같이 Prometheus 메트릭 명명 규칙에 따라 Prometheus 메트릭 유형을 New Relic 메트릭 유형에 매핑합니다.
metricName_bucket
New Relic count 메트릭 유형으로 저장됩니다.metricName_count
New Relic count 메트릭 유형으로 저장됩니다.metricName_total
New Relic count 메트릭 유형으로 저장됩니다.metricName_sum
New Relic 요약 메트릭 유형으로 저장됩니다.
다른 모든 것은 New Relic 게이지 메트릭 유형으로 저장됩니다.
측정항목 유형 매핑 재정의
Prometheus 명명 규칙을 따르지 않는 측정항목이 있는 경우 측정항목 유형을 나타내는 newrelic_metric_type
레이블로 측정항목에 태그를 지정하도록 원격 쓰기를 구성할 수 있습니다. 이 라벨은 New Relic이 받으면 벗겨집니다.
예: _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
레이블을 추가합니다. 다음(대소문자 구분!) 값을 대체 값으로 사용할 수 있습니다.
- 카운터
- gauge
- 요약
수신된 측정항목에 newrelic_metric_type
레이블이 있고 유효한 값 중 하나로 설정되면 New Relic은 데이터 파이프라인에서 다운스트림 소비 전에 표시된 유형을 측정항목에 할당하고 레이블을 제거합니다. 위의 명명 규칙을 따르지 않는 메트릭이 여러 개 있는 경우 각 규칙이 서로 다른 소스 레이블과 일치하는 여러 규칙을 추가할 수 있습니다.
전송된 측정항목에 대한 허용 또는 거부 목록 설정
New Relic에 보내는 데이터를 더 잘 제어해야 하는 경우 지표의 하위 집합을 보낼 수 있습니다. 이렇게 하려면 keep
또는 deny
의 하위 매개변수 action
값이 있는 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
이 Kubernetes 예시는 이 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
원격 쓰기 동작 사용자 지정
New Relic에서 둘 이상의 계정에 작성하거나 둘 이상의 Prometheus 데이터 소스를 New Relic의 동일한 계정에 연결하는 경우 다음 매개변수를 사용자 정의할 수 있습니다. 자세한 내용 은 원격 쓰기 조정에 대한 문서를 참조하세요.
오류 메시지 문제 해결
Prometheus 서버를 다시 시작한 후 New Relic에서 통합 오류 메시지 또는 Prometheus 서버 로그의 오류 메시지를 수신하는 경우 원격 쓰기 문제 해결 문서 를 검토하십시오. 여기에는 누락되거나 잘못된 문자, 잘못된 요청, 너무 큰 요청 엔터티 및 속도 제한 오류와 같은 일반적인 오류 수정이 포함됩니다.
통합 제거
Prometheus 원격 쓰기 통합을 제거하면 새 데이터 흐름이 중지되지만 기록 데이터가 제거되거나 제거되지는 않습니다. 통합을 제거하려면 Prometheus YML 파일에서 구성 코드 스니펫을 제거한 다음 서버를 다시 시작하십시오.