Prometheus 지표를 WorkSpace에 수집 - Amazon Managed Service for Prometheus

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

Prometheus 지표를 WorkSpace에 수집

지표를 수집하는 한 가지 방법은 독립형 Prometheus 에이전트(에이전트 모드에서 실행되는 Prometheus 인스턴스)를 사용하여 클러스터에서 지표를 스크래핑한 후 이를 Amazon Managed Service for Prometheus로 전달하여 저장 및 모니터링하도록 하는 것입니다. 이 섹션에서는 Helm을 사용하여 Prometheus 에이전트의 새 인스턴스를 설정하여 Amazon EKS에서 Amazon Managed Service for Prometheus WorkSpace로 지표를 수집하는 방법을 설명합니다.

지표를 보호하고 고가용성 지표를 생성하는 방법을 포함하여 Amazon Managed Service for Prometheus로 데이터를 수집하는 다른 방법에 대한 자세한 내용은 Prometheus용 Amazon 매니지드 서비스 워크스페이스에 지표 수집 섹션을 참조하세요.

참고

작업 공간에 수집된 지표는 기본적으로 150일 동안 저장되며 이후 자동으로 삭제됩니다. 이 길이는 조정 가능한 할당량입니다.

이 섹션의 지침을 통해 Amazon Managed Service for Prometheus를 빠르게 시작하고 실행할 수 있습니다. 작업 영역을 이미 생성했다고 가정합니다. 이 섹션에서는 Amazon EKS 클러스터에 새 Prometheus 서버를 설정하고, 새 서버는 기본 구성을 사용하여 Prometheus용 Amazon Managed Service에 지표를 전송하는 에이전트 역할을 합니다. 이 방법의 사전 조건은 다음과 같습니다.

  • 새 Prometheus 서버가 지표를 수집할 Amazon EKS 클러스터가 있어야 합니다.

  • Amazon EKS 클러스터에는 Amazon EBS CSI 드라이버 (헬름 필요) 가 설치되어 있어야 합니다.

  • 헬름 CLI 3.0 이상을 사용해야 합니다.

  • 다음 섹션의 단계를 수행하려면 Linux 또는 macOS 컴퓨터를 사용해야 합니다.

1단계: 새 차트 Helm 리포지토리 추가

새 차트 Helm 리포지토리를 추가하려면 다음 명령을 입력합니다. 이러한 명령에 대한 자세한 내용은 Helm 리포지토리를 참조하세요.

helm repo add prometheus-community https://prometheus-community.github.io/helm-charts helm repo add kube-state-metrics https://kubernetes.github.io/kube-state-metrics helm repo update

2단계: Prometheus 네임스페이스 생성

다음 명령을 입력하여 Prometheus 서버 및 기타 모니터링 구성 요소에 대한 Prometheus 네임스페이스를 생성합니다. 이 네임스페이스에 사용할 prometheus-agent-namespace이름으로 바꾸십시오.

kubectl create namespace prometheus-agent-namespace

3단계: 서비스 계정의 IAM 역할 설정

이 수집 방법에서는 Prometheus 에이전트가 실행되는 Amazon EKS 클러스터의 서비스 계정에 대한 IAM 역할을 사용해야 합니다.

서비스 계정에 대한 IAM 역할을 사용할 경우 IAM 역할을 Kubernetes 서비스 계정에 연결할 수 있습니다. 이렇게 하면 이 서비스 계정에서는 이 서비스 계정을 사용하는 모든 포드에 있는 컨테이너에 AWS 권한을 제공할 수 있습니다. 자세한 내용은 서비스 계정에 대한 IAM 역할을 참조하세요.

이러한 역할을 아직 설정하지 않은 경우 Amazon EKS 클러스터의 지표 수집을 위한 서비스 역할 설정의 지침에 따라 역할을 설정하세요. 해당 섹션의 지침에는 eksctl을 사용해야 합니다. 자세한 내용은 Amazon Elastic Kubernetes Service 시작 - eksctl을 참조하세요.

참고

EKS를 사용하지 않거나 AWS 액세스 키와 비밀 키만 사용하여 Prometheus용 Amazon Managed Service에 액세스하는 경우에는 기반 SigV4를 사용할 수 없습니다. EKS-IAM-ROLE

4단계: 새 서버 설정 및 지표 수집 시작

Amazon Managed Service for Prometheus WorkSpace로 지표를 전송하는 새 Prometheus 에이전트를 설치하려면 다음 단계를 따르세요.

새 Prometheus 에이전트를 설치하여 Amazon Managed Service for Prometheus WorkSpace로 지표를 보내려면
  1. 텍스트 편집기를 사용하여 다음 내용을 포함하는 my_prometheus_values_yaml이라는 파일을 생성합니다.

    • IAM_PROXY_PROMETHEUS_ROLE_ARN을 에서 생성한 ARN으로 바꾸십시오. amp-iamproxy-ingest-roleAmazon EKS 클러스터의 지표 수집을 위한 서비스 역할 설정

    • WORKSPACE_ID를 Amazon Managed Service for Prometheus 워크스페이스의 ID로 바꿉니다.

    • REGION을 Amazon Managed Service for Prometheus 워크스페이스의 리전으로 바꿉니다.

    ## The following is a set of default values for prometheus server helm chart which enable remoteWrite to AMP ## For the rest of prometheus helm chart values see: https://github.com/prometheus-community/helm-charts/blob/main/charts/prometheus/values.yaml ## serviceAccounts: server: name: amp-iamproxy-ingest-service-account annotations: eks.amazonaws.com/role-arn: ${IAM_PROXY_PROMETHEUS_ROLE_ARN} server: remoteWrite: - url: https://aps-workspaces.${REGION}.amazonaws.com/workspaces/${WORKSPACE_ID}/api/v1/remote_write sigv4: region: ${REGION} queue_config: max_samples_per_send: 1000 max_shards: 200 capacity: 2500
  2. 다음 명령을 입력하여 Prometheus 서버를 생성합니다.

    • Prometheus 출시 prometheus-chart-name이름으로 바꾸십시오.

    • Prometheus 네임스페이스의 prometheus-agent-namespace이름으로 바꾸십시오.

    helm install prometheus-chart-name prometheus-community/prometheus -n prometheus-agent-namespace \ -f my_prometheus_values_yaml