Add Tier-1 per-app Vector transform pipelines (structured logs) #318
Reference in New Issue
Block a user
Delete Branch "benvin/vector-tier1-pipelines"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Why: the logging aggregator wrote every event through the generic catch-all shape. The Tier-1 survey picked six high-value log sources that warrant structured parsing into logs.raw columns/fields for real querying.
How:
aggregator.yaml:app_routepeels off the six Tier-1 streams by subject / VM source tag (mutually exclusive — no double-insert); everything else falls throughapp_route._unmatchedto the unchanged generic k8s/vm catch-all.logs.rawshape plus structured.fields(Map(String,String) — no DDL change): authentik (JSON), traefik (JSON access), vault audit (JSON), nginx access+error (regex), haproxy httplog (regex), glauth (JSON).format: json(both overlays) sotraefik_parsehas structured input.vector testcases (routing + field extraction) inaggregator-tests.yaml; all green locally (vector 0.57).Live now: authentik + traefik (k8s). Awaiting the puppet-side vector rollout (logs.vm.* with
.file/.SYSLOG_IDENTIFIERtags per the documented convention): vault-file, nginx, haproxy, glauth — transforms are present and unit-tested so they light up automatically.Note: geoip enrichment for nginx/traefik client IPs is a separate prerequisite — no enrichment table exists in the aggregator yet; these transforms extract
client_ipready for it.https://claude.ai/code/session_015ur3i7D2azsMAWTSVABApv