You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
@@ -26,6 +26,7 @@ While the Splunk Monitoring Console (DMC) focuses on system-level health and per
26
26
-**Usage Tracking**: Track how many times each dashboard is viewed, by which users, and when
27
27
-**Edit History**: Monitor when dashboards are created or modified, and by whom
28
28
-**Health Monitoring**: Detect and track dashboard errors and warnings from internal logs
29
+
-**Performance Monitoring**: Track dashboard load times and identify slow-performing dashboards
29
30
-**Stale Dashboard Detection**: Identify dashboards that haven't been accessed in 30+ days
30
31
31
32
#### Metrics & Analytics
@@ -56,13 +57,14 @@ While the Splunk Monitoring Console (DMC) focuses on system-level health and per
56
57
57
58
The app uses a three-stage pipeline for efficiency:
58
59
59
-
1.**Collect**: Scheduled searches analyze Splunk's internal logs (`_internal`, `_audit`) to track views, edits, and errors
60
+
1.**Collect**: Scheduled searches analyze Splunk's internal logs (`_internal`, `_audit`) to track views, edits, errors, and performance
60
61
2.**Store**: Metrics are written to a dedicated metrics index using `mcollect` for optimal performance
61
62
3.**Query**: Fast retrieval via `mstats` command and reusable search macros
62
63
63
64
**Note on Scheduled Searches**: CACA is powered by lightweight scheduled searches that run at the following intervals:
64
65
- Dashboard views: Every 5 minutes
65
-
- Dashboard edits: Every 10 minutes
66
+
- Dashboard edits: Every 10 minutes
67
+
- Dashboard performance: Every 10 minutes
66
68
- Dashboard health: Every 15 minutes
67
69
- Registry updates: Daily at 2 AM
68
70
@@ -140,6 +142,7 @@ Navigate to **Settings → Searches, reports, and alerts** and enable these sear
140
142
141
143
-**Dashboard Views - Metrics Collector** (runs every 5 minutes)
142
144
-**Dashboard Edits - Metrics Collector** (runs every 10 minutes)
145
+
-**Dashboard Performance - Metrics Collector** (runs every 10 minutes)
143
146
-**Dashboard Health - Metrics Collector** (runs every 15 minutes)
144
147
-**Dashboard Registry - Auto Update** (runs daily at 2 AM)
145
148
@@ -161,20 +164,21 @@ Allow 15-30 minutes for the initial data collection to populate the metrics inde
161
164
162
165
Navigate to **CACA → Dashboard Leaderboard** to view:
163
166
164
-
-**High-Level KPIs**: Total dashboards, views, errors, and stale dashboards
165
-
-**Activity Leaderboard Table**: Sortable list of all dashboards with metrics
166
-
-**Trending Charts**: Viewsand errors over time
167
-
-**Top Dashboards**: Most viewed and most edited dashboards
167
+
-**High-Level KPIs**: Total dashboards, views, errors, average load time, and stale dashboards
168
+
-**Activity Leaderboard Table**: Sortable list of all dashboards with usage, health, and performance metrics
169
+
-**Trending Charts**: Views, errors, and load time trends over time
170
+
-**Top Dashboards**: Most viewed, most edited, and slowest dashboards
168
171
169
172
### Dashboard Details
170
173
171
174
Click any dashboard in the leaderboard to view detailed metrics:
172
175
173
-
- Total views, edits, and errors
174
-
- Activity trends over time
176
+
- Total views, edits, errors, and average load time
177
+
- Activity and performance trends over time
175
178
- Top users by views
176
179
- Edit history
177
180
- Error details with severity
181
+
- Load time analysis (average and maximum)
178
182
179
183
### Adding Badges to Your Dashboards
180
184
@@ -206,27 +210,129 @@ Replace `YOUR_DASHBOARD_NAME` with your dashboard's pretty name from the registr
206
210
207
211
### Using Search Macros
208
212
209
-
CACA provides several search macros for easy querying:
213
+
CACA provides several search macros for easy querying. These macros help you quickly identify dashboards with issues, analyze performance, and understand usage patterns.
210
214
211
-
#### Get dashboard stats:
215
+
**Note:** All macros respect the app filter configuration (see "Filtering Apps for Monitoring" in Configuration section). All results include the `app` field showing which app each dashboard belongs to, making it easy to filter or group results by application.
216
+
217
+
#### Finding Dashboards with Issues
218
+
219
+
##### Identify dashboards with health issues (errors/warnings):
220
+
```spl
221
+
`get_dashboards_with_errors`
222
+
```
223
+
**Returns:** Dashboards with errors or warnings in the last 7 days, sorted by severity
**List dashboards with errors across multiple apps:**
306
+
```spl
307
+
`get_dashboards_with_errors`
308
+
| where app IN ("my_app1", "my_app2", "production_app")
309
+
| sort -errors
310
+
```
311
+
312
+
**List dashboards with errors that are actively used:**
313
+
```spl
314
+
`get_dashboards_with_errors`
315
+
| where errors > 0
316
+
| join type=inner pretty_name [| mstats sum(_value) as views WHERE index=caca_metrics AND metric_name="dashboard.views" BY pretty_name span=1d | where _time >= relative_time(now(), "-7d") | stats sum(views) as views_7d by pretty_name | where views_7d > 10]
| join type=inner pretty_name [| mstats sum(_value) as views WHERE index=caca_metrics AND metric_name="dashboard.views" BY pretty_name span=1d | where _time >= relative_time(now(), "-7d") | stats sum(views) as views_7d by pretty_name]
@@ -236,6 +342,7 @@ Edit `default/savedsearches.conf` or use Splunk Web to modify:
236
342
237
343
-**View tracking frequency**: Default every 5 minutes
238
344
-**Edit tracking frequency**: Default every 10 minutes
345
+
-**Performance tracking frequency**: Default every 10 minutes
239
346
-**Health tracking frequency**: Default every 15 minutes
240
347
-**Registry update frequency**: Default daily at 2 AM
241
348
@@ -248,9 +355,70 @@ Edit `default/indexes.conf` to adjust retention:
248
355
frozenTimePeriodInSecs = 31536000 # 1 year (default)
249
356
```
250
357
251
-
### Excluding Dashboards from Monitoring
358
+
### Filtering Apps for Monitoring
359
+
360
+
CACA can be configured to only monitor dashboards from specific apps, or exclude certain apps from monitoring. This is useful when you only want to track dashboards in production apps, or exclude system/admin apps.
361
+
362
+
#### Configuration Method
363
+
364
+
Edit `lookups/app_filter.csv` to control which apps are monitored:
365
+
366
+
**Include specific apps only:**
367
+
```csv
368
+
app,include
369
+
search,true
370
+
my_production_app,true
371
+
another_app,true
372
+
```
373
+
374
+
**Exclude specific apps:**
375
+
```csv
376
+
app,include
377
+
splunk_monitoring_console,false
378
+
learned,false
379
+
introspection_generator_addon,false
380
+
```
381
+
382
+
**How it works:**
383
+
- If an app is **not listed** in app_filter.csv, it **will be monitored** (default behavior)
384
+
- If an app is listed with `include=true` (or `1` or `yes`), it **will be monitored**
385
+
- If an app is listed with `include=false` (or `0` or `no`), it **will NOT be monitored**
386
+
- The filter applies to:
387
+
- Dashboard registry updates (which dashboards are discovered)
388
+
- All metrics collection (views, edits, errors, performance)
389
+
- All search macros and dashboard queries
390
+
391
+
#### Examples
392
+
393
+
**Monitor only specific production apps:**
394
+
```csv
395
+
app,include
396
+
production_app1,true
397
+
production_app2,true
398
+
production_app3,true
399
+
```
400
+
Then add a wildcard exclusion entry to exclude everything else (optional):
401
+
```csv
402
+
app,include
403
+
production_app1,true
404
+
production_app2,true
405
+
*,false
406
+
```
407
+
408
+
**Exclude system and admin apps:**
409
+
```csv
410
+
app,include
411
+
splunk_monitoring_console,false
412
+
learned,false
413
+
introspection_generator_addon,false
414
+
splunk_instrumentation,false
415
+
```
416
+
417
+
**Note:** After updating `app_filter.csv`, run the "Dashboard Registry - Auto Update" search to rebuild the dashboard registry with the new filter applied.
418
+
419
+
### Excluding Individual Dashboards from Monitoring
252
420
253
-
Edit `lookups/dashboard_registry.csv` and set `status=inactive` for dashboards you want to exclude from collection.
421
+
Edit `lookups/dashboard_registry.csv` and set `status=inactive` for specific dashboards you want to exclude from collection (this is independent of app filtering).
Copy file name to clipboardExpand all lines: default/data/ui/views/dashboard_details.xml
+37Lines changed: 37 additions & 0 deletions
Original file line number
Diff line number
Diff line change
@@ -85,6 +85,25 @@
85
85
</single>
86
86
</panel>
87
87
88
+
<panel>
89
+
<title>Avg Load Time</title>
90
+
<single>
91
+
<search>
92
+
<query>| mstats avg(avg_load_time) as avg_load WHERE index=caca_metrics AND pretty_name="$dashboard_name$" AND metric_name="dashboard.load_time" span=1d
0 commit comments