Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Prometheus 통합문서] #6

Open
4whomtbts opened this issue Jun 16, 2021 · 0 comments
Open

[Prometheus 통합문서] #6

4whomtbts opened this issue Jun 16, 2021 · 0 comments
Assignees

Comments

@4whomtbts
Copy link
Contributor

4whomtbts commented Jun 16, 2021

본 문서는 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의 온도 및 로드를 보여주도록 제공
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants