-
Notifications
You must be signed in to change notification settings - Fork 0
Description
본 문서는 Prometheus, Grafana에 관한 문서입니다.
연구실 서버 클러스터에는 프로메테우스와 그라파나가 설치되어 있습니다.
구성현황 및 설치과정과 설정들의 위치에 대해 기록합니다.
구성
스토리지 서버
Prometheus 제공(210.94.223.123:8089->192.168.1.20:9090)
Prometheus 는 /etc/systemd/system/prometheus.service 에 서비스 등록내용이 기재되어 있다.
또한 설정파일은 /etc/prometheus/prometheus.yml 에 기재되어 있다.
해당 파일에서 어떤 서버의 node_exporter 를 끌어올지 기재되어 있다.
따라서 node_exporter를 제공하는 서버를 추가하려면, 여기에서 추가해주자
Grafana 제공(210.94.223.123:7079->192.168.1.20:3000)
Server(1~7)
- node_exporter 제공(192.168.1.1(1~7):9100)
스토리지 서버의 Prometheus에서 각 서버의 192.168.1.1x:9100 에서 metric 을 가져와서 grafana에서 보여주는 형식
각 서버는 node_exporter를 제공하기 위한 리눅스 유저인 node_exporter 유저가 있고
node_exporter 는 해당 유저의 권한으로 실행되고 있다.
dcgm_exporter 제공(192.168.1.1(1~7):9100)
GPU metric을 수집하기 위해서, 각 서버에 dcgm_exporter 를 적용하였음.
로컬에 직접 설치하지 않고, docker container를 활용하여 간단하게 제공한다.
$ sudo systemctl (start|stop|status) node_exporter 명령어를 사용하여 제어할 수 있으며
node_exporter 서비스 등록파일은 /etc/systemd/system/node_exporter.service 에 존재한다
알림(alert)
현재 PoC는 완료되었고, 조금 더 자세한 설정이 필요함
연구실용 Slack workspace를 따로 만들었으며(2021.06.17) 전파예정
Grafana에서 특정 수치(온도, Disk 잔여량)이 비정상일 경우 Slack에 알림을 보낼수있도록 구성할 예정임
구현과정
해당 구현과정은 어떠한 버전의 node_exporter 를 사용하였는지 보여주고
어떠한 절차로 구성되었는지 기록하는 용도이다. 1-7 번 서버 모두 아래와 같은 방식으로 설치하였다
cd /home/prometheus/
sudo wget https://github.com/prometheus/node_exporter/releases/download/v0.18.1/node_exporter-0.18.1.linux-amd64.tar.gz
sudo tar -xvf node_exporter-0.18.1.linux-amd64.tar.gz
sudo mv node_exporter-0.18.1.linux-amd64/node_exporter /usr/local/bin/
sudo useradd --no-create-home --shell /bin/false node_exporter
sudo vim /etc/systemd/system/node_exporter.service
# 아래의 내용을 vim 편집기에 입력
[Unit]
Description=Node Exporter
After=network.target
[Service]
User=node_exporter
Group=node_exporter
Type=simple
ExecStart=/usr/local/bin/node_exporter
[Install]
WantedBy=multi-user.target
sudo systemctl start node_exporter
# dcgm_exporter 컨테이너 생성
sudo docker run -d --gpus all --rm -p 9400:9400 nvcr.io/nvidia/k8s/dcgm-exporter:2.0.13-2.1.2-ubuntu18.04작업로그
2021.06.21
- /etc/systemd/system/prometheus.service 에서 --storage.tsdb.path를 /294t/prometheus 로 수정함으로써
스토리지 서버에 프로메테우스 데이터 저장위치를 /294t/prometheus 로 수정하였음 - Grafana에 GPU 대시보드를 생성하고 수정하여서 각 서버별 GPU의 온도 및 로드를 보여주도록 제공