@@ -11,7 +11,7 @@ cron_schedule = */5 * * * *
1111description = Collects dashboard view metrics from splunkd_ui_access logs
1212dispatch.earliest_time = -5m
1313dispatch.latest_time = now
14- enableSched = 0
14+ enableSched = 1
1515search = index=_internal sourcetype=splunkd_ui_access uri_path="/*/app/*" | rex field=uri_path "/[^/]+/app/(?<app>[^/]+)/(?<dashboard_name>[^/?]+)" | where isnotnull(dashboard_name) AND dashboard_name!="search" AND dashboard_name!="home" AND dashboard_name!="launcher" AND dashboard_name!="analytics_workspace" | eval dashboard_uri="/app/".app."/".dashboard_name | lookup dashboard_registry dashboard_uri OUTPUT pretty_name | where isnotnull(pretty_name) | stats count by dashboard_uri, pretty_name, app, user | eval activity_type="view", metric_name="dashboard.views" | mcollect index=caca_metrics split=t pretty_name app user activity_type
1616schedule_priority = default
1717schedule_window = 5
@@ -24,7 +24,7 @@ cron_schedule = */10 * * * *
2424description = Collects dashboard edit/creation metrics from audit logs
2525dispatch.earliest_time = -10m
2626dispatch.latest_time = now
27- enableSched = 0
27+ enableSched = 1
2828search = index=_audit action=edit_ui_view | rex field=object "(?<app>[^:]+):(?<dashboard_name>.+)" | where isnotnull(dashboard_name) | eval dashboard_uri="/app/".app."/".dashboard_name | lookup dashboard_registry dashboard_uri OUTPUT pretty_name app as reg_app owner | where isnotnull(pretty_name) | stats count by dashboard_uri, pretty_name, app, user | eval activity_type="edit", metric_name="dashboard.edits" | mcollect index=caca_metrics split=t pretty_name app user activity_type
2929schedule_priority = default
3030schedule_window = 5
@@ -37,7 +37,7 @@ cron_schedule = */15 * * * *
3737description = Collects dashboard health metrics including errors and performance
3838dispatch.earliest_time = -15m
3939dispatch.latest_time = now
40- enableSched = 0
40+ enableSched = 1
4141search = index=_internal (sourcetype=splunkd log_level=ERROR OR log_level=WARN) (component=ScheduledViewsReporter OR component=DashboardController OR component=SimpleXML) | rex field=_raw "view=(?<dashboard_name>[^\\s,]+)" | rex field=_raw "app=(?<app>[^\\s,]+)" | where isnotnull(dashboard_name) AND isnotnull(app) | eval dashboard_uri="/app/".app."/".dashboard_name | lookup dashboard_registry dashboard_uri OUTPUT pretty_name app as reg_app owner | where isnotnull(pretty_name) | stats count by dashboard_uri, pretty_name, app, log_level | eval severity=lower(log_level), activity_type="health", metric_name="dashboard.errors" | mcollect index=caca_metrics split=t pretty_name app severity activity_type
4242schedule_priority = default
4343schedule_window = 5
@@ -50,7 +50,7 @@ cron_schedule = */10 * * * *
5050description = Collects dashboard load time and performance metrics
5151dispatch.earliest_time = -10m
5252dispatch.latest_time = now
53- enableSched = 0
53+ enableSched = 1
5454search = index=_internal sourcetype=splunkd_ui_access uri_path="/*/app/*" | rex field=uri_path "/[^/]+/app/(?<app>[^/]+)/(?<dashboard_name>[^/?]+)" | where isnotnull(dashboard_name) AND isnotnull(spent) | eval dashboard_uri="/app/".app."/".dashboard_name | lookup dashboard_registry dashboard_uri OUTPUT pretty_name app as reg_app owner | where isnotnull(pretty_name) | eval load_time_ms=tonumber(spent) | where isnotnull(load_time_ms) AND load_time_ms > 0 | stats sum(load_time_ms) as total_load_time, count as request_count by dashboard_uri, pretty_name, app, user | eval _value=round(total_load_time/request_count, 2), activity_type="performance", metric_name="dashboard.load_time" | mcollect index=caca_metrics split=t _value pretty_name app user activity_type
5555schedule_priority = default
5656schedule_window = 5
@@ -67,7 +67,7 @@ cron_schedule = 0 2 * * *
6767description = Automatically updates dashboard registry via REST API, respecting app filter configuration
6868dispatch.earliest_time = -5m
6969dispatch.latest_time = now
70- enableSched = 0
70+ enableSched = 1
7171search = | rest /services/data/ui/views splunk_server=local count=0 | search isDashboard=1 OR isVisible=1 | eval dashboard_uri="/app/".'eai:acl.app'."/".title | eval pretty_name=coalesce(label, title) | eval app='eai:acl.app' | eval owner='eai:acl.owner' | eval sharing='eai:acl.sharing' | rex field="eai:data" "<description>(?<xml_description>.*?)</description>" | eval description=coalesce(xml_description, "") | eval status="active" | lookup app_filter app OUTPUT include | where isnull(include) OR include="true" OR include="1" OR include="yes" | fields - include | table dashboard_uri pretty_name app owner sharing description status | outputlookup dashboard_registry.csv
7272schedule_priority = default
7373dispatchAs = owner
0 commit comments