mirror of
https://github.com/domainaware/parsedmarc.git
synced 2026-08-15 03:43:27 +00:00
Add auth-result filter controls to the Kibana/OSD aggregate dashboard
The combined per-signature columns fixed the #169 cross-product but left no way to click-filter by an individual selector, domain, or result. Add an "Aggregate DMARC auth result filters" input_control_vis panel above the SPF/DKIM details tables with six option-list dropdowns (DKIM selector/domain/result, SPF scope/domain/result) that emit ordinary dashboard-wide filter pills. Works on both Kibana 8.19 and OpenSearch Dashboards 3, verified by driving the controls in both UIs against the issue's two-signature repro report. Documented in kibana.md, including the flat-mapping caveat: combining two component filters matches documents where any signature satisfies each condition individually. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Fable 5
parent
5c0192e720
commit
1289927822
@@ -13,6 +13,7 @@
|
||||
- **Aggregate-report policy and authentication result words are now normalized to lowercase** ([#288](https://github.com/domainaware/parsedmarc/issues/288)): reporters that emit mixed-case values such as `Pass` no longer create duplicate result categories in outputs and dashboards.
|
||||
- **The results email (SMTP and Microsoft Graph) is no longer sent when no reports were parsed** ([#200](https://github.com/domainaware/parsedmarc/issues/200)): previously an empty run — an empty inbox, or one where every message was invalid — still emailed a zip of headers-only CSVs. The email step is now skipped with an INFO log when the run produced no aggregate, failure, or SMTP TLS reports.
|
||||
- **The DKIM/SPF alignment-detail tables on the Kibana/OpenSearch Dashboards, Grafana (Elasticsearch), and Splunk aggregate dashboards no longer show a selector × domain × result cross-product** ([#169](https://github.com/domainaware/parsedmarc/issues/169)). Elasticsearch/OpenSearch flatten the `dkim_results`/`spf_results` object arrays (they are dynamic-mapped as `object`, not `nested`), so stacking terms aggregations on their subfields produced every combination of selector/domain/result across a report's signatures, each repeating the full message count. Aggregate documents now also carry `dkim_results_combined` and `spf_results_combined` — one `"selector / domain / result"` (`"scope / domain / result"`) string per auth result — and the dashboards aggregate those instead; the Splunk detail panels now pair the values with `mvzip`/`mvexpand`. Documents saved by older versions are now backfilled automatically at startup (a non-blocking, idempotent background task); the documented `_update_by_query` command (see the Elasticsearch docs page) remains available for running the backfill manually. The Grafana "DKIM Alignment Details" panel's dmarcian.com DKIM-checker data link was removed because it required the separate domain/selector columns. The SMTP TLS visualizations have the same class of defect and are tracked separately.
|
||||
- **The Kibana/OpenSearch Dashboards aggregate dashboard now includes an "Aggregate DMARC auth result filters" control panel** above the SPF/DKIM details tables, with dropdowns for DKIM selector/domain/result and SPF scope/domain/result, so results can still be filtered by individual components alongside the combined per-signature columns.
|
||||
- **Corrected the dead `_SPFResult.results` (plural) field declaration to `result`**, matching what was always written to it.
|
||||
|
||||
## 10.2.4
|
||||
|
||||
File diff suppressed because one or more lines are too long
@@ -90,6 +90,16 @@ rather than aggregating them as separate columns. Because a message that
|
||||
carries multiple DKIM signatures appears once per signature, summing the
|
||||
messages column across rows can exceed the total number of messages.
|
||||
|
||||
The "Aggregate DMARC auth result filters" panel above the details tables
|
||||
provides dropdowns for the individual auth-result components — DKIM
|
||||
selector, DKIM domain, DKIM result, SPF scope, SPF domain, and SPF
|
||||
result — and filters the whole dashboard by them. Because components from
|
||||
different signatures of the same message are indexed together, combining
|
||||
two of these component filters matches documents where any signature
|
||||
satisfies each condition individually, not necessarily the same signature;
|
||||
the combined `selector / domain / result` (`scope / domain / result`)
|
||||
column remains the per-signature source of truth.
|
||||
|
||||
:::{note}
|
||||
The alignment tables (SPF details, DKIM details) and the per-IP source
|
||||
table live on the same dashboard, further down. To view failures only,
|
||||
|
||||
Reference in New Issue
Block a user