What the Agent Collects
Overview
The agent uses the open-source systeminformation library to gather metrics, then posts them to https://ingest.pingniner.com/api/server/<key> (or /api/workstation/<key>).
Everything below is what leaves your machine. Nothing else is collected, and the agent never opens a listening port or accepts inbound connections.
The agent is open source, so you can verify all of this yourself at github.com/pingniner/agent.
Inventory data
Collected periodically, describing the machine itself:
| Category | Contents |
|---|---|
| System | Manufacturer, model, version, serial number, UUID, SKU, whether virtualised |
| BIOS | Vendor, version, release date |
| Baseboard | Manufacturer, model, serial, memory slots |
| Chassis | Manufacturer, model, type, serial |
| Operating system | Platform, distro, release, kernel, architecture, hostname, FQDN |
| Versions | Versions of common runtimes and tools found on the machine |
| CPU | Manufacturer, brand, cores, speed, cache |
| Graphics | Controllers and displays |
| Memory layout | Physical modules — size, type, speed, manufacturer |
| Disk layout | Physical disks — vendor, type, size, serial |
| Block devices | Partitions and mount points |
| Network interfaces | Interface names, MAC and IP addresses |
| Battery | Charge level and status, where present |
| Users | User accounts currently logged in |
| Printers, USB, audio, Bluetooth, Wi-Fi | Attached and configured devices |
Live metrics
Collected on every run — every minute for servers, every hour for workstations:
| Category | Contents |
|---|---|
| Time | Uptime, current time, timezone |
| CPU load | Total, user, system, nice, idle, IRQ, steal and guest percentages |
| CPU temperature | Core and chipset temperatures, where the hardware reports them |
| Memory | Total, used, free, active, buffers/cache, swap |
| Filesystems | Size, used and available per mount point |
| Disk I/O | Read and write throughput and operations |
| Filesystem stats | Read and write rates |
| Network stats | Bytes and packets sent/received per interface, plus errors and drops |
| Network connections | Current connection table |
| Internet latency | Ping latency to a reference host |
| Services | Running state of discovered services |
| Processes | Process count and the top processes by resource use |
| Docker | Per-container state, CPU, memory and process count, where Docker is present |
These live metrics are what the server and workstation trigger catalogues are generated from. A trigger type only appears once the corresponding metric has actually been reported.
What is not collected
The agent does not collect:
- File contents, filenames or directory listings
- Environment variables or configuration files
- Database contents
- Application logs
- Keystrokes, screen contents or browser activity
- Credentials, keys or certificates
It reads system-level metrics and hardware inventory only.
Privacy considerations
Some of what the agent collects is identifying: hostnames, MAC addresses, IP addresses, hardware serial numbers, logged-in usernames and the software inventory.
Two things worth deciding deliberately before a wide rollout:
- Workstations are people's machines. Inventory and logged-in usernames are visible to anyone with access to your Pingniner account. Depending on where you operate, tell staff what is being collected — in some jurisdictions you are required to.
- Serial numbers and asset data are useful for inventory but are also exactly what you do not want in a screenshot shared publicly.
Network
- Destination:
ingest.pingniner.com, port 443 (HTTPS) - Direction: outbound only
- Authentication: the monitor key in the URL path
- Inbound ports: none
Add ingest.pingniner.com to any egress allowlist. The agent has no proxy configuration option, so environments requiring an explicit HTTP proxy are not currently supported.
Data retention
Collected metrics are subject to your plan's retention — 24 hours on the free plan, 30 days on paid plans. Older history is deleted automatically. See Plans & Limits.
Incident records are kept permanently.
