728x90
반응형
가상화 서버(VM) 2대 ( Prometheus, Grafana 서버 1대, 연동 클라이언트 서버 1대) 를 설치하고 수집데이터를 Prometheus로 연동하고 연동한 데이터를 가지고 Grafana로 대쉬보드를 만들어 본다
- node_exporter (서버, 쿠버네티스, 도커 등) 데이터 수집
- postgresql_exporter : postgresql 데이터 수집
- jmx_exporter : tomcat 데이터 수집
기본 용어
- Exporter ? prometheus Exporter는 메트릭 정보를 수집하는 모티터링 할 서버, 에이전트, 데몬 등을 대상시스템에서 메트릭을 수집하고 HTTP 엔드포인트(default: /metrics)에 노출시키는 소프트웨어
- 대표적인 Exporter 종류
- node-exporter
- mysql-exporter
- wmi-expoter(windwos server)
- postgre-exporter
- redis-exporter
- kafra-exporter
- jmx-exporter
※ Prometheus 및 각종 exporter 설치파일 사이트 https://prometheus.io/download/
여기에서는 node-exporter, postgre-exporter, jmx-exporter만 다룬다(연동해 본다)
- 메트릭이란 ? : 메트릭(Metric) 은 현재 시스템의 상태를 알수 있는 측정값이다. 인프라 환경에서는 크게 2가지 상태롤 메트릭을 구분. CPU와 메모리 사용량을 나타내는 시스템 메트릭(System Metric), HTTP 상태 코드 같은 서비스 상태를 나태내는 지표인 서비스 메트릭(Service Metri)
- 시계열 데이터베이스 ? 시계열 데이터베이스는 시간을 축(키)으로 시간의 흐름에 따라 발생하는 데이터를 저장하는 데 최적화된 데이터베이스. 예를 들어 네트워크 흐름을 알 수 있는 패킷과 각종 기기로부터 전달받는 IoT 센서 값, 이벤트 로그 등이 있다.
목표시스템 구성도
Prometheus - Grafana 서버 설치 (vagrant로 설치)
- OracleVM 과 Vagrant 는 미리 설치되어 있어야 함 (서버 설치는 Vagrant 로 설치)
- Vargrant 를 통한 가상화 서버 설치방법은 https://hwpform.tistory.com/111 참조
용도 | IP | 설치 Pkg | 포트 |
Prometheus, Grafana 서버 | 192.168.56.128 (Ubuntu 22.04) |
Prometheus Grafana Node_exporter PostgreSQL(Docker) PostgreSQL_Exporter(Docker) |
9090 3000 9100 5432 9187 |
Prometheus, Grafana 연동 클라이언트 테스트 서버 |
192.168.56.130 (CentOS8) |
Node_exporter PortgreSQL(Docker) PostgreSQL_Exporter(Docker) Tomcat jmx_exporter(Tomcat) |
9100 5432 9187 8080 8081 |
Vagrant로 설치할 서버 정보 https://app.vagrantup.com/boxes/search
- Prometheus, Grafana 서버
- Prometheus, Grafana 연동 클라이언트 테스트 서버
- Vagrnafile 및 설치 방법
# Ubuntu 22.04
Vagrant.configure("2") do |config|
config.vm.box = "davidurbano/prometheus-grafana"
end
# CentOS 8
Vagrant.configure("2") do |config|
config.vm.box = "centos/8"
end
- Vargrant로 설치된 Oracle VM 서버
설치된 Prometheus 정보
설치된 Grafana 예시 : Node_exporterl (서버관제)
설치된 Grafana 예시 : Postgresql_exporterl (DB관제)
설치된 Grafana 예시 : jmx_exporterl (Tomcat 관제)
Prometheus, Grafana 서버(192.168.56.128)
# Vagrnat를 이용하여 설치된 서버(192.168.56.128) config.vm.box = "davidurbano/prometheus-grafana"는
기본적으로 Prometeus(9090), Grafana(3000), Node_expoter(9100)가 설치되어 있음
# netstat -ntpa |grep LISTEN
tcp 0 0 127.0.0.53:53 0.0.0.0:* LISTEN 2632/systemd-resolv
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 735/sshd: /usr/sbin
tcp6 0 0 :::22 :::* LISTEN 735/sshd: /usr/sbin
tcp6 0 0 :::9090 :::* LISTEN 4369/prometheus
tcp6 0 0 :::9100 :::* LISTEN 670/node_exporter
tcp6 0 0 :::3000 :::* LISTEN 666/grafana
- prometheus 서버 : http://192.168.56.128:9090
# ls -al
total 24
drwxr-xr-x 4 prometheus prometheus 4096 Feb 29 13:47 .
drwxr-xr-x 102 root root 4096 Feb 29 11:29 ..
drwxr-xr-x 2 prometheus prometheus 4096 Sep 29 21:42 console_libraries
drwxr-xr-x 2 prometheus prometheus 4096 Sep 29 21:42 consoles
-rw-r--r-- 1 vagrant vagrant 1385 Feb 29 13:47 prometheus.yml
-rw-r--r-- 1 root root 934 Feb 25 00:00 prometheus.yml.20240225
# pwd
/etc/prometheus
- prometheus 컨피그 설정파일 (수집하고 싶은 targets 서버 : port를 지정해 주면됨)
# cat /etc/prometheus/prometheus.yml
scrape_configs:
# Node_exporter (서버 관제용)
- job_name: "node_exporter"
static_configs:
- targets: ["192.168.56.128:9100"]
- targets: ["192.168.56.130:9100"]
# PostgreSQL_exporter (DB 관제용)
- job_name: 'PostgreSQL_exporter'
static_configs:
- targets: ['192.168.56.130:9187']
- targets: ['192.168.56.128:9187']
# jmx_exporter (tomcat 관제용)
- job_name: 'jmx_exporter'
scrape_interval: 5s
static_configs:
- targets: ['192.168.56.130:8081']
# kubernetes_exporter (쿠버네티스 서버 관제용)
- job_name: 'kubernetes_exporter'
static_configs:
- targets: ['192.168.56.10:9100']
- targets: ['192.168.56.101:9100']
- targets: ['192.168.56.102:9100']
- targets: ['192.168.56.103:9100']
- Prometheus 서버 : http://192.168.56.128:9090
- Promethus -> Status -> Targets 클릭하면 위의 /etc/prometheus/prometheus.yml 설정된 값이 동일함
- 연동 metrics 정보 (대쉬보드로 표현 가능한 함수값)
- Grafana서버 : http://192.168.56.128:3000
- Node Exporter : http://192.168.56.128:9100
1. 1부는 여기까지 .. 2부에서 계속
728x90
반응형
LIST
'Manage OpenSource > Prometheus - Grafana' 카테고리의 다른 글
Prometheus Third-party exporters Nvidia-docker 설치 (0) | 2024.03.09 |
---|---|
Prometheus Pushgateway 설치 (1) | 2024.03.09 |
Prometheus Client pip3 python3 설치 (0) | 2024.03.09 |
Prometheus Alertmanager 설치 -2 (slack연결) (0) | 2024.03.03 |
Prometheus Alertmanager 설치 -1 (설치 및 rules 설정) (0) | 2024.03.02 |