-
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 이 뜨면 정상