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

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
처음 로그인 시 비밀번호를 변경해야 합니다.

2. InfluxDB 데이터 연동 및 소스 등록
Grafana 메뉴에서 Data Sources → Add Data Source를 선택합니다.
InfluxDB를 선택한 후, InfluxDB 주소, 버킷 이름, 조직 이름, API 토큰을 입력하고
‘Save & Test’ 버튼으로 연결을 확인합니다.

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
-
“Glances 설치 및 설정에 대한 자세한 정보는 Glances GitHub 공식 문서에서 확인할 수 있습니다.”
-
“InfluxDB 관련 설치 가이드는 InfluxData 공식 사이트를 참고하면 좋습니다.”
-
“Grafana 대시보드 구성 방법은 Grafana Labs 공식 가이드에 자세히 나와 있습니다.”