On Debian 13:
sudo apt update
sudo apt install -y glances
On RHEL 10:
sudo dnf install -y epel-release
sudo dnf install -y glances
sudo apt install -y python3-pip # Debian
sudo dnf install -y python3-pip # RHEL
sudo pip3 install glances
docker run -d \
--name glances \
--restart unless-stopped \
--pid host \
--network host \
-v /var/run/docker.sock:/var/run/docker.sock:ro \
-v /run/user/0/podman/podman.sock:/run/user/0/podman/podman.sock:ro \
--privileged \
nicolargo/glances:latest
Create configuration directory:
sudo mkdir -p /etc/glances
Create configuration file:
sudo tee /etc/glances/glances.conf >/dev/null <<'EOF'
[quicklook]
disable=False
[cpu]
disable=False
log=False
[load]
disable=False
log=False
[memory]
disable=False
log=False
[network]
disable=False
log=False
interfaces=eth0,ens18
[diskio]
disable=False
log=False
iops=False
[fs]
disable=False
log=False
[sensors]
disable=False
log=False
[processlist]
disable=False
log=False
sort_by=cpu
process_short_name=False
[processcount]
disable=False
log=False
[folders]
disable=False
log=False
[/var/log]=warning:80,critical:90
[/]=warning:80,critical:90
EOF
glances -w -p 61208
glances -w -p 61208 --username admin --password SecurePassword123
sudo tee /etc/systemd/system/glances-web.service >/dev/null <<'EOF'
[Unit]
Description=Glances Web Server
After=network.target
[Service]
Type=simple
User=root
ExecStart=/usr/local/bin/glances -w -p 61208 --disable-webui
Restart=on-failure
[Install]
WantedBy=multi-user.target
EOF
For pip installation, adjust the path:
sudo tee /etc/systemd/system/glances-web.service >/dev/null <<'EOF'
[Unit]
Description=Glances Web Server
After=network.target
[Service]
Type=simple
User=root
ExecStart=/usr/bin/glances -w -p 61208
Restart=on-failure
[Install]
WantedBy=multi-user.target
EOF
Enable and start:
sudo systemctl daemon-reload
sudo systemctl enable --now glances-web
On the server:
glances -s -p 61209
Create systemd service for server mode:
sudo tee /etc/systemd/system/glances-server.service >/dev/null <<'EOF'
[Unit]
Description=Glances Server
After=network.target
[Service]
Type=simple
User=root
ExecStart=/usr/bin/glances -s -p 61209
Restart=on-failure
[Install]
WantedBy=multi-user.target
EOF
On the client:
glances -c @SERVER_IP
On UFW:
sudo ufw allow 61208/tcp
sudo ufw allow 61209/tcp
On firewalld:
sudo firewall-cmd --permanent --add-port=61208/tcp
sudo firewall-cmd --permanent --add-port=61209/tcp
sudo firewall-cmd --reload
Open http://SERVER_IP:61208 to access the Glances web interface.
Test CLI mode:
glances
glances --export influxdb --export-influxdb-db glances --export-influxdb-host localhost
glances --prometheus
Access metrics at http://SERVER_IP:61208/metrics
glances --export csv --export-csv-file /var/log/glances.csv
Glances provides a REST API:
# Get all stats
curl http://localhost:61208/api/4/all
# Get CPU stats
curl http://localhost:61208/api/4/cpu
# Get memory stats
curl http://localhost:61208/api/4/mem
With Docker socket mounted:
docker run -d \
--name glances \
--restart unless-stopped \
--pid host \
--network host \
-v /var/run/docker.sock:/var/run/docker.sock:ro \
--privileged \
nicolargo/glances:latest \
-w
See Glances Hardening.
Need professional assistance with your monitoring infrastructure? Our team provides:
Get in touch: office@linux-server-admin.com | Contact Page
Prefer automation? See Glances Ansible Setup for an example playbook.
Prefer containers? See Glances Docker Setup.
See Glances Configuration for configuration guidance.
See Glances Security for hardening guidance.