서드 파티 모니터링 도구에 대한 추가 기능 구성 - Amazon CloudWatch

서드 파티 모니터링 도구에 대한 추가 기능 구성

설치 중에 OpenMetrics 서버를 공개하도록 Network Flow Monitor 추가 기능을 구성할 수 있습니다. 이렇게 하면 Prometheus 같은 서드 파티 모니터링 도구와의 통합이 가능하므로, 기존 모니터링 인프라와 함께 네트워크 흐름 지표를 수집하고 분석할 수 있습니다. OpenMetrics를 자세히 알아보세요. 이 기능은 추가 기능 버전 v1.1.0부터 사용할 수 있습니다.

OpenMetrics 서버를 활성화하려면 EKS Network Flow Monitor 추가 기능의 구성 값에 OPEN_METRICS, OPEN_METRICS_ADDRESS, OPEN_METRICS_PORT를 추가합니다. 이 가이드에서는 CLI와 콘솔을 모두 사용하여 이 작업을 수행하는 방법을 설명합니다. 구성 값 추가에 대한 자세한 내용은 Amazon EKS 추가 기능 고급 구성을 참조하세요.

CLI 구성

AWS Command Line Interface을 사용할 경우 구성 값을 파라미터로 제공할 수 있습니다.

aws eks create-addon \ --cluster-name my-cluster-name \ --addon-name aws-network-flow-monitoring-agent \ --addon-version v1.1.0-eksbuild.1 \ --configuration-values '{"env":{"OPEN_METRICS":"on","OPEN_METRICS_ADDRESS":"0.0.0.0","OPEN_METRICS_PORT":9109}}'

콘솔 구성

Amazon EKS 콘솔을 사용할 경우 선택적 구성 설정에서 이러한 값을 구성 값의 일부로 추가할 수 있습니다.

JSON 샘플:

{ "env": { "OPEN_METRICS": "on", "OPEN_METRICS_ADDRESS": "0.0.0.0", "OPEN_METRICS_PORT": 9109 } }

YAML 샘플:

env: OPEN_METRICS: "on" OPEN_METRICS_ADDRESS: "0.0.0.0" OPEN_METRICS_PORT: 9109

EKS Network Flow Monitor 추가 기능 OpenMetric 파라미터

  • OPEN_METRICS:

    • 개방형 지표를 활성화하거나 비활성화합니다. 제공되지 않을 경우 비활성화됩니다.

    • 유형: 문자열

    • 값: ["on", "off"]

  • OPEN_METRICS_ADDRESS:

    • 개방형 지표 엔드포인트의 수신 IP 주소입니다. 제공되지 않을 경우 기본값은 127.0.0.1입니다.

    • 유형: 문자열

  • OPEN_METRICS_PORT:

    • 개방형 지표 엔드포인트의 수신 포트입니다. 제공되지 않을 경우 기본값은 80입니다.

    • 유형: 정수

    • 범위: [0..65535]

중요: OPEN_METRICS_ADDRESS를 0.0.0.0으로 설정하면 임의의 네트워크 인터페이스에서 지표 엔드포인트에 액세스할 수 있습니다. localhost 전용 액세스에 127.0.0.1을 사용하거나, 적절한 네트워크 보안 제어를 구현하여 승인된 모니터링 시스템에 한하여 액세스 권한을 제한하는 것이 좋습니다.

문제 해결

OpenMetrics 서버 구성에 문제가 발생할 경우 다음과 같은 정보를 사용하여 일반적인 문제를 진단하고 해결하세요.

지표가 표시되지 않음

문제: OpenMetrics 서버가 구성되어 있지만, 지표가 모니터링 도구에 표시되지 않습니다.

문제 해결 단계:

  1. 추가 기능 구성에서 OpenMetrics 서버가 활성화되어 있는지 확인합니다.

    • 구성 값에서 OPEN_METRICS가 "on"으로 설정되어 있는지 확인합니다. describe-addon을 참조하세요.

    • 선택한 추가 기능 구성 설정에서 추가 기능 버전이 v1.1.0 이상인지 확인합니다.

  2. 지표 엔드포인트를 직접 테스트합니다.

    • http://pod-ip:port/metrics에서 지표에 액세스합니다(pod-ip를 실제 포드 IP 주소로 바꾸고 포트를 구성된 포트로 바꿉니다).

    • 엔드포인트에 액세스할 수 없는 경우 네트워크 구성 및 보안 그룹 설정을 확인합니다.

  3. 모니터링 도구 구성을 확인합니다. 다음 작업을 수행하는 방법에 대한 자세한 내용은 모니터링 도구 사용 설명서를 참조하세요.

    • 모니터링 도구(예: Prometheus)가 올바른 엔드포인트를 스크레이핑하도록 구성되어 있는지 확인합니다.

    • 스크레이핑 간격 및 제한 시간 설정이 적절한지 확인합니다.

    • 모니터링 도구에 포드 IP 주소에 대한 네트워크 액세스 권한이 있는지 확인합니다.

특정 포드에서 지표 누락

문제: 클러스터의 일부 포드에서는 지표를 사용할 수 있지만, 다른 포드에서는 사용할 수 없습니다.

문제 해결 단계:

Network Flow Monitor 추가 기능은 hostNetwork: true를 사용하는 포드를 지원하지 않습니다. 포드 사양에 이 설정이 포함된 경우 해당 포드에서 지표를 사용할 수 없습니다.

해결 방법: 가능한 경우 포드 사양에서 hostNetwork: true 설정을 제거합니다. 애플리케이션에 호스트 네트워킹이 필요하다면 해당하는 특정 포드에는 대안적인 모니터링 접근 방식을 사용하는 것이 좋습니다.

연결 거부 오류

문제: 지표 엔드포인트에 액세스하려고 할 때 '연결 거부' 오류가 발생합니다.

문제 해결 단계:

  1. OPEN_METRICS_ADDRESS 구성을 확인합니다.

    • 127.0.0.1로 설정된 경우 포드 내에서만 엔드포인트에 액세스할 수 있습니다.

    • 0.0.0.0으로 설정된 경우 클러스터의 다른 포드에서 엔드포인트에 액세스할 수 있어야 합니다.

    • 모니터링 도구가 구성된 주소에 도달할 수 있는지 확인합니다.

  2. OPEN_METRICS_PORT 구성을 확인합니다.

    • 포트 번호가 다른 서비스에서 이미 사용되고 있지 않은지 확인합니다.

    • 포트가 유효한 범위(1~65535) 내에 있는지 확인합니다.

    • 보안 그룹 또는 네트워크 정책이 이 포트에 대한 트래픽을 허용하는지 확인합니다.

확인 단계

OpenMetrics 구성이 올바르게 작동하는지 확인하려면:

  1. 추가 기능 상태를 확인합니다.

    aws eks describe-addon --cluster-name your-cluster-name --addon-name aws-network-flow-monitoring-agent
  2. 포드 상태를 확인합니다.

    kubectl get pods app.kubernetes.io/name=aws-network-flow-monitoring-agent
  3. 클러스터 내에서 지표 엔드포인트를 테스트합니다.

    kubectl exec add-on-pod-name -- curl localhost:9109/metrics

    9109를 구성된 포트 번호로 바꾸고, 포드 이름을 AddOn 포드 이름으로 바꿉니다.