Prometheus 설치 방식 개요
Prometheus는 크게 두 가지 방식으로 배포할 수 있습니다. 시스템 환경에 맞춰 적절한 방법을 선택합니다.
- 바이너리 배포: 리눅스 서버에 실행 파일을 직접 내려받아 실행하는 방식으로, 커스터마이징과 시스템 자원 접근이 용이합니다.
- 컨테이너 배포: Docker나 Kubernetes 환경에서 이미지를 사용하여 격리된 환경으로 실행합니다.
바이너리 파일 다운로드 및 압축 해제
공식 다운로드 페이지에서 리눅스용 바이너리 패키지를 내려받습니다. 본 가이드에서는 /usr/local/prometheus 경로를 기준으로 설명합니다.
# 패키지 다운로드 (버전은 환경에 맞춰 수정 가능)
wget https://github.com/prometheus/prometheus/releases/download/v2.45.0/prometheus-2.45.0.linux-amd64.tar.gz
# 압축 해제 및 디렉터리 이동
tar -xvf prometheus-2.45.0.linux-amd64.tar.gz
mv prometheus-2.45.0.linux-amd64 /usr/local/prometheus
cd /usr/local/prometheus
주요 디렉터리 구조 및 파일 확인
압축을 해제하면 다음과 같은 주요 파일들을 확인할 수 있습니다.
prometheus: 실제 모니터링 시스템을 구동하는 실행 바이너리promtool: 구성 파일의 유효성을 검사하는 도구prometheus.yml: 수집 대상 및 주기 등을 설정하는 기본 환경 설정 파일consoles/,console_libraries/: 웹 UI용 템플릿 파일
실행 옵션 및 파라미터 상세
Prometheus 구동 시 자주 사용하는 주요 파라미터는 다음과 같습니다.
./prometheus --help
# 주요 옵션 설명:
# --config.file="prometheus.yml" # 설정 파일 경로 지정
# --web.listen-address="0.0.0.0:9090" # 서비스 포트 설정 (기본값 9090)
# --storage.tsdb.path="data/" # 데이터 저장 경로
# --storage.tsdb.retention.time=15d # 데이터 보관 기간 설정
# --log.level=info # 로그 출력 레벨
Systemd 서비스 등록 및 자동 실행 설정
운영 환경에서는 서버 재부팅 시 자동 실행되도록 systemd 서비스로 관리하는 것이 권장됩니다.
# 서비스 파일 생성
vi /etc/systemd/system/prometheus.service
# 서비스 파일 내용 작성
[Unit]
Description=Prometheus Monitoring System
After=network.target
[Service]
User=root
WorkingDirectory=/usr/local/prometheus
ExecStart=/usr/local/prometheus/prometheus \
--config.file=/usr/local/prometheus/prometheus.yml \
--storage.tsdb.path=/usr/local/prometheus/data
ExecReload=/bin/kill -HUP $MAINPID
Restart=on-failure
[Install]
WantedBy=multi-user.target
작성을 마친 후 다음 명령어를 통해 서비스를 활성화하고 실행 상태를 확인합니다.
# 설정 반영 및 서비스 시작
systemctl daemon-reload
systemctl enable --now prometheus
# 상태 확인 및 포트 점검
systemctl status prometheus
netstat -tulpn | grep 9090
정상적으로 실행되었다면 브라우저를 통해 http://서버IP:9090에 접속하여 관리 대시보드를 확인할 수 있습니다.