메뉴 닫기

Glances influxdb2 Grafana 연동 모니터링 가이드

Glances 설치 및 Grafana 연동 시스템 모니터링 가이드

서버의 상태를 실시간으로 모니터링할 수 있는 Glances의 설치부터 Grafana 연동까지의 전 과정을 설명합니다.

 

서버의 자원 상태를 실시간으로 모니터링하고 싶다면 Glances는 매우 강력한 도구입니다.

이 문서에서는 Glances 설치부터 InfluxDB, Grafana 연동을 통한 시각화까지 전체 구성을 단계별로 설명합니다.

 

Glances란?

Glances는 Python 기반의 오픈소스 시스템 모니터링 도구입니다.

터미널 환경에서 CPU, 메모리, 디스크, 네트워크, 프로세스 등 주요 시스템 자원을 한눈에 볼 수 있습니다.

또한 웹 UI, REST API, 외부 시각화 도구(Grafana 등)와의 연동도 지원합니다.

Glances 주요 특징

  • 실시간 모니터링

  • 멀티 플랫폼 지원

  • 웹 UI, API, 플러그인 통합 가능

 

Glances 설치 및 기본 사용법

1. 필수 패키지 설치

Rocky Linux 또는 RHEL 계열 기준으로 필요한 패키지를 먼저 설치합니다.

sudo dnf install epel-release -y

sudo dnf install python38 python38-pip net-tools curl vim -y

 

2. Glances 설치

sudo dnf update -y

sudo dnf install glances -y

 

3. 실행하기

glances

명령어를 입력하면 시스템 리소스 현황을 터미널 화면에서 바로 확인할 수 있습니다.

 

Glances 기본 단축키

기능

h

도움말 보기

c

CPU 사용률 기준 정렬

m

메모리 기준 정렬

n

네트워크 표시 전환

q

종료

 

Glances 웹 UI 설정

웹 모드(glances -w)로 실행하면 61208 포트로 웹 인터페이스 접근이 가능합니다.

1. 실행

 

glances -w &

기본 포트는 61208이며, 서버 방화벽에서 해당 포트를 개방해야 합니다.

모니터링할 클라이언트 PC의 IP 주소를 허용 목록에 추가합니다.

 

2. 브라우저 접속

 

http://서버_IP:61208

웹에서 터미널과 동일한 Glances 모니터링 화면을 볼 수 있습니다.

포트 변경은 ~/.config/glances/glances.conf 파일에서 수정할 수 있습니다.

단일 서버 모니터링에는 이 방법이 충분하지만,

여러 서버를 통합 관리하려면 InfluxDB와 Grafana 연동이 더 효율적입니다.

 

InfluxDB + Grafana 연동 개요

Glances는 시스템 데이터를 InfluxDB로 전송할 수 있으며,

InfluxDB에 저장된 데이터를  시각화할 수 있습니다.

 

구조는 다음과 같습니다.

[Glances][InfluxDB][Grafana Dashboard]

구성 요소

역할

Glances

서버 자원 데이터 수집 및 전송

InfluxDB

시계열(Time-Series) 데이터 저장

Grafana

데이터 시각화 대시보드 제공

 

InfluxDB 설치 및 설정

Rocky Linux 기본 저장소에는 InfluxDB가 포함되어 있지 않으므로,

먼저 InfluxData 저장소를 추가해야 합니다.

 

1. 저장소 추가

cat <<EOF | sudo tee /etc/yum.repos.d/influxdb.repo [influxdb] name = InfluxDB Repository – Rocky 8 baseurl = https://repos.influxdata.com/rhel/8/\$basearch/stable enabled = 1 gpgcheck = 0 EOF

 

2. InfluxDB 설치 및 서비스 활성화

sudo dnf install influxdb2 influxdb2-cli -y

sudo systemctl enable–now influxdb

 

3. 웹 UI 접속

브라우저에서 다음 주소로 접속합니다.

http://서버_IP:8086

초기 설정에서 사용자 계정, 조직 이름, 버킷 이름을 입력하고 API 토큰을 발급받습니다.

이 토큰은 Glances와 Grafana 모두에서 사용됩니다.

 

Glances에서 InfluxDB 연동 설정

 

1. 설정 파일 수정

vi /etc/glances/glances.conf

아래 내용을 추가하거나 수정합니다.

[influxdb2]host = localhost port = 8086protocol = http org = myorg bucket = glances token = <발급받은_API_Token>

 

2. Glances 서비스 등록

 InfluxDB 연동 모드로 실행하도록 systemd 서비스로 설정합니다.

vi /etc/systemd/system/glances.service

아래 내용을 입력합니다.

 

[Unit]Description=Glances InfluxDB2 Export Service (Python 3.8) After=network.target influxdb.service

[Service]ExecStart=/usr/bin/python3.8 -m glances –export influxdb2 –quiet –disable-webui Restart=always RestartSec=5User=root

[Install]WantedBy=multi-user.target

이후 다음 명령을 순서대로 실행합니다.

 

sudo systemctl daemon-reload

sudo systemctl enable –now glances

sudo systemctl status glances

influxdb2

 

InfluxDB 데이터 확인

InfluxDB CLI를 통해 Glances에서 전송된 데이터가 정상적으로 들어왔는지 확인할 수 있습니다.

 

influx query from(bucket: “glances”) |> range(start: –5m) |> limit(n:5) ‘ –org myorg –token “<발급받은_토큰>”

최근 5분간의 데이터가 정상적으로 표시되면 연동이 완료된 것입니다.

 

Grafana 설치 및 설정

Grafana는 InfluxDB의 데이터를 시각화하여 대시보드 형태로 보여줍니다.

 

1. Grafana 설치 및 접속

저장소 추가 

cat <<EOF | sudo tee /etc/yum.repos.d/grafana.repo
[grafana]
name=Grafana OSS
baseurl=https://packages.grafana.com/oss/rpm
repo_gpgcheck=1
enabled=1
gpgcheck=1
gpgkey=https://packages.grafana.com/gpg.key
EOF

 

sudo dnf install grafana -y
sudo systemctl enable –now grafana-server

 

기본 포트는  3000이며,  (테스트서버 동일 포트 사용으로 변경하여 사용) 브라우저에서 아래 주소로 접속합니다.

http://서버_IP:4000

초기 로그인 정보는 다음과 같습니다.

  • 아이디: admin

  • 비밀번호: admin

처음 로그인 시 비밀번호를 변경해야 합니다.

grafana

2. InfluxDB 데이터 연동 및 소스 등록

Grafana 메뉴에서 Data Sources → Add Data Source를 선택합니다.

InfluxDB를 선택한 후, InfluxDB 주소, 버킷 이름, 조직 이름, API 토큰을 입력하고

‘Save & Test’ 버튼으로 연결을 확인합니다.

grafana

Grafana 대시보드 구성

create dashboards 

 

CPU 사용률

 

from(bucket: “glances”) |> range(start: –10m) |> filter(fn: (r) => r._measurement == “cpu”and r._field == “total”) |> aggregateWindow(every: 10s, fn: mean) |> yield(name: “mean”)

  • 시각화 유형: Time series

  • 제목: CPU Usage (%)

  • 단위: Percent (%)

 

메모리 사용률

from(bucket: “glances”) |> range(start: –10m) |> filter(fn: (r) => r._measurement == “mem”and r._field == “percent”) |> aggregateWindow(every: 10s, fn: mean) |> yield(name: “mean”)

  • 시각화 유형: Time series

  • 제목: Memory Usage (%)

 

디스크 사용률

from(bucket: “glances”) |> range(start: –10m) |> filter(fn: (r) => r._measurement == “fs”and r._field == “percent”) |> aggregateWindow(every: 10s, fn: mean) |> yield(name: “mean”)

  • 시각화 유형: Time series

  • 제목: Disk Usage (%)

  • 단위: Percent (0–100%)

 

마무리

Glances, InfluxDB, Grafana를 조합하면 실시간 서버 모니터링 환경을 간단하게 구축할 수 있습니다.

단일 서버뿐 아니라 여러 서버의 데이터를 중앙 InfluxDB로 수집하고,

Grafana 대시보드에서 통합적으로 관리하면 더욱 효율적인 운영이 가능합니다.

이 구성을 통해 CPU, 메모리, 디스크 등 주요 지표를 실시간으로 시각화하여

시스템 자원 상태를 한눈에 파악할 수 있습니다.

 

참조url 

 

 

 

 

Subscribe
Notify of
guest
0 Comments
Inline Feedbacks
View all comments
0
Would love your thoughts, please comment.x
()
x