PulseAgent
A lightweight Rust collector that collects host metrics, container logs, Kubernetes pod logs, journald, the Windows Event Log, and arbitrary Prometheus scrape targets — then ships them to your PulseBoard edge over a single bearer token.
Install
# Linux / macOS
curl -sSfL https://pulseboard.dev/install.sh | sh
# Windows
iwr -useb https://pulseboard.dev/install.ps1 | iex
# Kubernetes (DaemonSet via Helm)
helm repo add pulseboard https://charts.pulseboard.dev
helm install pulseagent pulseboard/pulseagent \
--set target.url=https://your-edge \
--set target.token=$PB_KEY
Sources
- host_metrics — CPU, memory, disk, network via sysinfo
- docker — container log streaming via Docker API
- kubernetes_pods — pod log scraping with namespace/label filters
- journald — systemd journal (Linux)
- windows_event_log — Application and System event channels
- prom_scrape — arbitrary
/metricsendpoints - otlp_receiver — local OTLP collector endpoint
- file_logs — tail arbitrary log files with glob patterns
Processors
- batch — buffer and flush on size or time
- relabel — add, drop, or rename labels (Prom-style regex)
- redact_pii — regex-based PII scrubbing before transmission
- cardinality_guard — drop series exceeding a label-value cap
- transform — arithmetic transforms on metric values
Example agent.toml
[sources.host_metrics]
interval_ms = 15000
[sources.docker]
collect_logs = true
[sources.kubernetes_pods]
namespaces = ["payments", "checkout", "default"]
[sources.otlp_receiver]
listen = "127.0.0.1:4318"
forward_traces = true
[processors.redact_pii]
patterns = ["JWT", "CARD16", "EMAIL"]
[[target]]
url = "https://your-edge"
token_env = "PULSE_TOKEN"
Deploy targets
Linux (systemd), macOS (launchd), Windows (service), Kubernetes (DaemonSet via Helm), Docker (image), AWS Lambda (extension layer), GCP Cloud Run (sidecar), GKE (DaemonSet). The same TOML config works across all of them.