- Two flood-detection alerts (per-source message volume, calibrated live against real traffic) grouped by gl2_remote_ip - Session correlation: accelppp_interface fallback tagging plus radius_session_id/calling_station_id/radius_username extraction, so a subscriber's full session lifecycle is searchable by one key - Replace the single combined dashboard with three focused ones (Overview & Alerts, Network Equipment, Servers & Sessions) - Propagate GRAYLOG_ROOT_TIMEZONE and IP-in-alerts fixes into the reusable install script and templates - Add a Forgejo Actions workflow (manual trigger) that re-runs install-graylog.sh on a self-hosted runner living in the container, automating the deploy step this project has done by hand all along Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
147 lines
6.3 KiB
JSON
147 lines
6.3 KiB
JSON
{
|
|
"entity": {
|
|
"type": "DASHBOARD",
|
|
"title": "Network Equipment",
|
|
"summary": "Juniper/BDCOM switches, routers and OLTs - vendor breakdown, event types, top devices.",
|
|
"description": "Scoped to the Network Equipment stream only. Default range is 7 days.",
|
|
"search_id": "__SEARCH_ID__",
|
|
"properties": [],
|
|
"requires": {},
|
|
"state": {
|
|
"a2000000-0000-0000-0000-000000000001": {
|
|
"selected_fields": null,
|
|
"static_message_list_id": null,
|
|
"titles": {
|
|
"tab": {"title": "Network Equipment"},
|
|
"widget": {
|
|
"a2000000-0000-0000-0000-000000000011": "Messages Over Time by Event Type",
|
|
"a2000000-0000-0000-0000-000000000012": "Vendor Breakdown",
|
|
"a2000000-0000-0000-0000-000000000013": "Event Types",
|
|
"a2000000-0000-0000-0000-000000000014": "Top Devices"
|
|
}
|
|
},
|
|
"widgets": [
|
|
{
|
|
"id": "a2000000-0000-0000-0000-000000000011",
|
|
"type": "aggregation",
|
|
"filter": null,
|
|
"filters": [],
|
|
"timerange": {"type": "relative", "range": 604800},
|
|
"query": null,
|
|
"streams": ["__NETWORK_STREAM_ID__"],
|
|
"stream_categories": [],
|
|
"config": {
|
|
"row_pivots": [{"fields": ["timestamp"], "type": "time", "config": {"interval": {"type": "auto", "scaling": 1.0}}}],
|
|
"units": {},
|
|
"column_pivots": [{"fields": ["event_type"], "type": "values", "config": {"limit": 10}}],
|
|
"series": [{"config": {"name": "Message count", "thresholds": []}, "function": "count()"}],
|
|
"sort": [],
|
|
"visualization": "bar",
|
|
"visualization_config": {"barmode": "stack", "axis_type": "linear", "axis_config": null},
|
|
"formatting_settings": null,
|
|
"rollup": false,
|
|
"event_annotation": false,
|
|
"row_limit": null,
|
|
"column_limit": 10
|
|
},
|
|
"description": null,
|
|
"context": null
|
|
},
|
|
{
|
|
"id": "a2000000-0000-0000-0000-000000000012",
|
|
"type": "aggregation",
|
|
"filter": null,
|
|
"filters": [],
|
|
"timerange": {"type": "relative", "range": 604800},
|
|
"query": null,
|
|
"streams": ["__NETWORK_STREAM_ID__"],
|
|
"stream_categories": [],
|
|
"config": {
|
|
"row_pivots": [{"fields": ["vendor"], "type": "values", "config": {"limit": 10}}],
|
|
"units": {},
|
|
"column_pivots": [],
|
|
"series": [{"config": {"name": "Message count", "thresholds": []}, "function": "count()"}],
|
|
"sort": [{"type": "series", "field": "count()", "direction": "Descending"}],
|
|
"visualization": "pie",
|
|
"visualization_config": null,
|
|
"formatting_settings": null,
|
|
"rollup": true,
|
|
"event_annotation": false,
|
|
"row_limit": 10,
|
|
"column_limit": null
|
|
},
|
|
"description": null,
|
|
"context": null
|
|
},
|
|
{
|
|
"id": "a2000000-0000-0000-0000-000000000013",
|
|
"type": "aggregation",
|
|
"filter": null,
|
|
"filters": [],
|
|
"timerange": {"type": "relative", "range": 604800},
|
|
"query": null,
|
|
"streams": ["__NETWORK_STREAM_ID__"],
|
|
"stream_categories": [],
|
|
"config": {
|
|
"row_pivots": [{"fields": ["event_type"], "type": "values", "config": {"limit": 15}}],
|
|
"units": {},
|
|
"column_pivots": [],
|
|
"series": [{"config": {"name": "Message count", "thresholds": []}, "function": "count()"}],
|
|
"sort": [{"type": "series", "field": "count()", "direction": "Descending"}],
|
|
"visualization": "table",
|
|
"visualization_config": {"pinned_columns": [], "show_row_numbers": true},
|
|
"formatting_settings": null,
|
|
"rollup": true,
|
|
"event_annotation": false,
|
|
"row_limit": 15,
|
|
"column_limit": null
|
|
},
|
|
"description": null,
|
|
"context": null
|
|
},
|
|
{
|
|
"id": "a2000000-0000-0000-0000-000000000014",
|
|
"type": "aggregation",
|
|
"filter": null,
|
|
"filters": [],
|
|
"timerange": {"type": "relative", "range": 604800},
|
|
"query": null,
|
|
"streams": ["__NETWORK_STREAM_ID__"],
|
|
"stream_categories": [],
|
|
"config": {
|
|
"row_pivots": [{"fields": ["source"], "type": "values", "config": {"limit": 15}}],
|
|
"units": {},
|
|
"column_pivots": [],
|
|
"series": [{"config": {"name": "Message count", "thresholds": []}, "function": "count()"}],
|
|
"sort": [{"type": "series", "field": "count()", "direction": "Descending"}],
|
|
"visualization": "table",
|
|
"visualization_config": {"pinned_columns": [], "show_row_numbers": true},
|
|
"formatting_settings": null,
|
|
"rollup": true,
|
|
"event_annotation": false,
|
|
"row_limit": 15,
|
|
"column_limit": null
|
|
},
|
|
"description": null,
|
|
"context": null
|
|
}
|
|
],
|
|
"widget_mapping": {
|
|
"a2000000-0000-0000-0000-000000000011": ["a2000000-0000-0000-0000-000000000011"],
|
|
"a2000000-0000-0000-0000-000000000012": ["a2000000-0000-0000-0000-000000000012"],
|
|
"a2000000-0000-0000-0000-000000000013": ["a2000000-0000-0000-0000-000000000013"],
|
|
"a2000000-0000-0000-0000-000000000014": ["a2000000-0000-0000-0000-000000000014"]
|
|
},
|
|
"positions": {
|
|
"a2000000-0000-0000-0000-000000000011": {"col": 1, "row": 1, "height": 4, "width": "Infinity"},
|
|
"a2000000-0000-0000-0000-000000000012": {"col": 1, "row": 5, "height": 4, "width": 6},
|
|
"a2000000-0000-0000-0000-000000000013": {"col": 7, "row": 5, "height": 4, "width": 6},
|
|
"a2000000-0000-0000-0000-000000000014": {"col": 1, "row": 9, "height": 4, "width": "Infinity"}
|
|
},
|
|
"formatting": {"highlighting": []},
|
|
"display_mode_settings": {"positions": {}}
|
|
}
|
|
}
|
|
},
|
|
"share_request": {"selected_grantee_capabilities": {}}
|
|
}
|