|
| 1 | +# CACA Admin Dashboard |
| 2 | + |
| 3 | +## Overview |
| 4 | + |
| 5 | +The **CACA Admin Dashboard** is a comprehensive administrative control panel designed to streamline dashboard management tasks in Splunk. It consolidates filtering, analysis, and administrative actions into a single, unified interface. |
| 6 | + |
| 7 | +## Purpose |
| 8 | + |
| 9 | +Administrative tasks in the Splunk UI can be cumbersome, requiring navigation between multiple views to: |
| 10 | +- Edit dashboards |
| 11 | +- Change ownership |
| 12 | +- Move objects between apps |
| 13 | +- Delete dashboards |
| 14 | +- Change permissions |
| 15 | + |
| 16 | +The CACA Admin Dashboard solves this by providing: |
| 17 | +1. **Multi-dimensional filtering** to quickly find the dashboards you need to manage |
| 18 | +2. **Comprehensive dashboard listing** with health and performance metrics from CACA |
| 19 | +3. **Quick access** to all common administrative functions |
| 20 | +4. **Actionable recommendations** based on dashboard health and usage data |
| 21 | + |
| 22 | +## Key Features |
| 23 | + |
| 24 | +### 1. Advanced Filtering |
| 25 | + |
| 26 | +Filter dashboards by multiple criteria simultaneously: |
| 27 | + |
| 28 | +- **Dashboard Name**: Wildcard search (e.g., "sales*" or "*report*") |
| 29 | +- **App**: Select one or more apps |
| 30 | +- **Owner**: Select one or more owners |
| 31 | +- **Health Status**: Healthy, Warning, Critical, or Stale |
| 32 | +- **Performance**: Fast (<1s), Good (1-3s), Slow (3-5s), or Very Slow (>5s) |
| 33 | +- **Time Range**: Configurable metrics window (default: 7 days) |
| 34 | + |
| 35 | +**Use Cases:** |
| 36 | +- Find all stale dashboards in the "search" app |
| 37 | +- Identify all dashboards owned by a departing team member |
| 38 | +- List all dashboards with critical health issues |
| 39 | +- Find slow-performing dashboards with high usage |
| 40 | + |
| 41 | +### 2. Dashboard Management Table |
| 42 | + |
| 43 | +The main table displays all dashboards matching your filters with: |
| 44 | + |
| 45 | +- **Dashboard Name** (clickable to open) |
| 46 | +- **App** - Which app contains the dashboard |
| 47 | +- **Owner** - Current owner |
| 48 | +- **Views (7d)** - Number of views in the selected time range |
| 49 | +- **Edits (7d)** - Number of edits |
| 50 | +- **Errors (7d)** - Error count |
| 51 | +- **Avg Load (ms)** - Average load time |
| 52 | +- **Performance** - Visual performance rating (⚡ Fast, ✓ Good, ⚠ Slow, ✗ Very Slow) |
| 53 | +- **Health** - Visual health status (✓ Healthy, ⚠ Warning, ✗ Critical, ☾ Stale) |
| 54 | + |
| 55 | +**Interactions:** |
| 56 | +- Click any dashboard name to open it directly |
| 57 | +- Click any other cell to view detailed analytics |
| 58 | +- Sort by any column |
| 59 | +- Paginated display (50 per page) |
| 60 | + |
| 61 | +### 3. Quick Access Buttons |
| 62 | + |
| 63 | +Direct links to common administrative pages: |
| 64 | +- **Manage All Dashboards** - Access Splunk's dashboard management interface |
| 65 | +- **Create New Dashboard** - Start creating a new dashboard |
| 66 | +- **Settings** - System settings and configuration |
| 67 | +- **Search** - Open the search interface |
| 68 | + |
| 69 | +### 4. Administrative Workflows Guide |
| 70 | + |
| 71 | +Built-in documentation for common tasks: |
| 72 | + |
| 73 | +#### Change Dashboard Ownership |
| 74 | +1. Click "Manage All Dashboards" |
| 75 | +2. Find the dashboard |
| 76 | +3. Click "Edit" → "Edit Permissions" |
| 77 | +4. Change the "Owner" field |
| 78 | +5. Save |
| 79 | + |
| 80 | +#### Move Dashboard Between Apps |
| 81 | +1. Click "Manage All Dashboards" |
| 82 | +2. Find the dashboard |
| 83 | +3. Click "Move" in the Actions column |
| 84 | +4. Select destination app |
| 85 | +5. Move |
| 86 | + |
| 87 | +#### Delete Dashboards (Bulk) |
| 88 | +1. Use filters to narrow down candidates (e.g., stale dashboards) |
| 89 | +2. Review the filtered list |
| 90 | +3. Click "Manage All Dashboards" |
| 91 | +4. Select and delete dashboards |
| 92 | + |
| 93 | +#### Change Permissions |
| 94 | +1. Click dashboard name to open it |
| 95 | +2. Click "Edit" → "Edit Permissions" |
| 96 | +3. Modify read/write permissions |
| 97 | +4. Set sharing scope (app or global) |
| 98 | +5. Save |
| 99 | + |
| 100 | +### 5. Bulk Action Recommendations |
| 101 | + |
| 102 | +Automated analysis that identifies dashboards requiring attention: |
| 103 | + |
| 104 | +- **Priority Levels**: URGENT, HIGH, MEDIUM, CONSIDER |
| 105 | +- **Action Types**: |
| 106 | + - Fix/Debug - Critical or warning health issues |
| 107 | + - Optimize - Performance improvements needed |
| 108 | + - Archive/Delete - Stale or unused dashboards |
| 109 | + - Review - General attention needed |
| 110 | + |
| 111 | +**Recommendations:** |
| 112 | +- "URGENT: Fix errors AND optimize performance" - Dashboard with critical health AND slow performance |
| 113 | +- "HIGH: Fix critical errors" - Dashboard with critical health issues |
| 114 | +- "HIGH: Optimize performance (very slow)" - Dashboard taking >10 seconds to load |
| 115 | +- "MEDIUM: Review and fix warnings" - Dashboard with warnings |
| 116 | +- "MEDIUM: Optimize performance" - Dashboard taking >5 seconds to load |
| 117 | +- "CONSIDER: Archive or delete if not needed" - Stale dashboard with zero views |
| 118 | + |
| 119 | +## Usage Examples |
| 120 | + |
| 121 | +### Example 1: Clean Up Stale Dashboards |
| 122 | +1. Set **Health Status** filter to "☾ Stale" |
| 123 | +2. Review the list of dashboards not viewed in 30+ days |
| 124 | +3. Check the "Bulk Action Recommendations" panel for specific guidance |
| 125 | +4. Use "Manage All Dashboards" to delete or archive them |
| 126 | + |
| 127 | +### Example 2: Transfer Ownership for Departing Team Member |
| 128 | +1. Set **Owner** filter to the departing user's username |
| 129 | +2. Review all their dashboards |
| 130 | +3. Note the apps and usage patterns |
| 131 | +4. Follow the "Change Dashboard Ownership" workflow for each dashboard |
| 132 | + |
| 133 | +### Example 3: Identify and Fix Performance Issues |
| 134 | +1. Set **Performance** filter to "✗ Very Slow" |
| 135 | +2. Review dashboards with >5 second load times |
| 136 | +3. Check "Views (7d)" to prioritize high-traffic dashboards |
| 137 | +4. Click dashboard name to open and investigate/optimize |
| 138 | + |
| 139 | +### Example 4: Find All Broken Dashboards in Production App |
| 140 | +1. Set **App** filter to your production app name |
| 141 | +2. Set **Health Status** filter to "✗ Critical" |
| 142 | +3. Review error counts and view the recommendations |
| 143 | +4. Click each dashboard to view error details and fix |
| 144 | + |
| 145 | +### Example 5: Audit Dashboard Permissions |
| 146 | +1. Set **App** filter to specific app(s) |
| 147 | +2. Review the owner column |
| 148 | +3. Click each dashboard name to check permissions |
| 149 | +4. Follow the "Change Permissions" workflow to adjust as needed |
| 150 | + |
| 151 | +## Integration with Other CACA Views |
| 152 | + |
| 153 | +The CACA Admin Dashboard integrates seamlessly with other CACA dashboards: |
| 154 | + |
| 155 | +- **Dashboard Leaderboard** - High-level overview of all dashboards |
| 156 | +- **Poop Deck** - Deep-dive analytics for gems, crap, broken, and slow dashboards |
| 157 | +- **Dashboard Details** - Detailed metrics and history for individual dashboards |
| 158 | + |
| 159 | +Navigate between these views using the navigation menu or the links at the bottom of each dashboard. |
| 160 | + |
| 161 | +## Best Practices |
| 162 | + |
| 163 | +1. **Regular Audits**: Use the admin dashboard weekly or monthly to identify stale content |
| 164 | +2. **Performance Monitoring**: Set up a routine to check for slow dashboards and optimize them |
| 165 | +3. **Health Checks**: Regularly review dashboards with critical or warning status |
| 166 | +4. **Ownership Management**: Ensure all dashboards have active owners |
| 167 | +5. **Bulk Operations**: Use filters to batch similar administrative tasks |
| 168 | +6. **Documentation**: Update dashboard descriptions to help identify purpose during cleanup |
| 169 | + |
| 170 | +## Access Requirements |
| 171 | + |
| 172 | +To use the CACA Admin Dashboard effectively, you need: |
| 173 | + |
| 174 | +- Read access to the CACA metrics index (`caca_metrics`) |
| 175 | +- Read access to the dashboard registry lookup |
| 176 | +- Appropriate Splunk role permissions to: |
| 177 | + - View dashboards across apps |
| 178 | + - Edit dashboards (for modifications) |
| 179 | + - Manage dashboards (for delete/move operations) |
| 180 | + - Change permissions (for ownership and permission changes) |
| 181 | + |
| 182 | +## Troubleshooting |
| 183 | + |
| 184 | +### No Dashboards Appearing |
| 185 | +- Verify the dashboard registry is populated: `| inputlookup dashboard_registry` |
| 186 | +- Check that metrics are being collected: `| mstats count WHERE index=caca_metrics` |
| 187 | +- Ensure filters aren't too restrictive (try resetting to defaults) |
| 188 | + |
| 189 | +### Filters Not Working |
| 190 | +- Click the "Submit" button after changing filters |
| 191 | +- Check for typos in the name filter (use wildcards: *) |
| 192 | +- Verify app/owner names match exactly what's in the registry |
| 193 | + |
| 194 | +### Links Not Working |
| 195 | +- Ensure you have appropriate permissions to access management pages |
| 196 | +- Some links require admin or power user roles |
| 197 | +- Check that you're logged into Splunk with sufficient privileges |
| 198 | + |
| 199 | +## Technical Details |
| 200 | + |
| 201 | +**File Location**: `default/data/ui/views/caca_admin.xml` |
| 202 | + |
| 203 | +**Dependencies**: |
| 204 | +- `dashboard_registry.csv` lookup |
| 205 | +- `caca_metrics` index |
| 206 | +- Search macro: `get_all_dashboards_summary` |
| 207 | + |
| 208 | +**Performance Considerations**: |
| 209 | +- Initial load may take a few seconds if you have many dashboards |
| 210 | +- Filters are applied on submit to improve performance |
| 211 | +- Time range affects query performance (shorter = faster) |
| 212 | + |
| 213 | +## Future Enhancements |
| 214 | + |
| 215 | +Potential future improvements: |
| 216 | +- Bulk permission changes |
| 217 | +- Scheduled cleanup workflows |
| 218 | +- Dashboard cloning functionality |
| 219 | +- Export filtered list to CSV |
| 220 | +- Custom action templates |
| 221 | +- Integration with change management systems |
| 222 | + |
| 223 | +## Support |
| 224 | + |
| 225 | +For issues or feature requests, please open a GitHub issue in the CACA repository. |
0 commit comments