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

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

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

문제 신고

New Relic 메트릭 어댑터

공개 미리보기

이 기능은 아직 공개 미리 보기로 제공되지만 사용해 보시기 바랍니다!

New Relic 메트릭 어댑터 를 배포하여 New Relic 계정의 메트릭을 사용하여 Kubernetes 클러스터의 애플리케이션 및 서비스를 자동 확장할 수 있습니다. 이 어댑터는 New Relic에서 메트릭 값을 가져와 Horizontal Pod Autoscaler 에서 사용할 수 있도록 합니다.

newrelic-k8s-metrics-adapter는 New Relic NRQL 쿼리 결과 기반의 외부 측정항목 사용을 지원하기 위해 external.metrics.k8s.io API를 구현합니다. 배포되면 구성된 NRQL 쿼리를 기반으로 NerdGraph API를 사용하여 구성된 각 측정항목의 값을 가져옵니다.

메트릭 어댑터는 TLS를 사용하여 보안 엔드포인트를 통해 메트릭을 노출합니다.

클러스터의 New Relic 메트릭 어댑터.

요구 사항

설치

New Relic Metrics Adapter를 설치하기 위해 모든 New Relic Kubernetes 구성요소를 배포하는 데 사용되는 nri-bundle 차트에도 포함된 newrelic-k8s-metrics-adapter Helm 차트를 제공합니다.

  1. 아직 설치하지 않았다면 Kubernetes 통합을 설치하십시오 .
  2. 다음 명령을 사용하여 New Relic Metrics Adapter를 포함하도록 설치를 업그레이드하십시오.
helm upgrade --install newrelic newrelic/nri-bundle \
--namespace newrelic --create-namespace --reuse-values \
--set metrics-adapter.enabled=true \
--set newrelic-k8s-metrics-adapter.personalAPIKey=YOUR_NEW_RELIC_PERSONAL_API_KEY \
--set newrelic-k8s-metrics-adapter.config.accountID=YOUR_NEW_RELIC_ACCOUNT_ID \
--set newrelic-k8s-metrics-adapter.config.externalMetrics.external_metric_name.query=NRQL query

다음 플래그를 확인하고 조정하십시오.

  • metrics-adapter.enabled: 측정항목 어댑터 차트가 설치되도록 true 으로 설정해야 합니다.

  • newrelic-k8s-metrics-adapter.personalAPIKey: 유효한 New Relic 개인 API 키로 설정되어야 합니다.

  • newrelic-k8s-metrics-adapter.config.accountID: 메트릭을 가져올 유효한 New Relic 계정으로 설정해야 합니다.

  • newrelic-k8s-metrics-adapter.config.externalMetrics.external_metric_name.query: 다음과 같은 위치에 새 외부 측정항목을 추가합니다.

    • external_metric_name: 메트릭 이름입니다.
    • query: 메트릭 값을 가져오는 데 사용되는 기본 NRQL 쿼리입니다.

또는 --values 플래그를 사용하여 helm 명령에 전달할 수 있는 values.yaml 파일을 사용할 수 있습니다. 값 파일에는 구성 섹션에 설명된 메트릭을 구성하는 데 필요한 모든 매개변수가 포함될 수 있습니다.

구성

메트릭 어댑터에서 여러 메트릭을 구성하고 일부 매개변수를 변경하여 메트릭 캐시 및 필터링의 동작을 수정할 수 있습니다. 수정할 수 있는 모든 매개변수의 전체 목록과 설명을 보려면 차트 README.mdvalues.yaml 파일을 참조하십시오.

작동 원리

다음 예는 nri-bundle 차트 설치에서 측정항목 어댑터를 활성화하고 nginx_average_requests 측정항목을 구성하는 Helm 값 파일입니다.

metrics-adapter:
enabled: true
newrelic-k8s-metrics-adapter:
personalAPIKey: <Personal API Key>
config:
accountID: <Account ID>
externalMetrics:
nginx_average_requests:
query: "FROM Metric SELECT average(nginx.server.net.requestsPerSecond) SINCE 2 MINUTES AGO"

주의

메트릭의 기본 시간 범위는 1h입니다. 따라서 SINCE 절로 쿼리를 정의하여 환경과 필요에 따라 시간 범위를 조정해야 합니다.

다음과 같이 외부 메트릭을 사용하는 HPA가 있습니다.

kind: HorizontalPodAutoscaler
apiVersion: autoscaling/v2beta2
metadata:
name: nginx-scaler
spec:
scaleTargetRef:
apiVersion: apps/v1
kind: Deployment
name: nginx
minReplicas: 1
maxReplicas: 10
metrics:
- type: External
external:
metric:
name: nginx_average_requests
selector:
matchLabels:
k8s.namespaceName: nginx
target:
type: Value
value: 10000

HPA 정의에 따라 컨트롤러 관리자는 New Relic 메트릭 어댑터에서 제공하는 외부 메트릭 API에서 메트릭을 가져옵니다.

New Relic 메트릭 어댑터는 nginx_average_requests 메트릭 이름과 모든 선택기를 포함하는 쿼리를 수신하고 구성된 메트릭을 기반으로 내부 메모리에서 일치하는 메트릭 이름을 검색합니다. 그런 다음 쿼리에 선택기를 추가하여 NerdGraph를 사용하여 실행되는 최종 쿼리를 구성하여 New Relic에서 값을 가져옵니다. 위의 예는 다음과 같은 쿼리를 생성합니다.

FROM Metric SELECT average(nginx.server.net.requestsPerSecond) WHERE clusterName=<clusterName> AND `k8s.namespaceName`='nginx' SINCE 2 MINUTES AGO

동일한 계정의 다른 클러스터에서 측정항목을 제외하기 위해 clusterName 필터가 쿼리에 자동으로 추가되었습니다. removeClusterFilter 구성 매개변수를 사용하여 제거할 수 있습니다. 또한 값은 기본값이 30초인 cacheTTLSeconds 구성 매개변수에 의해 정의된 기간 동안 캐시됩니다.

문제점 해결

Copyright © 2024 New Relic Inc.

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