pylon-beacon is our open-source agent: a single static binary that pushes your node's vitals to PylonMon — CPU, memory, per-mount disk, temperature, load, uptime, and anything you add. And because it lives inside your network, it can watch everything around it too: LAN devices, SNMP gear, a whole Proxmox cluster, even your logs. Outbound-only, so it works behind NAT, CGNAT, and firewalls, on any box you'd never open a port on. Free for your first 3 nodes.
curl -fsSL https://pylonmon.com/beacon.sh | sh
irm https://pylonmon.com/beacon.ps1 | iex
node-exporter opens a port and waits to be scraped — which means firewall rules, reachability, and running Prometheus. pylon-beacon only makes outbound requests. Zero ports, zero attack surface.
A box in a colo, a VM behind a corporate firewall, a client site whose network you don't control — if it can reach the internet, it can report in.
Miss a few pushes and PylonMon pages you — the same dead-man's-switch that protects a cron job now protects a whole machine.
CPU, memory, per-mount disk, and temperature with
sparklines and daily min/avg/max — plus threshold alerts (disk > 90%) with no Prometheus
in sight.
Add any metric with one config line — the first number a command prints becomes a data point. GPU temp, queue depth, RAID health, your call.
Beacons authenticate with an ingest-scoped key — it can send metrics and nothing else, so it's safe on every box you own.
Vitals were just the start. The beacon stands inside your network — so one config file turns it into the inside half of your monitoring, shipping everything out with the same push:
Our off-site pollers can never reach the NAS at
192.168.x or the hypervisor's UI — that's the point of off-site. The beacon already lives
inside: [probes] checks http, tcp and ping targets from where it stands, and each probe
becomes its own monitor in PylonMon with real latency, incidents and alerts.
[snmp] polls the devices that can't run
an agent — switches, firewalls, UPSes, PDUs — and pushes their readings out, so a switch with no internet
route of its own still gets watched.
On a hypervisor the host is the least interesting
half: it can idle at 4% CPU while a VM has been off since Tuesday. One [proxmox] section
reports the cluster's inventory — every VM and container — alongside the host's own vitals.
A few tracebacks an hour is life on the internet;
forty in five minutes is an incident. [logwatch] tails a file, counts regex matches in a
rolling window, and reports the count as a metric — with the latest matched block riding along, so the page
that wakes you shows the actual traceback.
[logs] streams the lines to PylonMon's
log search (live tail included) — and onto every incident, so the log lines from around the moment
things broke sit on the same screen that paged you.
The wire format is documented JSON over HTTPS — anything that can POST can report in. Weird boxes welcome.
| pylon-beacon | node-exporter + Prometheus | |
|---|---|---|
| Direction | Pushes out | Scraped (inbound) |
| Open ports | None | Yes (9100) |
| Works behind NAT | Yes | Only with a tunnel/VPN |
| Needs Prometheus | No | Yes (+ Alertmanager) |
| Watches the LAN around it | Yes — http/tcp/ping probes, SNMP, Proxmox | No (separate exporters each) |
| Logs | Rate alerts + shipping built in | Separate stack (Loki/promtail) |
| Alerting included | Yes — threshold rules + heartbeat | Configure PromQL rules |
| Setup | One command | Exporter + Prom + Alertmanager + rules |
| Cost | Free for 3 nodes | Free, self-hosted (you run the stack) |
Already run Prometheus? Great — PylonMon ingests your Alertmanager alerts too. pylon-beacon is for everywhere you don't want to stand up a monitoring stack.
After installing, point it at your workspace with an ingest key and (optionally) extend what it collects:
# /etc/pylon-beacon.conf
key = pm_xxxxxxxxxxxx # an ingest-scoped key (Settings → Admin → Status page & API)
interval = 20
[custom] # first number in the output becomes the metric
gpu_temp_c = nvidia-smi --query-gpu=temperature.gpu --format=csv,noheader
queue_depth = redis-cli llen jobs
The first push auto-creates a node monitor named after the machine — no clicking. Full reference in the docs, and the source is on GitHub (MIT).
Install the agent, watch a machine appear in PylonMon within a minute, and get paged the moment it goes
quiet — with vital threshold alerts (disk > 90%) on every plan. Need more than 3? Pro ($9/mo) raises it to your full monitor cap.