A readable web dashboard for pm2 — services, memory, restarts, and live log tailing in one page.
Project description
pm2-dash
A readable web dashboard for pm2. Services, memory, CPU, restart counts, and live log tailing in one page. Auto-refreshing, no setup.
I run 57 pm2 services on one box. pm2 monit is a terminal grid that shows a handful at a time and pm2 logs floods every service at once. I wanted the one view pm2 doesn't ship: every service in a sortable table, restart counts I can scan for the one that's flapping, and click-to-tail logs without grepping for a log path. So I built it.
Install
pip install pm2-dash
Run
pm2-dash # http://127.0.0.1:9777
pm2-dash --port 8080
pm2-dash --host 0.0.0.0 # expose on the network (put auth in front of it)
It shells out to pm2 jlist for state and reads each service's log files straight off disk. No pm2 stream stays open, and tailing a multi-GB log reads only the tail, not the whole file.
What it shows
- Every service: id, status, CPU, memory, restart count, uptime, exec mode, pid
- Errored and stopped services surfaced in the header; unstable restarts flagged with a ⚠
- Sorted so anything not
onlinefloats to the top - Click any row to tail its stdout + stderr (last 80 lines)
- The whole thing repolls every 2 seconds
Honest scope
Read-only. It does not start, stop, or restart anything, by design, so it's safe to leave open on a shared box. It reads what pm2 reports; if pm2 can't see a process, neither can this. One CDN script tag (htmx) for the polling; no build step, no node_modules. View source is the entire frontend.
If you bind to 0.0.0.0, put a reverse proxy with auth in front of it. It ships no auth of its own.
License
MIT
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file pm2_dash-0.1.0.tar.gz.
File metadata
- Download URL: pm2_dash-0.1.0.tar.gz
- Upload date:
- Size: 375.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a7c2ffe8c1138ddb8ad3b42e4a9e6d13d2fddb11d23d88b1dbf6a8543af0ec6a
|
|
| MD5 |
94b1d8ba03a6be13c6bca319cdc77ef4
|
|
| BLAKE2b-256 |
8a7b38f0e418df25b9eba8d912e560ea3a112d690f377d3daf9d08f0549ee0af
|
File details
Details for the file pm2_dash-0.1.0-py3-none-any.whl.
File metadata
- Download URL: pm2_dash-0.1.0-py3-none-any.whl
- Upload date:
- Size: 8.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e2640abc3401307a22dba8ff8777b85a69f76e75cfc40651a32f06254f6f069e
|
|
| MD5 |
28ff93cffa40326d14e9f0dedbebd930
|
|
| BLAKE2b-256 |
a4b92180dc5a661839852353eecd4fb55e56df7a3f975747ac23686a2e580a2e
|