[모니터링툴] prometheus 설치 한타에 해결하기

 

  • AWS - Linux EC2 사용시 prometheus 설치 한번에 하는 스크립트 

#!/bin/bash

# 변수 설정
PROMETHEUS_VERSION="2.53.3"

# 사용자 생성 (존재하는지 확인 후 생성)
id -u prometheus &>/dev/null || sudo useradd --no-create-home --shell /bin/false prometheus

# 디렉토리 생성
sudo mkdir -p /etc/prometheus /var/lib/prometheus

# 권한 설정
sudo chown prometheus:prometheus /etc/prometheus /var/lib/prometheus

# 다운로드
sudo wget -q \
  https://github.com/prometheus/prometheus/releases/download/v${PROMETHEUS_VERSION}/prometheus-${PROMETHEUS_VERSION}.linux-amd64.tar.gz

# 압축 해제
sudo tar -xzf prometheus-${PROMETHEUS_VERSION}.linux-amd64.tar.gz

# 이름 변경
sudo mv prometheus-${PROMETHEUS_VERSION}.linux-amd64 prometheus

# 실행 파일 이동
sudo cp prometheus/prometheus /usr/local/bin/
sudo cp prometheus/promtool /usr/local/bin/

# 설정 파일 생성
sudo tee /etc/prometheus/prometheus.yml > /dev/null <<EOF
global:
  scrape_interval: 15s
scrape_configs:
  - job_name: 'prometheus'
    static_configs:
      - targets: ['localhost:9090']
  - job_name: 'node_exporter'
    static_configs:
      - targets: ['localhost:9100']
EOF

# 설정 파일 권한 설정
sudo chown prometheus:prometheus /etc/prometheus/prometheus.yml

# Prometheus 서비스 파일 생성
sudo tee /etc/systemd/system/prometheus.service > /dev/null <<EOF
[Unit]
Description=Prometheus
Wants=network-online.target
After=network-online.target

[Service]
User=prometheus
Group=prometheus
Type=simple
ExecStart=/usr/local/bin/prometheus \\
  --config.file=/etc/prometheus/prometheus.yml \\
  --storage.tsdb.path=/var/lib/prometheus/ \\
  --web.console.templates=/etc/prometheus/consoles \\
  --web.console.libraries=/etc/prometheus/console_libraries

[Install]
WantedBy=multi-user.target
EOF

# 서비스 리로드 및 시작
sudo systemctl daemon-reload
sudo systemctl enable --now prometheus

# 상태 확인
sudo systemctl status prometheus --no-pager

 

 

설치 끝나고 actvie (running)으로 뜨면 성공