What's Changed
- feat: ASN enrichment from the GeoLite2 ASN database by @GilbN in #144
- feat: Top ASNs analytics view with datacenter tagging by @GilbN in #145
- feat: backfill-asn CLI for historical rows by @GilbN in #146
- feat: Traffic origin KPIs on the Summary dashboard by @GilbN in #148
- feat(asn): classification transparency, Hosting relabel, Summary loading fixes by @GilbN in #155
- fix(tables): persist the Columns picker selection by @GilbN in #156
- fix(asn): release review fixes by @GilbN in #158
v0.10.0
GeoMetrikks now knows which network each request came from. Every request is enriched with its ASN from the free GeoLite2 ASN database, and the analytics views show how much of your traffic comes from hosting providers.
Added
- ASN enrichment. Every ingested request records the autonomous system number and organization from the MaxMind GeoLite2 ASN database, downloaded and refreshed with the same credentials as the City database (
GEOIP_ASN_ENABLED=falseopts out). Missing credentials or a failed download never block ingestion; those rows carry no ASN data. - Live map popups show the ASN behind each request, and the access-logs table gains ASN and AS organization columns.
- Analytics gains a Top ASNs view: a Traffic origin card with the hosting-vs-other split for the selected range and a Top ASNs table, backed by per-ASN continuous aggregates and
GET /api/v1/analytics/top-asns. Hosting tagging uses a bundled list (the MIT-licensed brianhama/bad-asn-list) applied at read time, so list updates apply to all history. Unlisted networks read as Other, never residential. An info tooltip explains the classification, and Settings > About links the list to its source and opens it in a searchable dialog. - The Summary dashboard gains a Traffic origin section with the hosting share and the busiest network for the selected range.
- Settings > Status warns when ASN enrichment is enabled but the database is missing,
/healthreports the ASN database's availability and build date, and Settings > About shows both GeoLite2 editions. litestar backfill-asnstamps ASN data onto history ingested before this release. It asks for confirmation, decompresses compressed chunks first, works in bounded chunks, and refreshes the ASN aggregates. See the README for the checkpoint tuning that keeps large backfills from flooding the WAL.- The Top URLs and Top user agents tables sit side by side on wide screens.
Fixed
- The Columns picker on the Access Logs, Geo Logs, and Debug Logs tables remembers its selection across reloads, with a "Reset to defaults" item, and no longer wraps its labels.
- The Summary dashboard shows placeholder cards for every section while loading and fetches the Traffic origin data alongside the summary instead of after it.
Upgrade notes
- Existing history has no ASN data until you run
litestar backfill-asninside the container. On a large database, raisemax_wal_sizeandcheckpoint_timeoutfirst as described in the README. - The ASN database downloads on first start with your existing
MAXMINDDB_*credentials. Without credentials the app runs as before and Settings > Status shows an advisory.
Full Changelog: v0.9.0...v0.10.0