Prometheus & Grafana 연동하기

devyu·2024년 8월 21일
0

AWS

목록 보기
2/4
post-thumbnail

안녕하세요, devyu입니다.

EC2 인스턴스에서 Prometheus와 Grafana를 Docker 컨테이너로 설치하고 연동하는 과정을 설명해보겠습니다.

1. Docker 및 Docker Compose 설치

먼저, Docker와 Docker Compose가 설치되지 않은 경우 설치해야 합니다.

# Docker 설치
sudo apt-get update
sudo apt-get install -y docker.io

# Docker Compose 설치
sudo curl -L "https://github.com/docker/compose/releases/download/$(curl -s https://api.github.com/repos/docker/compose/releases/latest | grep -Po '"tag_name": "\K.*\d')/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose

# Docker 서비스 시작 및 부팅 시 자동 시작 설정
sudo systemctl start docker
sudo systemctl enable docker

2. Prometheus 및 Node Exporter 설정

Prometheus와 Node Exporter를 위한 docker-compose.yml 파일을 작성합니다.

# 작업할 디렉토리 생성 및 이동
mkdir ~/prometheus-grafana
cd ~/prometheus-grafana

# docker-compose.yml 파일 작성
cat <<EOF > docker-compose.yml
version: '3'

services:
  prometheus:
    image: prom/prometheus
    container_name: prometheus
    volumes:
      - ./prometheus.yml:/etc/prometheus/prometheus.yml
    ports:
      - 9090:9090
    restart: always
  
  node-exporter:
    image: prom/node-exporter
    container_name: node-exporter
    ports:
      - 9100:9100
    restart: unless-stopped
EOF

3. Prometheus 설정 파일 작성

Prometheus 설정 파일을 작성합니다.

# prometheus.yml 파일 작성
cat <<EOF > prometheus.yml
global:
  scrape_interval: 10s
  evaluation_interval: 10s

scrape_configs:
  - job_name: 'prometheus_server'
    static_configs:
      - targets: ['prometheus:9090']
  
  - job_name: 'node-exporter'
    metrics_path: /metrics
    static_configs:
      - targets: ['node-exporter:9100']
EOF

4. Prometheus와 Node Exporter 컨테이너 시작

Docker Compose를 이용해 Prometheus와 Node Exporter를 시작합니다.

# Docker Compose로 컨테이너 시작
sudo docker-compose up -d

5. Grafana 설치

Grafana를 위한 docker-compose.yml 파일을 수정하여 추가합니다.

# Grafana 설치를 위한 docker-compose.yml 파일 수정
cat <<EOF >> docker-compose.yml

  grafana:
    image: grafana/grafana
    container_name: grafana
    volumes:
      - ./data:/var/lib/grafana
    ports:
      - 3000:3000
    restart: always
EOF

# data 디렉토리 생성 및 권한 설정
mkdir data
sudo chmod 777 data

# Grafana 컨테이너 시작
sudo docker-compose up -d grafana

6. Grafana 접속 및 Prometheus 연동

이제 웹 브라우저에서 http://<EC2-인스턴스-주소>:3000으로 접속하여 Grafana에 접근할 수 있습니다. 기본 로그인 정보는 admin / admin입니다.

Data Sources 설정

Home > Connections > Data Sources로 이동합니다.
Prometheus를 선택하고 URL에 http://prometheus:9090을 입력합니다.
Save & Test 버튼을 클릭해 연결 상태를 확인합니다.

Dashboard 생성

Home > Dashboards > Create Dashboard > Import Dashboard로 이동합니다.

공식 Grafana의 Dashboard를 가져오기 위해 1860을 입력하고 Load를 클릭합니다.
Prometheus data source를 연결하고 Dashboard를 생성합니다.

7. 설치 및 연동 확인

모든 설정이 완료되면 Grafana에서 Prometheus의 Metric 데이터를 시각화할 수 있는 대시보드가 나타납니다.

이상으로 EC2 인스턴스에서 Prometheus와 Grafana를 설치하고 연동하는 과정이 완료되었습니다.

rate(node_cpu_seconds_total{mode="system"}[10m])
profile
티스토리와 벨로그 사이 줄타기....

0개의 댓글