모니터링 환경 구성 (Prometheus, Grafana) / Grafana Dashboard 설정

2024. 12. 6. 12:09· CS
목차
  1. Prometheus
  2. Grafana
  3. 대시보드 생성
  4. 변수 설정
  5.  
  6. Grafana Dashboard Import
728x90

Prometheus

1) hostname 변경

모니터링할 서버 컴퓨터의 hostname을 변경 후 재부팅해준다.

sudo su - root
vi /etc/hostname

 

이렇게 이름이 바뀐 걸 확인할 수 있다.

 

 


 

2) 설치

apt update
apt -y install prometheus prometheus-node-exporter

 


3) 실행

systemctl restart prometheus
systemctl restart prometheus-node-exporter

 

 

실행 후 http://프로메테우스IP:9090 으로 접속

 


 

4) 모니터링 대상 추가

대상 컴퓨터에 프로메테우스 설치 (nginx, tomcat, DB)

apt -y install prometheus-node-exporter
systemctl restart prometheus-node-exporter

 

5) 프로메테우스 설정

프로메테우스 서버 컴퓨터에서 설정 파일 열어서 수정해준다.

vi /etc/prometheus/prometheus.yml

 

job_name: node 부분 아래에 내용을 추가해준다.(모니터링 대상 추가하는 작업)

- job_name: Web Server
static_configs:
- targets: ['웹 서버 IP:9100']
- job_name: Web Application Server
static_configs:
- targets: ['WAS 서버 IP:9100']
- job_name: DB Server
static_configs:
- targets: ['DB 서버 IP:9100']

 

설정 저장 후 재시작

systemctl restart prometheus

 

 

http://프로메테우스 IP:9090 으로 접속

접속 후 States -> Targets 로 가면 아까 설정해놓은 서버들을 확인할 수 있다.

 

 

Targets에 있는 서버 컴퓨터들의 매트릭을 수집한다.

 

 

매트릭은 알아보기 어렵기 때문에, 알아보기 쉬운 형태로 보려면 Grafana를 세팅 후 봐야 편하다.

 


Grafana

1) 설치

그라파나 패키지는 기본적으로 우분투에 포함되어 있지 않기 때문에, 따로 저장소를 추가한 후 설치를 해줘야 한다.

wget -q -O /usr/share/keyrings/grafana.key https://packages.grafana.com/gpg.key
echo "deb [signed-by=/usr/share/keyrings/grafana.key] https://packages.grafana.com/oss/deb stable main" | tee -a /etc/apt/sources.list.d/grafana.list
apt update
apt -y install grafana

 

2) 실행

systemctl restart grafana-server

 

3) 접속

http://그라파나 IP:3000 으로 들어가면 로그인 창이 뜬다.

처음 접속 시 IP와 PW를 입력한다. (실습이라 그냥 admin, admin 입력했다.)

 

 

Connections -> Data Sources -> Add new data source

프로메테우스 검색 후 클릭

 

 

Connection에 http://프로메테우스 IP:9090 입력 후 맨 아래로 내려서 Save & test

 

 

대시보드 생성

Dashboard -  New - New dashboard 로 대시보드 생성

 

 

Add visualization 클릭

 

Select data source -> prometheus 클릭

 


잠깐 프로메테우스로 넘어와서

내가 보고 싶은 서버의 metrics 로 들어가면 값들을 확인할 수 있다.

 

여기서 CPU와 관련된 node_cpu_seconds_total 속성

 


다시 그라파나로 넘어와서

오른쪽 탭에서 Gauge 선택 후 Title : CPU 입력

아래쪽 보면 쿼리 입력하는 부분이 있는데, Code 선택 후 node_cpu_seconds_total 후 Run queries 누르면

위에 게이지가 나온다.

 

 

좀 더 보기 쉽게 하기 위해서 Thresholds와 Standard options 설정

 

Thresholds

  • 값마다 색깔 다르게 지정할 수 있다. (나는 80은 노랑, 90은 빨강으로 했다.)
  • Add threshold 선택 후 원하는 색상과 값을 입력하면 된다.

Standard options

  • Unit에 원하는 타입 입력 후 (나는 퍼센트로 했다)
  • Min 값과 Max 값을 입력한다.

 

 

쿼리에 이렇게 퍼센트를 계산해서 입력해준다.

(1-avg(rate(node_cpu_seconds_total{mode="idle", instance="10.10.10.30:9100"}[$__rate_interval])))*100

 

 

Save 후 밖으로 나가면 저장된 패널들을 볼 수 있다.

이런 식으로 보고 싶은 패널들을 여러 개 추가하면 된다.

'

변수 설정

Dashboard -> Settings

 

Variables -> Add variable

 

 

Name: node

Query type: Lavel values

Label: instance

Metric: node_uname_info

 

 

 

대시보드 가서 node로 변수를 추가해주면 서버마다 CPU 사용량을 볼 수 있다.

(1-avg(rate(node_cpu_seconds_total{mode="idle", instance="$node"}[$__rate_interval])))*100

 

 


Grafana Dashboard Import

사람들이 만들어놓은 Dashboard를 볼 수 있다.

여기서 나한테 맞는 대시보드, 내가 원하는 대시보드를 Import 할 수 있다.

https://grafana.com/grafana/dashboards/

 

Grafana dashboards | Grafana Labs

No results found. Please clear one or more filters.

grafana.com

 

728x90
저작자표시 비영리 변경금지 (새창열림)

'CS' 카테고리의 다른 글

Layered 패턴  (2) 2025.01.08
MVC 패턴  (0) 2025.01.08
[네트워크] TCP, UDP 프로토콜 / 3 Way Handshake  (0) 2024.12.02
[CS] 컴파일 언어 vs 인터프리터 언어 / 자바 / 자바 환경변수 설정  (0) 2024.12.02
[CS] 객체 지향 / 데이터 모델링  (0) 2024.11.26
  1. Prometheus
  2. Grafana
  3. 대시보드 생성
  4. 변수 설정
  5.  
  6. Grafana Dashboard Import
'CS' 카테고리의 다른 글
  • Layered 패턴
  • MVC 패턴
  • [네트워크] TCP, UDP 프로토콜 / 3 Way Handshake
  • [CS] 컴파일 언어 vs 인터프리터 언어 / 자바 / 자바 환경변수 설정
셰욘
셰욘
셰욘
seiyeon
셰욘
전체
오늘
어제
  • 분류 전체보기 (176)
    • 알고리즘 (46)
      • 프로그래머스 (2)
      • 백준 (37)
      • 문제 유형 (7)
    • CS (41)
      • Linux (6)
      • DB (15)
      • 자료구조 (3)
      • OOP (2)
      • 아키텍처 (0)
    • BE (42)
      • Java (9)
      • Spring Boot (32)
    • FE (6)
      • Next.js (1)
      • JavaScript (5)
      • Vue.js (7)
      • Web (0)
    • 배포 (5)
    • 회고 (19)
      • BEYOND SW 캠프 (19)
    • 기타 (3)

블로그 메뉴

  • 홈
  • 태그
  • 방명록
  • 블로그 관리

공지사항

인기 글

태그

  • be
  • DP
  • 알고리즘
  • 프로그래머스
  • 주간회고
  • spring boot
  • 자료구조
  • 그리디
  • 티스토리챌린지
  • web
  • Java
  • 트리
  • js
  • 우선순위 큐
  • 백트래킹
  • 구현
  • cs
  • AWS
  • 백준
  • 실습
  • Gateway
  • bfs
  • fe
  • 리눅스
  • vue
  • dfs
  • 오블완
  • 네트워크
  • db
  • 회고

최근 댓글

최근 글

250x250
hELLO · Designed By 정상우.v4.2.1
셰욘
모니터링 환경 구성 (Prometheus, Grafana) / Grafana Dashboard 설정
상단으로

티스토리툴바

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.