-
Notifications
You must be signed in to change notification settings - Fork 0
Comprehensive rewrite: Add configurable settings and improve collectors #3
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Changes from 3 commits
2814725
8f698ae
a24ebc0
8b4a3ef
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change | ||||
|---|---|---|---|---|---|---|
|
|
@@ -77,7 +77,7 @@ The app uses a three-stage pipeline for efficiency: | |||||
| All searches are configured with **low priority** to ensure they do not impact regular user searches or system performance. The searches use efficient `mcollect` commands to write directly to a metrics index, minimizing resource consumption. | ||||||
|
|
||||||
| ## Status | ||||||
| DRAFT - Work in Progress | ||||||
| Version 1.0.0 - Production Ready | ||||||
|
|
||||||
| ## Requirements | ||||||
|
|
||||||
|
|
@@ -406,6 +406,39 @@ Edit `default/indexes.conf` to adjust retention: | |||||
| frozenTimePeriodInSecs = 31536000 # 1 year (default) | ||||||
| ``` | ||||||
|
|
||||||
| ### Configurable Thresholds | ||||||
|
|
||||||
| CACA uses configurable thresholds stored in `lookups/caca_settings.csv`. You can customize these settings to match your environment: | ||||||
|
|
||||||
| | Setting | Default | Description | | ||||||
| |---------|---------|-------------| | ||||||
| | `error_threshold_warning` | 1 | Number of errors to trigger warning status | | ||||||
| | `error_threshold_critical` | 10 | Number of errors to trigger critical status | | ||||||
| | `load_time_fast` | 1000 | Load time (ms) considered fast | | ||||||
| | `load_time_good` | 3000 | Load time (ms) considered good | | ||||||
| | `load_time_slow` | 5000 | Load time (ms) considered slow | | ||||||
| | `load_time_critical` | 10000 | Load time (ms) considered critical | | ||||||
| | `stale_threshold_days` | 30 | Days without views to consider dashboard stale | | ||||||
| | `engagement_edit_weight` | 2 | Weight multiplier for edits in engagement score | | ||||||
| | `engagement_error_penalty` | 5 | Penalty multiplier for errors in engagement score | | ||||||
| | `low_engagement_threshold` | 20 | Views below this in 30 days is low engagement | | ||||||
| | `vip_percentile` | 90 | Percentile threshold for VIP/gem dashboards | | ||||||
|
|
||||||
| **To modify settings:** | ||||||
| 1. Navigate to **Settings → Lookups → Lookup table files** | ||||||
| 2. Find `caca_settings.csv` in the CACA app | ||||||
| 3. Edit the `setting_value` column for any setting | ||||||
| 4. Save changes | ||||||
|
|
||||||
| ### Sample Data Generation (For Testing) | ||||||
|
|
||||||
| CACA includes saved searches to generate sample data for testing and demonstration: | ||||||
|
|
||||||
| 1. **Generate Sample Registry**: Run `CACA - Generate Sample Registry` to populate the dashboard registry with 10 sample dashboards | ||||||
| 2. **Generate Sample Data**: Run `CACA - Generate Sample Data` to generate realistic metrics data | ||||||
|
|
||||||
| **Note:** These searches are disabled by default. Enable and run them manually from **Settings → Searches, reports, and alerts** when you need test data. Disable them in production environments. | ||||||
|
|
||||||
| ### Filtering Apps for Monitoring | ||||||
|
|
||||||
| 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. | ||||||
|
|
@@ -583,6 +616,35 @@ We welcome contributions for any of these roadmap items or new feature ideas. Pl | |||||
|
|
||||||
| ## Release Notes | ||||||
|
|
||||||
| ### Version 1.0.0 (Comprehensive Rewrite) | ||||||
|
|
||||||
| #### New Features | ||||||
| - **Configurable Settings Lookup**: All thresholds (error levels, load times, stale detection, engagement scoring) are now configurable via `lookups/caca_settings.csv` | ||||||
| - **Sample Data Generation**: New saved searches to generate test data for demonstration and testing purposes | ||||||
| - **Enhanced Macros**: 25+ reusable search macros including: | ||||||
| - Settings loading and retrieval macros | ||||||
| - Stale and ghost dashboard detection | ||||||
| - Engagement scoring and VIP dashboard identification | ||||||
| - Customizable time range queries | ||||||
| - System app filtering | ||||||
| - **New Collectors**: | ||||||
| - User engagement collector (tracks unique users per dashboard) | ||||||
| - Registry cleanup job (removes orphaned entries weekly) | ||||||
| - **Alerting**: Pre-built alerts for critical dashboards and slow performance | ||||||
| - **Reports**: Daily activity summary and weekly trend reports | ||||||
|
|
||||||
| #### Improvements | ||||||
| - Fixed all dashboard URL references to use correct app ID (`caca`) | ||||||
| - Improved indexes.conf with metric-specific optimizations | ||||||
| - Better error handling in all collectors | ||||||
| - More robust field extraction in data collection | ||||||
| - Improved performance with tsidx reduction enabled | ||||||
| - All scheduled searches now enabled by default | ||||||
|
||||||
| - All scheduled searches now enabled by default | |
| - Core scheduled searches are enabled by default; some alerts and reports remain disabled until configured |
| Original file line number | Diff line number | Diff line change | ||
|---|---|---|---|---|
| @@ -1,8 +1,25 @@ | ||||
| # Metrics index for dashboard monitoring data | ||||
| # Metrics index for CACA - Content Activity Checking Application | ||||
| # This index stores all dashboard usage, health, and performance metrics | ||||
|
|
||||
| [caca_metrics] | ||||
| datatype = metric | ||||
| homePath = $SPLUNK_DB/caca_metrics/db | ||||
| coldPath = $SPLUNK_DB/caca_metrics/colddb | ||||
| homePath = $SPLUNK_DB/caca_metrics/db | ||||
| coldPath = $SPLUNK_DB/caca_metrics/colddb | ||||
| thawedPath = $SPLUNK_DB/caca_metrics/thaweddb | ||||
| # Retain metrics for 1 year by default | ||||
|
|
||||
| # Retain metrics for 1 year (365 days) by default | ||||
| # Adjust based on your retention requirements | ||||
| frozenTimePeriodInSecs = 31536000 | ||||
|
|
||||
| # Roll buckets to cold after 30 days for storage efficiency | ||||
| coldToFrozenDir = | ||||
|
||||
| coldToFrozenDir = |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Release notes claim that all thresholds (including stale detection, engagement scoring, load times) are configurable via
caca_settings.csv, but several macros still hard-code those values (e.g., staleness=30 days, engagement weights 2/5, performance cutoffs). Either update the note to reflect what’s actually configurable or refactor the remaining macros to read from the lookup.