Prometheus
설치
패키지 업데이트
sudo apt update
Bash
복사
시스템 사용자 생성
sudo groupadd --system prometheus
sudo useradd -s /sbin/nologin --system -g prometheus prometheus
Bash
복사
Prometheus 설치를 위한 디렉토리 생성
sudo mkdir /etc/prometheus
sudo mkdir /var/lib/prometheus
Bash
복사
설치
cd /etc/prometheus
wget https://github.com/prometheus/prometheus/releases/download/v2.54.0/prometheus-2.54.0.linux-amd64.tar.gz
tar vxf prometheus-2.54.0.linux-amd64.tar.gz
cd prometheus-2.54.0.linux-amd64/
Bash
복사
구성
바이너리 파일 이동 및 소유자 설정
sudo mv prometheus /usr/local/bin
sudo mv promtool /usr/local/bin
sudo chown prometheus:prometheus /usr/local/bin/prometheus
sudo chown prometheus:prometheus /usr/local/bin/promtool
Bash
복사
구성 파일 이동 및 소유자 설정
sudo mv consoles /etc/prometheus
sudo mv console_libraries /etc/prometheus
sudo mv prometheus.yml /etc/prometheus
Bash
복사
sudo chown prometheus:prometheus /etc/prometheus
sudo chown -R prometheus:prometheus /etc/prometheus/consoles
sudo chown -R prometheus:prometheus /etc/prometheus/console_libraries
sudo chown -R prometheus:prometheus /var/lib/prometheus
Bash
복사
구성파일 수정
sudo vi /etc/prometheus/prometheus.yml
Bash
복사
서비스 생성
서비스 파일 생성
sudo vi /etc/systemd/system/prometheus.service
Bash
복사
아래 내용 작성
[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
Bash
복사
시스템 활성화 및 시작
sudo systemctl daemon-reload
sudo systemctl enable prometheus
sudo systemctl start prometheus
Bash
복사
상태 확인
sudo systemctl status prometheus
Bash
복사
웹에서 9090 포트로 접속
Grafana
설치
필수 패키지 설치
sudo apt-get install -y apt-transport-https software-properties-common wget
Bash
복사
GPG키 가져오기
wget -q -O - https://apt.grafana.com/gpg.key | gpg --dearmor | sudo tee /etc/apt/keyrings/grafana.gpg > /dev/null
curl -s https://apt.grafana.com/gpg.key | gpg --no-default-keyring --keyring /usr/share/keyrings/grafana.gpg --import && chmod 644 /usr/share/keyrings/grafana.gpg
Bash
복사
저장소 추가
echo "deb [signed-by=/etc/apt/keyrings/grafana.gpg] https://apt.grafana.com stable main" | sudo tee -a /etc/apt/sources.list.d/grafana.list
Bash
복사
패키지 업데이트
sudo apt-get update
Bash
복사
Grafana 설치
sudo apt-get install -y grafana=11.1.4
Bash
복사
시작
서비스 실행
sudo systemctl daemon-reload
sudo systemctl enable grafana-server
sudo systemctl start grafana-server
Bash
복사
서비스 상태 확인
sudo systemctl status grafana-server
Bash
복사
3000번 포트로 접근
Elasticsearch Exporter 설치
Prometueus 설정
prometheus.yml 수정
sudo vi /etc/prometheus/prometheus.yml
Bash
복사
•
scrape_configs 항목에 아래 내용 추가
scrape_configs:
- job_name: 'elasticsearch'
static_configs:
- targets: ['localhost:9114']
Bash
복사
prometheus 재시작
sudo systemctl restart prometheus
Bash
복사
익스포터
go 설치
wget https://go.dev/dl/go1.20.6.linux-amd64.tar.gz
sudo tar -C /usr/local -xzf go1.20.6.linux-amd64.tar.gz
export PATH=$PATH:/usr/local/go/bin
source ~/.profile
go version
Bash
복사
go 워크스페이스 설정
export GOPATH=$HOME/go
export PATH=$PATH:$GOPATH/bin
Bash
복사
git
git clone https://github.com/prometheus-community/elasticsearch_exporter.git
Bash
복사
빌드
sudo apt install make
cd elasticsearch_exporter
make build
Bash
복사
서비스 생성
sudo cp elasticsearch_exporter /usr/local/bin/
sudo vi /etc/systemd/system/elasticsearch_exporter.service
Bash
복사
아래 내용 작성
[Unit]
Description=Elasticsearch Exporter
Wants=network-online.target
After=network-online.target
[Service]
User=root
Group=root
ExecStart=/usr/local/bin/elasticsearch_exporter --es.uri=http://localhost:9200
Restart=on-failure
[Install]
WantedBy=multi-user.target
Bash
복사
서비스 활성화 및 시작
sudo systemctl daemon-reload
sudo systemctl enable elasticsearch_exporter
sudo systemctl start elasticsearch_exporter
Bash
복사
그라파나 대시보드 임포트
•
코드 : 2322
•
데이터 소스 : 프로메테우스
윈도우 익스포터
설치 (윈도우)
윈도우 익스포터 설치
•
windows_exporter-0.19.0-386.msi
확인
http://localhost:9182/metrics
Bash
복사
아래 내용 확인
prometheus.yml 수정
아래 내용 추가
scrape_configs:
- job_name: 'windows_exporter'
static_configs:
- targets: ['<expoter_IP>:9182']
Bash
복사
재시작
systemctl restart prometheus
Bash
복사
그라파나 대시보드 추가
데이터소스는 추가되어있다고 가정
•
코드 : 2129
대시보드 임포트
•
데이터소스 프로메테우스 지정
세팅 변경
•
Settings - JSON
내용 전부 notepad로 이동
•
단어 바꾸기
wmi_ 를 windows_ 로 전체 변경
확인
대시보드 확인
리눅스 익스포터
설치
익스포터 설치
wget https://github.com/prometheus/node_exporter/releases/download/v1.6.1/node_exporter-1.6.1.linux-amd64.tar.gz
tar xvfz node_exporter-1.6.1.linux-amd64.tar.gz
cd node_exporter-1.6.1.linux-amd64
Bash
복사
실행
./node_exporter &
Bash
복사
서비스로 등록
서비스 파일 작성
sudo vi /etc/systemd/system/node_exporter.service
Bash
복사
아래 내용 작성
[Unit]
Description=Node Exporter
Wants=network-online.target
After=network-online.target
[Service]
User=root
ExecStart=/root/node_exporter-1.6.1.linux-amd64/node_exporter
[Install]
WantedBy=default.target
Bash
복사
서비스 활성화 및 실행
sudo systemctl daemon-reload
sudo systemctl start node_exporter
sudo systemctl enable node_exporter
Bash
복사
프로메테우스 설정 (MON 서버)
prometheus.yml 수정
sudo vi /etc/prometheus/prometheus.yml
Bash
복사
아래 내용 추가
scrape_configs:
- job_name: 'node_exporter'
static_configs:
- targets: ['<웹 서버 IP>:9100']
Bash
복사
재시작
sudo systemctl restart prometheus
Bash
복사
대시보드 설정
대시보드 임포트
•
ID : 1860
Node Exporter 상태 확인
http://<모니터링 서버 IP>:9090/targets 접속