{"id":1920,"date":"2026-09-05T10:23:04","date_gmt":"2026-09-05T04:53:04","guid":{"rendered":"https:\/\/cpanelfree.com\/blog\/how-to-setup-glances-realtime-server-monitoring-web-dashboard\/"},"modified":"2026-09-05T12:59:58","modified_gmt":"2026-09-05T07:29:58","slug":"how-to-setup-glances-realtime-server-monitoring-web-dashboard","status":"publish","type":"post","link":"https:\/\/cpanelfree.com\/blog\/how-to-setup-glances-realtime-server-monitoring-web-dashboard\/","title":{"rendered":"How to Set Up Glances Real-Time Server Monitoring Web Dashboard on Linux VPS"},"content":{"rendered":"<h2>Why Glances Is the Ultimate All-in-One Server Monitoring Tool<\/h2>\n<p>While terminal utilities like <code>htop<\/code> and full observability stacks like Prometheus\/Grafana serve distinct purposes, system administrators often desire a lightweight, instant visual web dashboard that requires zero database setup and displays complete real-time hardware telemetry\u2014CPU core loads, NVMe I\/O throughput, network interface bandwidth, Docker container states, and disk file usage\u2014directly inside any web browser.<\/p>\n<p><strong>Glances<\/strong> is a modern, cross-platform system monitoring tool written in Python. Featuring both a terminal UI and a responsive HTML5 web interface with REST API export capabilities, Glances enables webmasters to monitor single or multi-server infrastructure from any desktop or mobile device.<\/p>\n<p>In this quick tutorial, we will configure Glances on Ubuntu 24.04\/22.04 LTS, daemonize the web server via systemd, secure the dashboard with password authentication, and configure an Nginx reverse proxy with SSL encryption.<\/p>\n<h2>Step 1: Installing Glances via Python PIP<\/h2>\n<p>Install Glances and all optional hardware telemetry sensor libraries:<\/p>\n<pre><code># Update package list and install Python 3 prerequisites\nsudo apt update &amp;&amp; sudo apt install -y python3-pip python3-venv nginx certbot python3-certbot-nginx\n\n# Create virtual environment for Glances\nsudo mkdir -p \/opt\/glances\ncd \/opt\/glances\nsudo python3 -m venv venv\nsudo \/opt\/glances\/venv\/bin\/pip install --upgrade pip\nsudo \/opt\/glances\/venv\/bin\/pip install \"glances[all]\"<\/code><\/pre>\n<h2>Step 2: Configuring Systemd Service for Glances Web Server<\/h2>\n<p>Create a systemd unit at <code>\/etc\/systemd\/system\/glances.service<\/code> to supervise the web daemon:<\/p>\n<pre><code>[Unit]\nDescription=Glances Real-Time System Monitoring Web Server\nAfter=network.target\n\n[Service]\nUser=root\nExecStart=\/opt\/glances\/venv\/bin\/glances -w -B 127.0.0.1 -p 61208 --password --username admin -P \"UltraSecureGlancesPass2026!\"\nRestart=always\nRestartSec=3\n\n[Install]\nWantedBy=multi-user.target<\/code><\/pre>\n<p>Enable and start the Glances service:<\/p>\n<pre><code>sudo systemctl daemon-reload\nsudo systemctl enable --now glances\nsudo systemctl status glances --no-pager<\/code><\/pre>\n<h2>Step 3: Nginx Reverse Proxy with SSL Encryption<\/h2>\n<p>Create <code>\/etc\/nginx\/sites-available\/glances.example.com<\/code>:<\/p>\n<pre><code>server {\n    listen 80;\n    server_name glances.example.com;\n\n    location \/ {\n        proxy_pass http:\/\/127.0.0.1:61208;\n        proxy_http_version 1.1;\n        proxy_set_header Host $host;\n        proxy_set_header X-Real-IP $remote_addr;\n        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;\n        proxy_set_header X-Forwarded-Proto $scheme;\n    }\n}<\/code><\/pre>\n<p>Enable the site and issue an SSL certificate:<\/p>\n<pre><code>sudo ln -s \/etc\/nginx\/sites-available\/glances.example.com \/etc\/nginx\/sites-enabled\/\nsudo nginx -t &amp;&amp; sudo systemctl reload nginx\nsudo certbot --nginx -d glances.example.com<\/code><\/pre>\n<h2>Exporting Telemetry Metrics to InfluxDB &amp; Prometheus<\/h2>\n<p>Glances can stream hardware metrics to external time-series databases or export Prometheus endpoints automatically:<\/p>\n<pre><code># Run Glances with Prometheus export on port 9091\n\/opt\/glances\/venv\/bin\/glances --export prometheus --export-prometheus-port 9091<\/code><\/pre>\n<h2>Glances Process Management &amp; Alert Triggers<\/h2>\n<p>Glances highlights system resource bottlenecks using automatic color-coded thresholds: Green (OK), Blue (Careful &gt; 50%), Magenta (Warning &gt; 70%), and Red (Critical &gt; 90%). You can configure custom notification webhooks in <code>\/etc\/glances\/glances.conf<\/code> to trigger Slack or Discord alerts whenever critical thresholds are breached.<\/p>\n<h2>Glances Client-Server Centralized Multi-Node Architecture<\/h2>\n<p>If you manage multiple Linux VPS instances, you do not need to log into each server separately. You can run Glances in client-server mode, streaming telemetry from 10 remote nodes back to a single central monitoring workstation:<\/p>\n<pre><code># On Remote VPS Nodes: Start Glances in XML-RPC server mode\n\/opt\/glances\/venv\/bin\/glances -s -B 0.0.0.0 -p 61209 --password\n\n# On Central Workstation: Connect to remote node\n\/opt\/glances\/venv\/bin\/glances -c 192.0.2.45 -p 61209<\/code><\/pre>\n<h2>Glances Process Management &amp; Hotkeys Reference<\/h2>\n<table style=\"width: 100%;border-collapse: collapse;margin: 20px 0;border: 1px solid #334155\">\n<thead>\n<tr style=\"background-color: #0f172a;color: #38bdf8\">\n<th style=\"padding: 12px;border: 1px solid #334155\">Hotkey<\/th>\n<th style=\"padding: 12px;border: 1px solid #334155\">Action \/ View<\/th>\n<th style=\"padding: 12px;border: 1px solid #334155\">Operational Purpose<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr style=\"background-color: #1e293b;color: #f8fafc\">\n<td style=\"padding: 10px;border: 1px solid #334155\"><code>m<\/code><\/td>\n<td style=\"padding: 10px;border: 1px solid #334155\">Sort processes by MEM%<\/td>\n<td style=\"padding: 10px;border: 1px solid #334155\">Quickly identify memory leaks in PHP\/Node\/Python<\/td>\n<\/tr>\n<tr style=\"background-color: #0f172a;color: #f8fafc\">\n<td style=\"padding: 10px;border: 1px solid #334155\"><code>c<\/code><\/td>\n<td style=\"padding: 10px;border: 1px solid #334155\">Sort processes by CPU%<\/td>\n<td style=\"padding: 10px;border: 1px solid #334155\">Pinpoint runaway compute spikes<\/td>\n<\/tr>\n<tr style=\"background-color: #1e293b;color: #f8fafc\">\n<td style=\"padding: 10px;border: 1px solid #334155\"><code>d<\/code><\/td>\n<td style=\"padding: 10px;border: 1px solid #334155\">Toggle Disk I\/O<\/td>\n<td style=\"padding: 10px;border: 1px solid #334155\">Inspect read\/write IOPS per disk partition<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h2>Automating Glances CSV &amp; InfluxDB Data Export for Long-Term Trending<\/h2>\n<p>While Glances displays instantaneous real-time metrics, system administrators often require historical trend analysis over 30 to 90 days. Configure Glances to export system telemetry directly to CSV files or an InfluxDB time-series database:<\/p>\n<pre><code># Stream Glances metrics to local CSV archive every 5 seconds\n\/opt\/glances\/venv\/bin\/glances --export csv --export-csv-file \/var\/log\/glances_history.csv -t 5\n\n# Stream to InfluxDB time-series database\n\/opt\/glances\/venv\/bin\/glances --export influxdb<\/code><\/pre>\n<h2>Glances Advanced CLI Filtering &amp; Headless Monitoring Modes<\/h2>\n<p>Glances can run in lightweight headless daemon mode without graphical interfaces, consuming less than 15MB of RAM while serving REST API metrics:<\/p>\n<pre><code># Start headless REST API server on custom port\n\/opt\/glances\/venv\/bin\/glances -s -B 127.0.0.1 -p 61209\n\n# Query real-time CPU load via curl REST endpoint\ncurl http:\/\/127.0.0.1:61209\/api\/3\/cpu\n# Output: {\"total\": 12.4, \"user\": 8.2, \"system\": 3.1, \"idle\": 87.6}<\/code><\/pre>\n<h2>Glances Monitoring Architecture Checklist<\/h2>\n<ul>\n<li><strong>Bind to 127.0.0.1:<\/strong> Never expose raw Glances ports to public interfaces without Nginx SSL and HTTP authentication.<\/li>\n<li><strong>Enable Docker Socket Monitoring:<\/strong> Grants visibility into individual container memory allocations and network I\/O.<\/li>\n<\/ul>\n<div style=\"background-color: #0f172a;border-left: 4px solid #38bdf8;padding: 18px 24px;margin: 30px 0;border-radius: 8px\">\n<h3 style=\"color: #38bdf8;margin-top: 0\">Recommended Related Technical Guides<\/h3>\n<ul style=\"margin-bottom: 0;color: #cbd5e1\">\n<li><a href=\"https:\/\/cpanelfree.com\/blog\/how-to-host-uptime-kuma-server-monitoring-docker-vps\/\" style=\"color: #38bdf8;text-decoration: underline\">Self-Hosting Uptime Kuma Status Pages on Ubuntu VPS<\/a><\/li>\n<li><a href=\"https:\/\/cpanelfree.com\/blog\/how-to-setup-grafana-prometheus-server-monitoring-vps\/\" style=\"color: #38bdf8;text-decoration: underline\">Setting Up Prometheus and Grafana Monitoring on Linux VPS<\/a><\/li>\n<li><a href=\"https:\/\/cpanelfree.com\/blog\/top-10-essential-linux-terminal-commands-webmasters-2026\/\" style=\"color: #38bdf8;text-decoration: underline\">Top 10 Essential Linux Terminal Commands for Webmasters<\/a><\/li>\n<\/ul>\n<\/div>\n<div style=\"background: linear-gradient(135deg, #0284c7 0%, #0369a1 100%);color: #ffffff;padding: 28px;border-radius: 12px;margin: 35px 0;text-align: center\">\n<h3 style=\"color: #ffffff;margin-top: 0;font-size: 22px\">Monitor High-Performance Cloud VPS on CpanelFree<\/h3>\n<p style=\"color: #e0f2fe;font-size: 15px;max-width: 650px;margin: 0 auto 18px auto\">Gain complete visibility over your virtual machines with dedicated virtual CPU cores, ultra-low latency NVMe storage, and 100% free hosting options.<\/p>\n<p>  <a href=\"https:\/\/cpanelfree.com\/\" style=\"background-color: #ffffff;color: #0284c7;font-weight: 700;padding: 12px 28px;border-radius: 8px;text-decoration: none;display: inline-block\">Get Free Cloud Hosting Today &rarr;<\/a>\n<\/div>\n<div style=\"border-radius: 12px;padding: 24px;margin: 24px 0\">\n<h3 style=\"color: #38bdf8;margin-top: 0\">Glances Client-Server Architecture and Centralized Web Monitoring<\/h3>\n<p>In modern multi-node cloud environments, Glances provides an ultra-lightweight client-server topology that eliminates the heavy operational overhead of full-stack APM daemons. By configuring worker VPS instances in server mode and deploying a central Glances web dashboard, administrators maintain real-time cross-cluster telemetry with sub-second polling frequency:<\/p>\n<pre><code class=\"language-ini\"># \/etc\/glances\/glances.conf - Advanced Threshold Tuning\n[cpu]\ndisable=False\nuser_critical=85\nsystem_critical=80\niowait_critical=40\n\n[network]\nrx_rate_critical=100000000\ntx_rate_critical=100000000\n\n[docker]\ndisable=False\ncpu_critical=90\nmem_critical=90<\/code><\/pre>\n<h4 style=\"color: #38bdf8\">Automated Alert Webhooks and Prometheus Exporter Integration<\/h4>\n<p>Glances supports automated threshold export to external time-series engines. Run Glances with native Prometheus exporter flags or stream system metrics to InfluxDB for long-term capacity planning:<\/p>\n<pre><code class=\"language-bash\"># Run Glances with Prometheus metrics export on port 9091\nglances --export prometheus --export-prometheus-port 9091 -s\n\n# Validate Prometheus metrics endpoint\ncurl -s http:\/\/127.0.0.1:9091\/metrics | grep glances_cpu_total<\/code><\/pre>\n<p>Deploying Glances behind an encrypted Nginx reverse proxy with HTTP Basic Auth or client certificates ensures real-time operational visibility without exposing critical system performance metrics to the public internet.<\/p>\n<\/div>\n<div style=\"border-left: 4px solid #38bdf8;border-radius: 8px;padding: 20px;margin: 30px 0\">\n<h3 style=\"margin-top: 0;color: #38bdf8;font-size: 18px;display: flex;align-items: center\">\n        <span style=\"margin-right: 8px\">\ud83d\udd17<\/span> Recommended Related Technical Guides:<br \/>\n    <\/h3>\n<ul style=\"margin: 10px 0 0 0;padding-left: 20px;line-height: 1.8\">\n<li><a href=\"https:\/\/cpanelfree.com\/blog\/how-to-host-website-free-forever-guide\/\" style=\"color: #38bdf8;text-decoration: none;font-weight: 600\">How to Host a Website for Free Forever: Complete Beginner Guide (2026)<\/a><\/li>\n<li><a href=\"https:\/\/cpanelfree.com\/blog\/free-wordpress-hosting-softaculous-installer\/\" style=\"color: #38bdf8;text-decoration: none;font-weight: 600\">Top 5 Free WordPress Hosting Services with 1-Click Softaculous Installer<\/a><\/li>\n<li><a href=\"https:\/\/cpanelfree.com\/blog\/how-to-backup-linux-vps-to-cloud-storage-s3-rclone\/\" style=\"color: #38bdf8;text-decoration: none;font-weight: 600\">How to Automatically Backup Your Linux VPS to Cloud Storage (S3 \/ Rclone Guide)<\/a><\/li>\n<li><a href=\"https:\/\/cpanelfree.com\/blog\/how-to-deploy-wazuh-siem-security-monitoring-vps\/\" style=\"color: #38bdf8;text-decoration: none;font-weight: 600\">How to Deploy Wazuh SIEM Security Monitoring on Ubuntu Linux VPS<\/a><\/li>\n<li><a href=\"https:\/\/cpanelfree.com\/#plans\" style=\"color: #10b981;text-decoration: none;font-weight: 600\">Explore $0 Free cPanel Web Hosting Plans (NVMe SSD, AutoSSL)<\/a><\/li>\n<\/ul>\n<\/div>\n<div style=\"background: linear-gradient(135deg, rgba(6, 182, 212, 0.15) 0%, rgba(59, 130, 246, 0.15) 100%);border-radius: 12px;padding: 25px;margin: 30px 0;text-align: center\">\n<h3 style=\"color: #38bdf8;margin-top: 0;font-size: 20px\">Deploy Fast, Reliable Web Hosting on CpanelFree<\/h3>\n<p style=\"color: #94a3b8;font-size: 14px;line-height: 1.6;max-width: 600px;margin: 0 auto 15px\">\n        Get genuine cPanel control, unmetered NVMe SSD storage, and free AutoSSL at $0 cost forever.\n    <\/p>\n<p>    <a href=\"https:\/\/cpanelfree.com\/#plans\" style=\"display: inline-block;background: linear-gradient(135deg, #0284c7 0%, #0369a1 100%);color: #ffffff;padding: 10px 22px;border-radius: 6px;text-decoration: none;font-weight: bold;font-size: 14px\">Claim Free Hosting Account<\/a>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>Why Glances Is the Ultimate All-in-One Server Monitoring Tool While terminal utilities like htop and full observability stacks like Prometheus\/Grafana serve distinct purposes, system administrators often desire a lightweight, instant visual web dashboard that requires zero database setup and displays complete real-time hardware telemetry\u2014CPU core loads, NVMe I\/O throughput, network interface bandwidth, Docker container states, [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":2517,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[166],"tags":[],"class_list":["post-1920","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-developer-stacks"],"_links":{"self":[{"href":"https:\/\/cpanelfree.com\/blog\/wp-json\/wp\/v2\/posts\/1920","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/cpanelfree.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/cpanelfree.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/cpanelfree.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/cpanelfree.com\/blog\/wp-json\/wp\/v2\/comments?post=1920"}],"version-history":[{"count":5,"href":"https:\/\/cpanelfree.com\/blog\/wp-json\/wp\/v2\/posts\/1920\/revisions"}],"predecessor-version":[{"id":2317,"href":"https:\/\/cpanelfree.com\/blog\/wp-json\/wp\/v2\/posts\/1920\/revisions\/2317"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/cpanelfree.com\/blog\/wp-json\/wp\/v2\/media\/2517"}],"wp:attachment":[{"href":"https:\/\/cpanelfree.com\/blog\/wp-json\/wp\/v2\/media?parent=1920"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/cpanelfree.com\/blog\/wp-json\/wp\/v2\/categories?post=1920"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/cpanelfree.com\/blog\/wp-json\/wp\/v2\/tags?post=1920"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}