ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • aws grafana, prometheus 구성_4
    AWS 2025. 5. 26. 11:45

    이번에는 ec2 여러 대를 모니터링 하기 위해 수정

     

    신규 서버 : ec2 생성 → cloudwatch agent 설치, IAM role 적용

    모니터링 서버 : a_acount_ec2 컨테이너 수정 → prometheus 수정 → grafana 수정

     

    cloudwatch agent 설치와 IAM role 적용이 완료되면

    콘솔 - cloudwatch - 지표 - 모든 지표에서 instance id 로 검색 시 아래처럼 나오면 완료.

     

    서버 name tag : abcd-1

    cloudwatch exporter 의 config.yml 변경
    
    $ docker exec -it a_acount_ec2 /bin/sh
    $ vi config/config.yml
    
    region: us-west-2
    role_arn: arn:aws:iam::account_id:role/cloudwatch_exporter_role
    
    # 수집 항목
    metrics:
    - aws_dimensions:
      - InstanceId
    
      # CPU 수집
      aws_metric_name: CPUUtilization
    
      # AWS 자체에서 수집하는 namespace
      aws_namespace: AWS/EC2
    
      # 평균값 / max/min 가능
      aws_statistics:
      - Average
      aws_tag_select:
        resource_type_selection: ec2:instance
        resource_id_dimension: InstanceId
        tag_selections:
        # 해당 name 과 동일한 tag 를 가진 ec2 의 정보 수집
        # "abcd-1" 추가
          Name: ["test-1","abcd-1"]
          
            ##### mem #####
    - aws_dimensions:
      - InstanceId
      aws_metric_name: mem_used_percent
      aws_namespace: CWAgent
      aws_statistics:
      - Average
      aws_tag_select:
        resource_type_selection: ec2:instance
        resource_id_dimension: InstanceId
        tag_selections:
       # "abcd-1" 추가
           Name: ["test-1","abcd-1"]
    
      ##### disk #####
    - aws_dimensions: [InstanceId,path,device,fstype]
      aws_dimension_select:
        path: ['/']
      aws_metric_name: disk_used_percent
      aws_namespace: CWAgent
      aws_statistics:
      - Average
      aws_tag_select:
        resource_type_selection: ec2:instance
        resource_id_dimension: InstanceId
        tag_selections:
      # "abcd-1" 추가
          Name: ["test-1","abcd-1"]

     

    저장 후 exit

    여기서 !!!!!

    1. 컨테이너에 직접 접속해서 변경 (변경 후 다시 이미지화)

    2. /home/ec2-user/a_acount_ec2/config.yml 을 변경해서 이미지 후 새로 컨테이너를 올린다.

    docker restart a_acount_ec2

     

    웹 prometheus 로 이동

     

    쿼리 입력

    aws_ec2_cpuutilization_average

     

    이미지처럼 EC2 1대가 더 뜨면 안료.

     

    grafana 로 이동

    aws_ec2_cpuutilization_average * on(instance_id) group_left(instance_name, tag_Name) (
      max by (instance_id, instance_name, tag_Name) (aws_resource_info{instance_name=~"(test|abcd).*"})
    )
    # | abcd 추가

     

    이렇게 신규 EC2 를 추가해서 모니터링을 할 수 있다.

    'AWS' 카테고리의 다른 글

    aws grafana, prometheus 구성_6  (1) 2025.05.26
    aws grafana, prometheus 구성_5  (0) 2025.05.26
    aws grafana, prometheus 구성_3  (0) 2025.05.22
    aws grafana, prometheus 구성_2  (0) 2025.05.22
    aws grafana, prometheus 구성_1  (0) 2025.05.22
Designed by Tistory.