mrkeyoor.com_
Sat 03 Oct 13:22 UTC
Self-Hostedevaluationupdated 03 Oct 2026

glances review

Glances is a cross-platform system monitor that shows CPU, memory, disks, networks, processes, containers, and sensors in a terminal or browser. It can also serve those readings through REST, XML-RPC, Python, and MCP interfaces, then export them to monitoring databases and message brokers.

Verdict

Our Glances run installed 215 packages and used 927 MB, then the suite stopped before collection because UID 1000 had no passwd entry. Use Glances when one tool must cover terminal checks, a Web dashboard, exports, and API access across several operating systems. Keep a smaller monitor for process-only work, and make the full dependency audit plus an unnamed-UID test part of your release gate.

We ran it

Lab card: what happened when we ran glancesScreenshot of glances (nicolargo.github.io/glances)
Install✓ · 90s215 packages · 927 MB
Build✓ · 5s
Tests✗ · 7sran, no count parsed
Known vulns15(pip-audit)
Repo589 files~54,736 lines of source · 14.2 MB · 10 CI workflows · tests dir

Answers from our run

Does glances build from source?

Dependencies installed in 90 seconds (215 packages), and the build succeeded in 5 seconds. We cloned commit 89da4c9 into a clean Debian container with 3 CPUs and no project-specific setup.

Do glances's tests pass?

The test command failed in our container, and its output did not report a pass or fail count.

Does glances have known vulnerabilities in its dependencies?

pip-audit flagged 15 known advisories in the dependency tree at the time of our run.

Who should not use glances?

CI pipelines that must pass under any arbitrary numeric UID: our suite stopped after 7 seconds because UID 1000 had no passwd entry.

What are the alternatives to glances?

htop, btop, Netdata. Our Glances run installed 215 packages and used 927 MB, then the suite stopped before collection because UID 1000 had no passwd entry.

Setup3/5Basic install is simple, while our run pulled 215 packages
Docs4/5Clear modes, extras, containers, platform notes, and API links
Community5/533,725 stars, an October 3 push, and active issue work
Maturity4/5v4.5.7 and long history, offset by our failed suite and audit

Who it’s for

System administrators with Python 3.10+ who want one monitor to work in a terminal, a browser, and client/server mode.
Self-hosters who need local machine and container statistics without adopting a full observability stack.
Developers who want system readings through Python, REST, stdout, CSV, JSON, or an MCP client.
Teams prepared to install only the feature extras their hosts need.

Who it’s NOT for

CI pipelines that must pass under any arbitrary numeric UID: our suite stopped after 7 seconds because UID 1000 had no passwd entry.
Security gates that require a clean dependency audit: pip-audit found 15 known vulnerabilities in our installed environment.
People who only need a small process list: the environment we tested installed 215 packages and occupied 927 MB.
Debian package users expecting the Web UI to work out of the box: the README warns that Debian packages omit its JavaScript static files.
Operators unwilling to track security releases: v4.5.7 patched credential disclosure, SQL injection, and action-command argument injection.

Setup reality

Our fresh Debian sandbox installed commit 89da4c9 in 90 seconds, pulling 215 packages and using 927 MB on disk. The build passed in 5 seconds. The test command failed with exit 4 after 7 seconds, and pip-audit reported 15 known vulnerabilities.

Basic terminal use needs Python 3.10 or newer and no service credential. The Web UI, MCP server, containers, sensors, GPUs, and exporters use separate extras. Database exports need the matching database and connection settings.

Tests stopped while importing Glances because getpass.getuser() could not resolve the container's UID 1000 through pwd.getpwuid(). Our scan found 10 CI workflows and a tests directory, but no Dockerfile. The README does document published container images and Compose files.

One process covers the terminal, browser, API, and exports

Glances v4.5.7 can replace several small diagnostic commands when you need a quick read on one machine. Its terminal view covers CPU, memory, load, filesystems, network traffic, processes, temperatures, fans, and supported container engines. Run it with -w and the same collector becomes a Web dashboard on port 61208. Client/server discovery, raw stdout, CSV, JSON, and a Python API give scripts access to the same readings.

The broader appeal is transport. Glances exports to Prometheus, InfluxDB, PostgreSQL and TimescaleDB, ClickHouse, Kafka, NATS, and other targets named in the README. Since version 4.5.1, the Web mode can also expose an MCP server for assistants such as Claude and Cursor. That makes Glances useful as a local inspector and as a bridge into another monitoring system, but each extra adds dependencies and configuration.

The measured source install is much larger than the checkout

The shortest route is pip install glances, and the core package requires Python 3.10 or newer. Web, containers, GPU data, sensors, exports, SNMP, Wi-Fi, and MCP are split into optional extras. This is a sensible package design. A machine that only needs the terminal view does not need database clients or an AI protocol server. The README also warns that building psutil may require Python headers and a compiler.

Our source installation took 90 seconds, pulled 215 packages, and occupied 927 MB. The checkout itself was 14.2 MB, with 589 files and about 54,736 lines of source. Those figures describe the environment we tested. The README exposes a glances[all] option, but you should choose extras per host instead of copying the broadest package set into every server image.

What happened when we ran it

Our sandbox installed commit 89da4c9 successfully in 90 seconds and built it in 5 seconds. We measured that checkout in a Debian sandbox with 3 CPUs and 8 GB of RAM. Our measurement setup used Python 3.12 with no secrets or elevated privileges. Pip-audit reported 15 known vulnerabilities in the resulting 927 MB environment. We did not measure dashboard latency, sampling overhead, or exporter throughput, so these results should not be read as performance numbers.

The test command failed with exit 4 after 7 seconds, before pytest collected the suite. Importing glances.logger builds a log filename with getpass.getuser(). Python then called pwd.getpwuid(os.getuid()) for UID 1000, and that lookup raised KeyError: 'getpwuid(): uid not found: 1000'. The log shows an identity lookup failure. It does not show a failed monitor plugin, a broken exporter, or a test count.

An unnamed UID blocks this checkout before test collection

commit 89da4c9 did not complete its test gate in an unprivileged container whose UID 1000 had no passwd entry. That is a concrete problem for containerized CI systems that assign numeric identities without adding them to /etc/passwd. A green result from a developer laptop would not answer this case. Reproduce the suite under the same identity model used by your build workers before accepting the project.

The repository still shows substantial test infrastructure: our scan found a tests directory and 10 CI workflow files. It had no Dockerfile in the checkout, although the README supplies commands for official Alpine and Ubuntu images plus Docker Compose. Those examples mount the Docker or Podman socket, use the host PID namespace, and may use host networking. Review those permissions rather than treating the sample command as a neutral default.

Web and MCP access increase the patching stakes

Glances starts the Web UI and REST API on port 61208, while --enable-mcp adds an SSE endpoint under /mcp/sse. Version 4.5.7 fixed an unauthenticated credential disclosure in the ports plugin, a ClickHouse export SQL injection, another credentials leak through published plugin limits, and argument injection in alert commands. Those fixes are a direct reason to pin a current release when any interface is reachable beyond localhost.

The full feature set also crosses trust boundaries. Container monitoring reads engine sockets, exporters hold database destinations, and MCP lets an assistant query host statistics. Glances documents separate extras and configuration files, but an operator still owns network exposure and credentials. For a laptop dashboard this is manageable. For a shared server, place the Web endpoint behind the same access controls and update policy used for other administration tools.

October activity is strong, while 91 issues remain open

GitHub showed 33,725 stars and a last push on October 3, 2026, the same date as the measured commit. Release v4.5.7 arrived on September 26 with a long fix list, including Web UI, container, export, and security changes. The repository had 105 combined open issues and pull requests: GitHub search separated that into 91 issues and 14 pull requests. The queue is large, but recent commits and release work show active maintenance.

Glances earns its place when you genuinely use more than one of its faces. The terminal, Web UI, REST output, exporters, and MCP endpoint can keep host inspection consistent across jobs and operating systems. If you only want to sort processes, htop or btop asks less of the machine. If you adopt Glances, test the unnamed-UID case we hit and account for all 215 packages before the full install enters production.

Alternatives

ProjectWhat it isPick it when
htopA focused interactive process viewer for Unix-like systems.pick this instead when process inspection in a terminal is the whole job.
btopA resource monitor with a polished terminal interface and a narrow local focus.pick this instead when you want a responsive local TUI without Web, API, exporter, or MCP features.
Netdata gh↗A monitoring agent and dashboard aimed at persistent, multi-system observability.pick this instead when stored history, alerting, and a fleet view matter more than a portable terminal tool.

What people are saying

  1. [velocity-scout] nicolargo/glances

Sources

  1. Glances README and installation guide
  2. Glances repository metadata and activity
  3. Glances 4.5.7 release notes
  4. Glances open issues and pull requests
  5. Glances MCP API documentation

More self-hosted reviews

lunel · vodiwalker_panel · srs · FluxDown · life-recorder · bank-sampah · the whole board →