클러스터 성능 모니터링 및 로그 보기

클러스터 성능 모니터링 및 로그 보기

Amazon EKS에서 사용 가능한 여러 모니터링 또는 로깅 도구를 사용해 데이터를 관찰할 수 있어요. Amazon EKS 로그 데이터는 AWS 서비스나 파트너 도구로 스트리밍해 데이터 분석에 사용할 수 있어요. AWS Management Console에는 Amazon EKS 문제 해결에 필요한 데이터를 제공하는 많은 서비스가 있어요. 또한 AWS가 지원하는 오픈소스 솔루션으로 Amazon EKS 인프라를 모니터링할 수도 있어요.

Amazon EKS 콘솔 왼쪽 탐색 창에서 Clusters를 선택한 뒤, 클러스터 이름을 선택하고 Observability 탭을 선택하면 클러스터 상태와 세부 정보를 볼 수 있어요. 클러스터에 배포된 기존 Kubernetes 리소스에 대한 세부 정보를 보려면 AWS Management Console에서 Kubernetes 리소스 보기를 참고하세요.

모니터링은 Amazon EKS와 AWS 솔루션의 안정성, 가용성, 성능을 유지하는 중요한 부분이에요. AWS 솔루션의 모든 부분에서 모니터링 데이터를 수집할 것을 권장해요. 그래야 다중 지점 장애가 발생했을 때 더 쉽게 디버깅할 수 있어요. Amazon EKS 모니터링을 시작하기 전에 모니터링 계획이 다음 질문을 다루는지 확인하세요.

  • 목표는 무엇인가요? 클러스터가 크게 확장될 때 실시간 알림이 필요한가요?
  • 어떤 리소스를 관찰해야 하나요?
  • 이러한 리소스를 얼마나 자주 관찰해야 하나요? 회사가 위험에 빠르게 대응하길 원하나요?
  • 어떤 도구를 사용할 계획인가요? 이미 실행 중인 AWS Fargate가 있다면 기본 제공 로그 라우터를 사용할 수 있어요.
  • 누가 모니터링 작업을 수행할 계획인가요?
  • 문제가 발생했을 때 누구에게 알림을 보내길 원하나요?

출처: 문서

본문

Amazon EKS에서 모니터링 및 로깅

Amazon EKS는 모니터링과 로깅을 위한 기본 제공 도구를 제공해요. 지원 버전에서 observability dashboard는 클러스터 성능에 대한 가시성을 제공해요. 문제를 빠르게 감지·해결·복구(remediate)하는 데 도움을 줘요. 모니터링 기능 외에도 컨트롤 플레인 감사 로그를 기반으로 한 목록을 포함해요. Kubernetes 컨트롤 플레인은 콘솔 밖에서도 스크래핑할 수 있는 여러 지표를 노출해요.

컨트롤 플레인 로깅은 클러스터에 대한 모든 API 호출, 사용자가 클러스터에서 어떤 작업을 수행했는지 캡처하는 감사 정보, 역할 기반 정보를 기록해요. 자세한 내용은 AWS Prescriptive Guidance의 Amazon EKS 로깅 및 모니터링을 참고하세요.

Amazon EKS 컨트롤 플레인 로깅은 Amazon EKS 컨트롤 플레인에서 계정의 CloudWatch Logs로 감사 및 진단 로그를 직접 제공해요. 이러한 로그 덕분에 클러스터를 쉽게 보호하고 운영할 수 있어요. 필요한 로그 유형을 정확히 선택할 수 있으며, 로그는 CloudWatch의 각 Amazon EKS 클러스터 그룹에 로그 스트림으로 전송돼요. 자세한 내용은 컨트롤 플레인 로그를 CloudWatch Logs로 보내기를 참고하세요.

참고

Amazon CloudWatch에서 Amazon EKS authenticator 로그를 확인하면 다음 예시 텍스트와 비슷한 내용이 포함된 항목이 표시돼요.

level=info msg="mapping IAM role" groups="[]" role="arn:aws:iam::111122223333:role/XXXXXXXXXXXXXXXXXX-NodeManagerRole-XXXXXXXX" username="eks:node-manager"

이 텍스트가 포함된 항목은 정상적인 거예요. username은 관리형 노드 그룹과 Fargate를 위해 특정 작업을 수행하는 Amazon EKS 내부 서비스 역할이에요.

저수준의 맞춤형 로깅이 필요하다면 Kubernetes 로깅을 사용할 수 있어요.

Amazon EKS는 사용자, 역할 또는 AWS 서비스가 Amazon EKS에서 수행한 작업의 기록을 제공하는 서비스인 AWS CloudTrail과 통합되어 있어요. CloudTrail은 Amazon EKS에 대한 모든 API 호출을 이벤트로 캡처해요. 캡처되는 호출에는 Amazon EKS 콘솔 호출과 Amazon EKS API 작업에 대한 코드 호출이 포함돼요. 자세한 내용은 API 호출을 AWS CloudTrail 이벤트로 로깅하기를 참고하세요.

Kubernetes API 서버는 모니터링과 분석에 유용한 여러 지표를 노출해요. 자세한 내용은 Prometheus로 클러스터 지표 모니터링하기를 참고하세요.

사용자 지정 Amazon CloudWatch 로그용 Fluent Bit를 구성하려면 Amazon CloudWatch 사용자 가이드의 Setting up Fluent Bit를 참고하세요.

Amazon EKS 모니터링 및 로깅 도구

Amazon Web Services는 Amazon EKS를 모니터링하는 데 사용할 수 있는 다양한 도구를 제공해요. 일부 도구는 자동 모니터링으로 구성할 수 있지만 일부는 수동 호출이 필요해요. 환경과 기존 도구 세트가 허용하는 만큼 모니터링 작업을 자동화할 것을 권장해요.

다음 표는 다양한 모니터링 도구 옵션을 설명해요.

영역 도구 설명 설정
컨트롤 플레인 Observability dashboard 지원 버전에서 observability dashboard는 클러스터 성능에 대한 가시성을 제공하고 문제를 빠르게 감지·해결·복구하도록 도와줘요. 설정 절차
애플리케이션 / 컨트롤 플레인 Prometheus Prometheus는 애플리케이션과 컨트롤 플레인의 지표와 알림을 모니터링하는 데 사용할 수 있어요. 설정 절차
애플리케이션 CloudWatch Container Insights CloudWatch Container Insights는 컨테이너화된 애플리케이션과 마이크로서비스의 지표와 로그를 수집·집계·요약해요. 설정 절차
애플리케이션 AWS Distro for OpenTelemetry (ADOT) ADOT은 상관관계가 있는 지표, 트레이스 데이터, 메타데이터를 AWS 모니터링 서비스나 파트너로 수집·전송할 수 있어요. CloudWatch Container Insights를 통해 설정할 수 있어요. 설정 절차
애플리케이션 Amazon DevOps Guru Amazon DevOps Guru는 노드 수준의 운영 성능과 가용성을 감지해요. 설정 절차
애플리케이션 AWS X-Ray AWS X-Ray는 애플리케이션에 대한 트레이스 데이터를 받아요. 이 트레이스 데이터에는 들어오고 나가는 요청과 요청에 대한 메타데이터가 포함돼요. Amazon EKS에서는 OpenTelemetry 애드온이 필요해요. 설정 절차
애플리케이션 Amazon CloudWatch CloudWatch는 지원 버전에서 몇 가지 기본 Amazon EKS 지표를 무료로 제공해요. CloudWatch Observability Operator로 지표·로그·트레이스 데이터 수집을 처리하도록 이 기능을 확장할 수 있어요. 설정 절차

다음 표는 다양한 로깅 도구 옵션을 설명해요.

영역 도구 설명 설정
컨트롤 플레인 Observability dashboard 지원 버전에서 observability dashboard는 컨트롤 플레인 감사 로그를 기반으로 한 목록을 보여줘요. Amazon CloudWatch의 컨트롤 플레인 로그 링크도 포함해요. 설정 절차
애플리케이션 Amazon CloudWatch Container Insights Amazon CloudWatch Container Insights는 컨테이너화된 애플리케이션과 마이크로서비스의 지표와 로그를 수집·집계·요약해요. 설정 절차
컨트롤 플레인 Amazon CloudWatch Logs Amazon EKS 컨트롤 플레인에서 계정의 CloudWatch Logs로 감사 및 진단 로그를 직접 보낼 수 있어요. 설정 절차
컨트롤 플레인 AWS CloudTrail 사용자, 역할 또는 서비스가 수행한 API 호출을 기록해요. 설정 절차
AWS Fargate 인스턴스의 여러 영역 AWS Fargate log router AWS Fargate 인스턴스의 경우 로그 라우터가 로그를 AWS 서비스나 파트너 도구로 스트리밍해요. AWS for Fluent Bit를 사용해요. 로그는 다른 AWS 서비스나 파트너 도구로 스트리밍할 수 있어요. 설정 절차

더 알아보기 (Learn more)