Open app

What the agent collects

The agent is a single Go binary that observes and summarizes only. It never runs remediation, never opens an inbound port, and never accepts a command from the server.

What it collects

CollectorWhat it reports
HostHostname, OS and version, kernel, architecture, a stable machine fingerprint
MetricsSystem metrics such as CPU, memory and disk usage over time
PackagesInstalled packages, pending updates, security updates, and whether a restart is required
ServicesRunning and failed services (failed units are named)
DomainsDomains served, read from local Apache / Nginx virtual hosts
CertificatesTLS certificates in use, with issuer, subject and expiry

How often

Collection runs on the interval you set with --interval (default one minute). Metrics benefit from a short cadence; inventory-style facts change rarely and are simply re-sent each pass. Everything is summarized on the host before transmission — Demerzel receives compact facts, not raw log streams.

Idempotent by design

Each observation carries a unique, time-ordered id, so retries and overlapping runs never create duplicates. If the network blips, the agent simply sends again — the server records each fact exactly once.

Outbound-only. The agent talks to Demerzel over HTTPS and nothing talks to the agent. There is no listening socket to secure.