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/
'CS' 카테고리의 다른 글
[네트워크] TCP, UDP 프로토콜 / 3 Way Handshake (0) | 2024.12.02 |
---|---|
[CS] 컴파일 언어 vs 인터프리터 언어 / 자바 / 자바 환경변수 설정 (0) | 2024.12.02 |
[CS] 객체 지향 / 데이터 모델링 (0) | 2024.11.26 |
형상관리 (0) | 2024.11.25 |
웹 서버, 웹 어플리케이션 서버(WAS), DB 서버 연동 실습 (0) | 2024.11.25 |