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

이 한글 문서는 사용자의 편의를 위해 기계 번역되었습니다.

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

문제 신고

Prometheus 에이전트의 인스턴스 확장

클러스터 크기가 커지면 Prometheus에서 더 많은 데이터를 수집하고 어느 시점에서 Prometheus 에이전트가 처리할 수 있는 데이터의 한계에 도달합니다. 가장 일반적인 실패 모드는 시계열의 카디널리티 증가로 인해 메모리 부족입니다. 이런 일이 발생하면 더 많은 메모리가 필요하기 때문에 Prometheus 인스턴스가 죽기 시작합니다. 즉, 확장을 시작해야 합니다.

솔루션을 자세히 분석하기 위해 Prometheus 솔루션을 확장해야 할 때를 알 수 있도록 다양한 차트가 포함된 대시보드를 제공합니다.

New Relic의 Prometheus 에이전트에는 수직 또는 수평의 두 가지 스케일링 접근 방식이 있습니다.

수직 확장

이러한 종류의 확장은 복잡하지 않습니다. 클러스터 노드가 있는 해당 머신의 메모리나 CPU를 업데이트하는 것만큼 간단합니다.

그러나 이 접근 방식은 대규모 클러스터에 대해 확장할 수 없거나 노드에서 너무 많은 GB의 메모리를 소비하는 단일 포드를 원하지 않습니다. 그렇다면 수평 확장을 사용해야 할 수도 있습니다.

수평적 확장

샤딩이라고도 하는 수평 확장은 에이전트 모드에서 여러 prometheus 서버를 실행하여 데이터를 수집할 수 있도록 하는 구성 매개변수를 설정하여 지원됩니다.

sharding.total_shards_count 값을 정의하면 배포된 StatefulSet 에 정의한 만큼의 복제본이 포함됩니다. 이를 사용하면 구성자 구성 요소에 몇 가지 추가 레이블 재지정 규칙이 자동으로 포함되므로 각 대상은 하나의 prometheus 서버에서만 스크랩됩니다. 이러한 규칙은 대상의 주소 hash-mod 에 의존합니다.

각 대상에 대한 레이블 재지정 규칙을 설정하기 위해 에이전트는 주어진 대상 __address__ 에 대한 해시를 계산한 다음 modulus 를 해시에 적용합니다. 모듈러스는 총 샤드 수입니다. 그런 다음 긁힌 대상이 포함되어야 하는 샤드를 알고 있습니다.

예를 들어 custom-values.yaml 파일에 다음을 포함하는 경우:

# (...)
sharding:
total_shards_count: 2
# (...)

그런 다음 다음을 실행하여 릴리스를 업그레이드합니다.

bash
$
helm upgrade my-prometheus-release newrelic-prometheus-configurator/newrelic-prometheus-agent -f custom-values.yaml

그런 다음 두 개의 프로메테우스 서버가 실행되고 각 대상은 그중 하나에 의해서만 스크랩됩니다.

예제 다이어그램은 다음과 같습니다.

대상 스크레이퍼 식별

샤드 식별( StatefulSet Pod 의 이름)은 모든 측정항목에 prometheus_server 라벨로 추가되며 이를 사용하여 각 대상을 스크레이핑하는 Prometheus 인스턴스를 이해할 수 있습니다.

계정 내에서 Prometheus 서버 인스턴스를 고유하게 식별하려면 cluster_nameprometheus_server 레이블 조합을 사용해야 합니다.

자기 지표

Prometheus 서버 자체 측정항목은 모든 prometheus 서버에서 수집해야 하므로 샤딩이 구성될 때 추가 규칙은 prometheus 자체 측정항목을 수집하는 작업에 적용되지 않습니다. 이는 에이전트가 static_target 작업에서 skip_sharding 플래그를 수락하기 때문에 가능합니다. 이 매개변수는 기본 자체 측정 작업에 이미 설정되어 있습니다.

제한 사항

구성에 추가 스크레이프 작업을 extra_scrape_configs 로 포함하면 해당 필드에 prometheus 작업의 원시 정의가 포함되므로 에이전트는 샤딩 구성에 해당하는 규칙을 포함하지 않으므로 결과적으로 해당 대상은 다음에 의해 스크랩됩니다. 모든 프로메테우스 서버.

현재 자동 크기 조정은 지원되지 않습니다. 샤드 수를 늘리거나 줄이려면 prometheus 포드를 다시 시작하는 차트 설정을 업데이트해야 합니다.

Copyright © 2024 New Relic Inc.

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