다른 가용영역에 놓으려고 했는데
모니터링 도구인만큼 15초에 한번씩 로그 삮다 긁어옴 → 비용발생
다른 AZ면 통신에만 돈이든다고함..
목표는:
t3.small, Amazon Linux 2 or Ubuntu9292, Grafana 3000/prometheus에 마운트WSL을 통해서 우분투 설치해둔게 있다.
윈도우영역에서는 chmod가 안먹혀서 복사해와서 이것저것 해준다.
#홈 디렉토리로 복사
cp /mnt/윈도우에있는 경로(드라이브 이름부터 치면댐)/cs25-monitoring.pem ~/
# 권한 재설정
chmod 400 ~/cs25-monitoring.pem
# 접속 시도
ssh -i ~/cs25-monitoring.pem ec2-user@퍼블릭ip
ubuntu)를 docker 그룹에 추가sudo usermod -aG docker $USER
exec sudo su -l $USER
~/monitoring 디렉토리 만들고prometheus.yml + docker-compose.yml 설정docker-compose up -d 실행한꺼번에 하는 스크립트
nano setup-monitoring.sh 이걸로 열어주고
#!/bin/bash
# 1. 시스템 업데이트
sudo yum update -y 2>/dev/null || sudo apt update -y
# 2. Docker 설치
if ! command -v docker &> /dev/null; then
echo "[+] Installing Docker..."
sudo yum install -y docker 2>/dev/null || sudo apt install -y docker.io
sudo systemctl start docker
sudo systemctl enable docker
sudo usermod -aG docker $USER
fi
# 3. Docker Compose 설치
if ! command -v docker-compose &> /dev/null; then
echo "[+] Installing Docker Compose..."
sudo curl -L "https://github.com/docker/compose/releases/latest/download/docker-compose-$(uname -s)-$(uname -m)" \
-o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
fi
# 4. 디렉토리 및 설정 파일 생성
mkdir -p ~/monitoring/prometheus_data
cd ~/monitoring
# 4-1. Prometheus 설정 파일
cat <<EOF > prometheus.yml
global:
scrape_interval: 30s
scrape_configs:
- job_name: 'self'
static_configs:
- targets: ['localhost:9292']
EOF
# 4-2. docker-compose 설정
cat <<EOF > docker-compose.yml
version: '3'
services:
prometheus:
image: prom/prometheus
container_name: prometheus
ports:
- "9292:9090"
volumes:
- ./prometheus.yml:/etc/prometheus/prometheus.yml
- prometheus_data:/prometheus
command:
- '--config.file=/etc/prometheus/prometheus.yml'
- '--storage.tsdb.path=/prometheus'
- '--web.listen-address=:9090'
- '--storage.tsdb.retention.time=7d'
grafana:
image: grafana/grafana
container_name: grafana
ports:
- "3000:3000"
volumes:
- grafana_data:/var/lib/grafana
volumes:
prometheus_data:
grafana_data:
EOF
# 5. 컨테이너 실행
docker-compose up -d
붙여넣기 후 컨+o ⇒ 엔터 ⇒ 컨+x
그다 ㅁ실행
chmod +x setup-monitoring.sh
./setup-monitoring.sh
cd ~/monitoring
docker-compose up -d
docker ps 갈겨보면

잘 떠있다.
node_exporter 설치wget https://github.com/prometheus/node_exporter/releases/download/v1.8.1/node_exporter-1.8.1.linux-amd64.tar.gz
tar -xvf node_exporter-*.tar.gz
cd node_exporter-1.8.1.linux-amd64
./node_exporter &
./node_exporter & 를 해주면 백그라운드로 계속 돌아간다.

이거하고 docker restart prometheus 해주ㅑ야함
그럼 http://인스턴스ip:9292/target 갓을때 타깃들 상태가 보일것이다

배치쪽은 ec2가 작은데 젠킨스 올려놔서그런가 터질거같아서 일단 보류..
그라파나에 프로메테우스 설정해주는건 로컬이랑 똑같은방식이다
대시보드 아이디는 “1860”

[Prometheus] + [Alertmanager] → [Slack or Discord Webhook]
이런형식으로 보내김
docker run -d \
--name alertmanager \
-p 9093:9093 \
-v /home/ubuntu/monitoring/alertmanager:/etc/alertmanager \
prom/alertmanager
services:
prometheus:
...
volumes:
- ./prometheus.yml:/etc/prometheus/prometheus.yml
- ./rules.yml:/etc/prometheus/rules.yml # ← 이거 확인!
groups:
- name: instance-alert
rules:
- alert: HighCPUUsage
expr: (100 - (avg by (instance) (rate(node_cpu_seconds_total{mode="idle"}[2m])) * 100)) > 80
for: 1m
labels:
severity: warning
annotations:
summary: "High CPU usage on {{ $labels.instance }}"
description: "CPU usage is above 80% (current value: {{ $value }}%)"
rule_files:
- "rules.yml"
붙여쥬김
docker-compose down
docker-compose up -d
http://ip주소:설정한프로메테우스포트/alerts 가면 이제 알림 목록이 나온다.

수료까지 고생하셨습니다!
5조 너무 잘만들어서 영감 많이 받았어요