-
Notifications
You must be signed in to change notification settings - Fork 0
monitoring overview
GitHub Actions edited this page Jun 1, 2026
·
2 revisions
You will learn how to observe update-ipsets at runtime and what signals matter most.
update-ipsets exposes two independent monitoring surfaces.
Admin status API — a snapshot of runtime state, scheduler counters, queues, feed health, and system resources you query on demand.
- Poll
GET /api/v1/admin/statusat regular intervals. - Scheduler counters live under
metrics. Engine and HTTP counters live underengine.lifetime_metrics.counters. - Queue snapshots live under
queues; process and Go runtime resource snapshots live undersystem. - Sample twice, compute deltas, divide by elapsed time to get rates.
- No collector or agent required. Works with
curl, cron, or any HTTP client.
OpenTelemetry export — continuous push of metrics, traces, and logs to a collector.
- Configure an OTLP endpoint and the daemon pushes data automatically.
- Works with Netdata, Grafana, Jaeger, Honeycomb, or any OTLP-compatible backend.
- Exports application counters, operation duration histograms, optional traces, and logs.
Use the admin API for quick checks and ad-hoc debugging. Use OpenTelemetry for continuous dashboards, alerting, and historical trends.
These signals give the most operational insight.
-
Download failure rate — in OpenTelemetry, compare
download.failed,download.error, anddownload.status.download_failedagainst successful statuses such asdownload.okanddownload.status.downloaded. In the admin API, inspectengine.lifetime_metrics.countersentries beginning withdownload.status.. -
Scheduler throughput — sample
metrics.download_enqueued,metrics.download_started,metrics.download_finished,metrics.processing_enqueued, andmetrics.processing_batches_completed. -
Processing duration — watch
engine.<phase>.duration_ms,engine.last_metrics.phase_times, and operation timings inengine.lifetime_metrics.operations. -
Memory — track
system.rss_kb,system.heap_alloc,system.heap_sys,system.num_gc, and host process charts. Sustained growth aboveGOMEMLIMITsuggests a leak or an unbounded workload. -
Public/API activity — watch HTTP counters in
engine.lifetime_metrics.counters, such ashttp.home_summary.requests,http.compare_set.requests,http.admin_status, andhttp.admin_feeds.
# First sample
curl -s -u "$UPDATE_IPSETS_ADMIN_USER:$UPDATE_IPSETS_ADMIN_PASSWORD" http://localhost:18889/api/v1/admin/status > /tmp/s1.json
sleep 60
# Second sample
curl -s -u "$UPDATE_IPSETS_ADMIN_USER:$UPDATE_IPSETS_ADMIN_PASSWORD" http://localhost:18889/api/v1/admin/status > /tmp/s2.json
# Compare scheduler counters
jq '.metrics | {
download_enqueued,
download_started,
download_finished,
processing_enqueued,
processing_batches_completed,
last_batch_duration_ms
}' /tmp/s1.json /tmp/s2.json
# Inspect downloader status counters recorded by the engine
jq '.engine.lifetime_metrics.counters[]? | select(.name | startswith("download.status."))' /tmp/s2.jsonSee OpenTelemetry Setup for configuration. Once enabled, point your collector at the daemon's OTLP endpoint and build dashboards from the metric names in the Telemetry Reference.
- Daemon Command Reference
- Environment Variables
- Configuration Reload
- Listener Topologies
- Admin Authentication
- Feed Families
- Source Feeds
- Processor Reference
- Static Feeds
- Merge Feeds
- Artifact Parents
- History Derivatives
- Provider Databases
- Use Roles
- Critical Infrastructure Reference Feeds
- Legal Fields
- Feed Visibility & Lifecycle
- YAML Field Reference
- Pipeline Overview
- Download Lifecycle
- Processing Lifecycle
- Feed Status Reference
- Health Classes
- What Triggers Reprocessing
- Accessing the Admin
- Runtime Status
- Feed Inventory
- Artifact Inventory
- Live Queues
- Background Work
- Schedule State
- Operator Actions
- Enable & Disable