컨테이너 환경 모니터링에 적합한 프로메테우스와 프로메테우스가 수집한 데이터를 시각화하는 그라파나의 설치 및 연동 내용입니다.
설치 순서는 다음과 같습니다.
1. 프로메테우스(Prometheus) 설치
2. Node_Exporter 설치
3. 그라파나(Grafana) 설치
4. 프로메테우스 & 그라파나 연동
1. 프로메테우스(Prometheus) 설치
1-1. 계정 생성 및 파일 다운로드
- 계정 생성
$ useradd -m -s /bin/bash prometheus
$ su - prometheus
- 프로메테우스 다운로드
$ cd ~
$ wget https://github.com/prometheus/prometheus/releases/download/v2.29.2/prometheus-2.29.2.linux-amd64.tar.gz
- 파일 압축해제 및 이름변경
$ tar -xzvf prometheus-2.29.2.linux-amd64.tar.gz
$ mv prometheus-2.29.2.linux-amd64 prometheus
1-2. 프로메테우스 서비스 파일 생성 및 구동
root 계정으로 작업을 진행합니다.
- prometheus.service 파일 생성
$ cd /etc/systemd/system
$ vi prometheus.service
[Unit]
Description=Prometheus Server
Documentation=https://prometheus.io/docs/introduction/overview/
After=network-online.target
[Service]
User=prometheus
Restart=on-failure
ExecStart=/home/prometheus/prometheus/prometheus \
--config.file=/home/prometheus/prometheus/prometheus.yml \
--storage.tsdb.path=/home/prometheus/prometheus/data
[Install]
WantedBy=multi-user.target
- 프로메테우스 서비스 구동
$ systemctl daemon-reload
$ systemctl start prometheus
$ systemctl enable prometheus
- 프로메테우스 프로세스 및 포트 확인
$ ps -ef | grep prometheus
prometh+ 17882 1 0 14:28 ? 00:00:13 /home/prometheus/node_exporter/node_exporter
prometh+ 18645 1 0 14:30 ? 00:00:03 /home/prometheus/prometheus/prometheus --config.file=/home/prometheus/prometheus/prometheus.yml --storage.tsdb.path=/home/prometheus/prometheus/data
root 27948 18068 0 15:02 pts/0 00:00:00 grep --color=auto prometheus
$ netstat -lntup | grep prometheus
tcp6 0 0 :::9090 :::* LISTEN 18645/prometheus
1-3. 프로메테우스 브라우저 접속
http://localhost:9090 으로 접속합니다.
만약 프로메테우스 서버가 로컬이 아닌 외부 서버라면, 외부 서버의 IP를 입력해줍니다.
1-4. node_exporter 설치
prometheus 계정으로 전환 후 진행합니다.
- node_exporter 다운로드
$ su - prometheus
$ wget https://github.com/prometheus/node_exporter/releases/download/v1.2.2/node_exporter-1.2.2.linux-amd64.tar.gz
- node_exporter 압축해제 및 이름변경
$ tar -xzvf node_exporter-1.2.2.linux-amd64.tar.gz
$ mv node_exporter-1.2.2.linux-amd64 node_exporter
1-5. node_exporter 서비스 파일 생성 및 구동
root 계정으로 전환 후 진행합니다.
- node_exporter.service 파일 생성
$ vi /etc/systemd/system/node_exporter.service
[Unit]
Description=Node Exporter
Wants=network-online.target
After=network-online.target
[Service]
User=prometheus
ExecStart=/home/prometheus/node_exporter/node_exporter
[Install]
WantedBy=default.target
- node_exporter 구동 및 활성화
$ systemctl daemon-reload
$ systemctl start node_exporter
$ systemctl enable node_exporter
- node_exporter 포트 확인
$ netstat -lntup | grep node
tcp6 0 0 :::9100 :::* LISTEN 17882/node_exporter
1-6. 프로메테우스에 node_exporter 등록
- prometheus.yaml 수정
$ vi ~/prometheus/prometheus.yaml
...
- job_name: "prometheus"
static_configs:
- targets: ["localhost:9100"]
$ systemctl restart prometheus
1-7. 프로메테우스 브라우저에서 node_exporter 확인
http://localhost:9090/graph 접속
node_memory_Buffers_bytes 입력 후 Execute 버튼 클릭 -> Graph 탭 선택 -> 모니터링 데이터 수집되는 부분 확인
* raw 데이터 확인이 필요한 경우 아래 주소로 접속
http://localhost:9100/metrics
2. 그라파나(Grafana) 설치
2-1. 그라파나 Repository 등록
- Repository 등록
$ vi /etc/yum.repos.d/grafana.repo
[grafana]
name=grafana
baseurl=https://packages.grafana.com/oss/rpm
repo_gpgcheck=1
enabled=1
gpgcheck=1
gpgkey=https://packages.grafana.com/gpg.key
sslverify=1
sslcacert=/etc/pki/tls/certs/ca-bundle.crt
2-2 그라파나 설치
- 그라파나 설치
$ yum install grafana
- 그라파나 서비스 시작 및 활성화
$ systemctl start grafana-server
$ systemctl enable grafana-server
- 그라파나 포트 확인
$ netstat -lntup | grep grafana
tcp6 0 0 :::3000 :::* LISTEN 21052/grafana-server
2-3. 그라파나 브라우저 접속
- 브라우저 접속
URL : http://localhost:3000
ID : admin
PW : admin (로그인 후 새 비밀번호로 변경)
3. 프로메테우스 & 그라파나 연동
3-1. Data Source 선택
그라파나 브라우저에 접속하여 로그인한 후, Data Source를 Prometheus로 선택하여 데이터를 연동한다.
- Data Source 선택
아래 항목에서 Prometheus를 선택한다.
- 프로메테우스 URL 선택
같은 서버에 설치했다면 http://localhost:9090 을 입력한다.
이후 하단의 Save & Test를 클릭하여 오류가 없으면 작업을 끝낸다.
'서버관리 > 모니터링' 카테고리의 다른 글
원격서버 모니터링을 위한 Zabbix Agent 구성 (0) | 2021.09.27 |
---|---|
Zabbix서버 구성하여 서버 모니터링 (0) | 2021.09.27 |
cockpit을 이용하여 서버 자원 모니터링 (0) | 2021.09.02 |