Prometheus를 사용한 클러스터 지표 모니터링 - Amazon EKS

Prometheus를 사용한 클러스터 지표 모니터링

Prometheus는 엔드포인트를 스크레이프하는 모니터링 및 시계열 데이터베이스입니다. 수집된 데이터를 쿼리, 집계 및 저장하는 기능을 제공합니다. 알림 및 알림 집계에도 사용할 수 있습니다. 이 주제에서는 관리형 또는 오픈 소스 옵션으로 Prometheus를 설정하는 방법을 설명합니다. Amazon EKS 컨트롤 플레인 지표 모니터링은 일반적인 사용 사례입니다.

Amazon Managed Service for Prometheus는 컨테이너화된 애플리케이션과 인프라를 대규모로 쉽게 모니터링할 수 있는 Prometheus 호환 모니터링 및 알림 서비스입니다. 지표의 수집, 스토리지, 쿼리 및 알림을 자동으로 확장하는 완전관리형 서비스입니다. 또한 AWS 보안 서비스와 통합되어 데이터에 빠르고 안전하게 액세스할 수 있습니다. 오픈 소스 PromQL 쿼리 언어를 사용하여 지표를 쿼리하고 지표에 대해 알릴 수 있습니다. 또한 Amazon Managed Service for Prometheus의 알림 관리자를 사용하여 중요한 알림에 대한 알림 규칙을 설정할 수 있습니다. 그런 다음 이러한 중요한 알림을 Amazon SNS 주제에 대한 알림으로 보낼 수 있습니다.

Amazon EKS에서 Prometheus를 사용하는 데는 여러 가지 옵션이 있습니다.

  • Amazon EKS 클러스터를 처음 생성할 때 Prometheus 지표를 켜거나 기존 클러스터에 대해 자체 Prometheus Scraper를 생성할 수 있습니다. 이 주제에서는 이 두 가지 옵션을 모두 다룹니다.

  • Helm을 사용하여 Prometheus를 배포할 수 있습니다. 자세한 내용은 Helm을 사용한 Prometheus 배포 단원을 참조하십시오.

  • 컨트롤 플레인 원시 지표를 Prometheus 형식으로 볼 수 있습니다. 자세한 내용은 컨트롤 플레인 원시 지표를 Prometheus 형식으로 가져오기 단원을 참조하십시오.

1단계: Prometheus 지표 켜기

중요

Prometheus용 Amazon Managed Service 리소스는 클러스터 수명 주기를 벗어나며 클러스터에 독립적으로 유지 관리되어야 합니다. 클러스터를 삭제할 때 해당 Scraper도 모두 삭제하여 관련 비용을 줄여야 합니다. 자세한 내용은 Amazon Managed Service for Prometheus 사용자 가이드의 Scraper 찾기 및 삭제를 참조하세요.

Prometheus는 스크레이핑이라는 풀 기반 모델을 통해 클러스터에서 지표를 검색하고 수집합니다. Scraper는 클러스터 인프라 및 컨테이너화된 애플리케이션에서 데이터를 수집하도록 설정됩니다. Prometheus 지표 전송 옵션을 켜면 Prometheus용 Amazon Managed Service에서 에이전트 없는 완전 관리형 Scraper를 제공합니다.

아직 클러스터를 생성하지 않은 경우 클러스터를 처음 생성할 때 Prometheus에 지표를 보내는 옵션을 켤 수 있습니다. Amazon EKS 콘솔에서 이 옵션은 새 클러스터를 생성하는 통합 관찰성 구성 단계에 있습니다. 자세한 내용은 Amazon EKS 클러스터 생성 단원을 참조하십시오.

이미 기존 클러스터가 있는 경우 자체 Prometheus Scraper를 생성할 수 있습니다. Amazon EKS 콘솔에서 이렇게 하려면 클러스터의 관찰 가능성 탭으로 이동하여 Scraper 추가 버튼을 선택합니다. AWS API 또는 AWS CLI로 Scraper를 만들려면 Prometheus용 Amazon 관리형 서비스 사용 설명서에서 Scraper 만들기를 참조하세요.

Amazon EKS 콘솔을 사용하여 Scraper를 생성할 때 다음 옵션을 사용할 수 있습니다.

Scraper 별칭

(선택 사항) Scraper의 고유한 별칭을 입력합니다.

대상

Prometheus용 Amazon Managed Service Prometheus 작업 영역을 선택합니다. 작업 영역은 Prometheus 지표 보관 및 쿼리를 위한 전용 논리 공간입니다. 이 작업 영역을 사용하면 액세스 권한이 있는 계정에서 Prometheus 지표를 볼 수 있습니다. 새 작업 영역 생성 옵션은 Amazon EKS에 제공한 작업 영역 별칭을 사용하여 대신 작업 영역을 생성하도록 지시합니다. 기존 작업 영역 선택 옵션을 사용하면 드롭다운 목록에서 기존 작업 영역을 선택할 수 있습니다. 작업 영역에 대한 자세한 내용은 Amazon Managed Service for Prometheus 사용 설명서의 작업 영역 관리를 참조하세요.

서비스 액세스

이 섹션에는 Prometheus 지표를 전송할 때 부여하는 권한이 요약되어 있습니다.

  • Amazon Managed Service for Prometheus에 스크레이프된 Amazon EKS 클러스터 설명 허용

  • Amazon Managed Prometheus 작업 영역에 원격 쓰기 허용

AmazonManagedScraperRole이 이미 있는 경우 Scraper가 이를 사용합니다. AmazonManagedScraperRole 링크를 선택하여 권한 세부 정보를 확인합니다. AmazonManagedScraperRole이 아직 없는 경우 권한 세부 정보 보기 링크를 선택하여 Prometheus 지표를 전송하여 부여하는 특정 권한을 확인합니다.

서브넷

필요에 따라 Scraper가 상속할 서브넷을 수정합니다. 회색으로 표시된 서브넷 옵션을 추가해야 하는 경우 클러스터 만들기 네트워킹 지정 단계로 돌아가세요.

Scraper 구성

필요에 따라 YAML 형식으로 Scraper 구성을 수정합니다. 이렇게 하려면 양식을 사용하거나 대체 YAML 파일을 업로드합니다. 자세한 내용은 Amazon Managed Service for Prometheus 사용 설명서의 Scraper 구성을 참조하세요.

Amazon Managed Service for Prometheus는 클러스터와 함께 AWS 관리형 컬렉터로 생성되는 에이전트 없는 Scraper를 말합니다. AWS 관리형 컬렉터에 대한 자세한 내용은 Prometheus용 Amazon Managed Service 사용 설명서AWS 관리형 컬렉터를 참조하세요.

중요
  • AWS CLI 또는 AWS API를 사용하여 Prometheus Scraper를 생성하는 경우 Scraper에 클러스터 내 권한을 부여하도록 구성을 조정해야 합니다. 자세한 내용은 Amazon Managed Service for Prometheus 사용 설명서의 Amazon EKS 클러스터 구성을 참조하세요.

  • 액세스 항목 대신 aws-auth ConfigMap을 사용하는 2024년 11월 11일 이전에 생성된 Prometheus 스크레이퍼가 있는 경우 Amazon EKS 클러스터 컨트롤 플레인에서 추가 지표에 액세스하려면 스크레이퍼를 업데이트해야 합니다. 업데이트된 구성은 Amazon Managed Service for Prometheus 사용 설명서에서 스크레이퍼 액세스를 위한 Amazon EKS 수동 구성을 참조하세요.

2단계: Prometheus 지표 사용

클러스터에 대해 Prometheus 지표을 켠 후 사용하는 방법에 대한 자세한 내용은 Prometheus용 Amazon 관리형 서비스 사용 설명서를 참조하세요.

3단계: Prometheus Scraper 관리

Scraper를 관리하려면 Amazon EKS 콘솔에서 관찰 가능성 탭을 선택합니다. 테이블에는 Scraper ID, 별칭, 상태 및 생성 날짜와 같은 정보를 포함하여 클러스터의 Scraper 목록이 표시됩니다. Scraper를 더 추가하거나, Scraper를 삭제하거나, 현재 Scraper에 대한 자세한 정보를 볼 수 있습니다.

Scraper에 관한 추가 세부 정보를 확인하려면 Scraper ID 링크를 선택합니다. 예를 들어 ARN, 환경, 작업 영역 ID, IAM 역할, 구성 및 네트워킹 정보를 볼 수 있습니다. Scraper ID를 DescribeScraperDeleteScraper와 같은 Amazon Managed Service for Prometheus API 작업의 입력으로 사용할 수 있습니다. Prometheus API 사용에 대한 자세한 내용은 Amazon Managed Service for Prometheus API 참조를 참조하세요.