- docker가 기본적으로 설치되어있어야함
- docker 설치는 다른 페이지에서 참고
1. 프로메테우스 적용 yaml 파일 → 모니터링할 목록 정의
# 프로메테우스 yaml파일을 관리한 디렉토리 생성
$ mkdir /etc/prometheus
# prometheus.yml 파일 내용 정의
$ vi /etc/prometheus/prometheus.yml
global:
scrape_interval: 15s
scrape_timeout: 10s
evaluation_interval: 15s
external_labels:
monitor: legacy
scrape_configs:
- job_name: 'prometheus'
static_configs:
- targets:
- [서버 IP]:9090
2. 프로메테우스 인스턴스 시작
# 영구 볼륨(Persistent volumes)을 준비
$ mkdir -p /data/prometheus_data/
# 프로메테우스 인스턴스 배포
$ docker run -d --net=host --rm \
-v /etc/prometheus:/etc/prometheus \
-v /data/prometheus_data:/prometheus \
-u root \
--name prometheus\
quay.io/prometheus/prometheus:v2.33.0 \
--config.file=/etc/prometheus/prometheus.yml \
--storage.tsdb.path=/prometheus \
--storage.tsdb.retention=365d \
--storage.tsdb.max-block-duration=1d \
--storage.tsdb.min-block-duration=1d \
--web.listen-address=:9090 \
--web.enable-lifecycle \
--web.enable-admin-api
3. 프로메테우스 배포 확인
4. docker로 설치한 Prometheus의 관리 스크립트 내용
4.1. Prometheus.yml 파일 수정 후 Prometheus의 yaml 파일 내용 적용
```
$ source /etc/prometheus/cmd/Restart_Prometheus.sh
# 코드 내용
#! /bin/bash
container_id=`docker ps -a | grep -i prometheus | awk -F ' ' '{print $1}'`
docker restart $container_id
```
4.2. prometheus의 로그 삭제
```
$ source /etc/prometheus/cmd/Log_Clear.sh
# 코드 내용
#! /bin/bash
container_id=`docker ps -a | grep -i prometheus | awk -F ' ' '{print $1}'`
Log_file=$(docker inspect --format='{{.LogPath}}' "$container_id")
log_file_volume=`ls -al $Log_file | awk -F ' ' '{print $5}'`
if [[ $log_file_volume == 0 ]]; then
echo "Log File is alrealy zero"
else
truncate -s 0 $Log_file
echo "Prometheus Log Clear"
fi
```
4.3. prometheus의 로그 보기
```
$ source /etc/prometheus/cmd/View_Log.sh
# 코드 내용
#! /bin/bash
container_id=`docker ps -a | grep -i prometheus | awk -F ' ' '{print $1}'`
docker logs -f $container_id
```