PRE-RELEASE v0.7.0

Self-heal device= → ifindex attribution and expose plugin meta
counters in the scrape.

ipng_stats_rescan_interval (default 60s, 0 to disable) runs a
per-worker timer that re-resolves every binding via if_nametoindex,
so interface teardown/recreate (e.g. GRE tunnel reprovision) picks
up the new ifindex without requiring an nginx reload.

nginx_ipng_ifindex_misses_total increments whenever a cmsg-reported
ingress ifindex doesn't match any binding — making stale mappings
observable. Also expose the existing zone_full_events and
flushes_total shared-memory counters, which were tracked but never
emitted. JSON output gains a top-level "meta" object; schema stays
at 2 (additive change).

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-04-18 19:37:15 +02:00
parent 59f3deef66
commit 8e0b1cdde9
5 changed files with 218 additions and 32 deletions

17
debian/changelog vendored
View File

@@ -1,3 +1,20 @@
nginx-ipng-stats-plugin (0.7.0-1) unstable; urgency=medium
* Pre-release v0.7.0.
- New ipng_stats_rescan_interval directive (default 60s, 0 to
disable). Per-worker timer that re-resolves every device= →
ifindex mapping, self-healing attribution after interface
teardown/recreate without requiring nginx -s reload.
- New nginx_ipng_ifindex_misses_total counter: connections whose
ingress ifindex didn't match any configured binding. Surfaces
stale mappings and genuinely-unconfigured interfaces.
- Expose the existing nginx_ipng_zone_full_events_total and
nginx_ipng_flushes_total meta counters in both the Prometheus
and JSON scrape outputs. JSON gains a top-level "meta" object
alongside "records" (schema unchanged, additive).
-- Pim van Pelt <pim@ipng.ch> Sat, 18 Apr 2026 19:36:36 +0200
nginx-ipng-stats-plugin (0.6.0-1) unstable; urgency=medium
* Pre-release v0.6.0.