ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • aws grafana, prometheus 구성_2
    카테고리 없음 2025. 5. 22. 14:48

    모니터링 서버

     

    https://github.com/prometheus/cloudwatch_exporter

     

    GitHub - prometheus/cloudwatch_exporter: Metrics exporter for Amazon AWS CloudWatch

    Metrics exporter for Amazon AWS CloudWatch. Contribute to prometheus/cloudwatch_exporter development by creating an account on GitHub.

    github.com

    여기서 받아온 파일에서 약간 수정

     

    cd /home/ec2-user/a_account_ec2

    vi Dockerfile

    FROM eclipse-temurin:21-jdk-noble as builder
    
    SHELL ["/bin/bash", "-xe", "-o", "pipefail", "-c"]
    
    ARG MAVEN_VERSION=3.8.5
    ARG MAVEN_SHA512=89ab8ece99292476447ef6a6800d9842bbb60787b9b8a45c103aa61d2f205a971d8c3ddfb8b03e514455b4173602bd015e82958c0b3ddc1728a57126f773c743
    
    ADD https://archive.apache.org/dist/maven/maven-3/${MAVEN_VERSION}/binaries/apache-maven-${MAVEN_VERSION}-bin.tar.gz /opt/maven.tar.gz
    RUN mkdir -p /opt/maven \
     && echo "${MAVEN_SHA512}  /opt/maven.tar.gz" | sha512sum -c \
     && tar -x --strip-components=1 -C /opt/maven -f /opt/maven.tar.gz
    ENV PATH /opt/maven/bin:${PATH}
    
    WORKDIR /cloudwatch_exporter
    COPY . /cloudwatch_exporter
    
    RUN mvn package \
     && mv target/cloudwatch_exporter-*-with-dependencies.jar /cloudwatch_exporter.jar
    
    FROM eclipse-temurin:21-jre-noble as runner
    LABEL maintainer="The Prometheus Authors <prometheus-developers@googlegroups.com>"
    EXPOSE 9106
    
    WORKDIR /
    RUN mkdir /config
    ADD config.yml /config/
    COPY --from=builder /cloudwatch_exporter.jar /cloudwatch_exporter.jar
    ENTRYPOINT [ "java", "-jar", "/cloudwatch_exporter.jar", "9106"]
    CMD ["/config/config.yml"]
    RUN apt-get update -y
    RUN apt-get install vim -y

     

    도커 설치

    sudo yum install docker -y
    sudo usermod -aG docker ec2-user

     

    exit 후 재접속

     

    cd /home/ec2-user/a_account_ec2

    docker build -t a_acount_ec2:v1 .
    
    docker images
    를 통해 image 생성 여부 확인
    
    a_acount_ec2   latest    7c408933a89a   22 seconds ago   420MB
    
    docker run -d -p 9106:9106 --name a_acount_ec2 a_acount_ec2:v1
    
    docker ps -a
    정상 구동 확인
    
    
    AWS 작업
    콘솔 - 모니터링 서버 우클릭 - 보안 - 보안 그룹 변경 - 9106 포트 열기
    
    크롬에서
    모니터링 서버 ip:9106

     

     

    이렇게 나오면 정상.

     

    프로메테우스 구성

    mkdir prometheus
    cd prometheus/
    vi Dockerfile
    
    FROM prom/prometheus as prom
    
    WORKDIR /etc/prometheus
    # copy the Prometheus configuration file
    COPY ./ /etc/prometheus/
    
    # set environment variables
    
    # expose the Prometheus server port
    EXPOSE 9090
    
    # set the entrypoint command
    ENTRYPOINT [ "prometheus", \
                 "--config.file=/etc/prometheus/prometheus.yml", \
                 "--storage.tsdb.path=/prometheus", \
                 "--storage.tsdb.retention.time=365d"]

     

    작성 후

    promethues.yml 

    vi prometheus.yml
    
    ==========================================================================================
    
    global:
      scrape_interval: 1m
      evaluation_interval: 1m
    
    scrape_configs:
      - job_name: 'a_acount_ec2'
        static_configs:
          - targets: ['컨테이너 IP!!!!!:9106']
        metric_relabel_configs:
          - source_labels: [tag_Name]
            target_label: instance_name
    
    ==========================================================================================
    
    컨테이너 ip 확인 : docker inspect a_acount_ec2 | grep IPAddress
    
    
    docker build -t prometheus:v1 .
    docker run -d -p 9090:9090 --name prometheus prometheus:v1
    
    docker ps 로 정상 구동 확인
    
    
    AWS 작업
    콘솔 - 모니터링 서버 우클릭 - 보안 - 보안 그룹 변경 - 9090 포트 열기
    
    크롬에서
    모니터링 서버 ip:9090

     

    아래 이미지처럼 위 prometheus.yml 에서 설정한 a_acount_ec2 로 job 이 뜨면 정상

     

     

Designed by Tistory.