diff --git a/docs/releasenotes.rst b/docs/releasenotes.rst index ba1973aa..8963b5c3 100644 --- a/docs/releasenotes.rst +++ b/docs/releasenotes.rst @@ -1,6 +1,24 @@ Release notes ############# +Version 1.2.23 +============== + +**CAUTION:** + +This is a new main release branch, TrackMe 1.2.x requires the deployment of the following dependencies: + +- Semicircle Donut Chart Viz, Splunk Base: https://splunkbase.splunk.com/app/4378 +- Splunk Machine Learning Toolkit, Splunk Base: https://splunkbase.splunk.com/app/2890 + +TrackMe requires a summary index (defaults to trackme_summary) and a metric index (defaults to trackme_metrics): +https://trackme.readthedocs.io/en/latest/configuration.html + +- Fix: Exclusion of metrics generated by TrackMe itself would exclude other metrics generated on the same search head +- Fix: Issue #151 - error handling does not catch a failure during the creation of a new elastic source #151 +- Fix: Issue #154 - Splunk Cloud vetting - capability in role will not be be granted #154 +- Fix: Issue #155 - Splunk Cloud - In some specific contexts, Elastic source dedicated tracker creation fails #155 + Version 1.2.22 ============== diff --git a/trackme/app.manifest b/trackme/app.manifest index 29923d9d..8f257537 100644 --- a/trackme/app.manifest +++ b/trackme/app.manifest @@ -5,7 +5,7 @@ "id": { "group": null, "name": "trackme", - "version": "1.2.22" + "version": "1.2.23" }, "author": [ { diff --git a/trackme/default/app.conf b/trackme/default/app.conf index ecfbf44a..7083f6f2 100644 --- a/trackme/default/app.conf +++ b/trackme/default/app.conf @@ -16,4 +16,4 @@ label = TrackMe [launcher] author = Guilhem Marchand description = Data tracking system for Splunk -version = 1.2.22 +version = 1.2.23 diff --git a/trackme/default/authorize.conf b/trackme/default/authorize.conf index e0e14b12..b6700f54 100644 --- a/trackme/default/authorize.conf +++ b/trackme/default/authorize.conf @@ -6,6 +6,3 @@ # Minimal import importRoles = user - -# Gives capability to non-admin users to return rest results -dispatch_rest_to_indexers = enabled diff --git a/trackme/default/data/ui/html/TrackMe.html b/trackme/default/data/ui/html/TrackMe.html index 583131fa..5ab43ebf 100644 --- a/trackme/default/data/ui/html/TrackMe.html +++ b/trackme/default/data/ui/html/TrackMe.html @@ -26577,8 +26577,7 @@

Search for audit changes:

"dispatch.earliest_time": tk_input_elastic_source_earliest, "dispatch.latest_time": tk_input_elastic_source_latest, "is_scheduled": "1", - "cron_schedule": "*/5 * * * *", - "schedule_window": "1" + "cron_schedule": "*/5 * * * *" }; // Create a saved search/report as an alert. @@ -26599,12 +26598,19 @@

Search for audit changes:

$("#modal_elastic_source_alert_creation_error").find('.modal-error-message p').text(msg); $("#add_elastic_sources").modal('hide'); - $("#modal_elastic_source_alert_creation_success").modal() + $("#modal_elastic_source_alert_creation_error").modal() done(); return; } else if (err) { - msg = "There was an error creating the saved search/report: " + err; + msg = "There was an error creating the saved search/report: error code " + err.status; + + let errorStr = "Unknown Error!"; + if (err && err.data && err.data.messages && err.data.messages[0]['text']) { + errorStr = "error code: " + err.status + " - " + err.data.messages[0]['text']; + } else if (err && err.data && err.data.messages) { + errorStr = JSON.stringify( "error code: " + err.status + " - " + err.data.messages); + } // Audit action = "failure"; @@ -26612,33 +26618,35 @@

Search for audit changes:

object = tracker_name; object_category = "elastic_sources_tracker"; object_attrs = tk_elastic_alert_root_search; - result = msg; + result = errorStr; comment = "N/A"; auditRecord(action, change_type, object, object_category, object_attrs, result, comment); - $("#modal_elastic_source_alert_creation_error").find('.modal-error-message p').text(msg); + $("#modal_elastic_source_alert_creation_error").find('.modal-error-message p').text(errorStr); $("#add_elastic_sources").modal('hide'); - $("#modal_elastic_source_alert_creation_success").modal() + $("#modal_elastic_source_alert_creation_error").modal() done(err); return; } - // clean status - unsetToken("start_simulation_elastic_sources"); + else { - // Confirmation message. + // clean status + unsetToken("start_simulation_elastic_sources"); - // Audit - action = "success"; - change_type = "add elastic source tracker"; - object = tracker_name; - object_category = "elastic_sources_tracker"; - object_attrs = tk_elastic_alert_root_search; - result = "N/A"; - comment = "N/A"; - auditRecord(action, change_type, object, object_category, object_attrs, result, comment); + // Confirmation message. - // Store in the KVstore for mapping purposes + // Audit + action = "success"; + change_type = "add elastic source tracker"; + object = tracker_name; + object_category = "elastic_sources_tracker"; + object_attrs = tk_elastic_alert_root_search; + result = "N/A"; + comment = "N/A"; + auditRecord(action, change_type, object, object_category, object_attrs, result, comment); + + // Store in the KVstore for mapping purposes var myendpoint_URl = "{{SPLUNKWEB_URL_PREFIX}}/splunkd/__raw/servicesNS/nobody/trackme/storage/collections/data/kv_trackme_elastic_sources_dedicated/" // Create a dictionary to store the field names and values @@ -26665,12 +26673,15 @@

Search for audit changes:

} }); - msg = "Created saved search/report as alert: " + alert.name; - $("#modal_elastic_source_alert_creation_success").find('.modal-error-message p').text(msg); - $("#add_elastic_sources").modal('hide'); - $("#modal_elastic_source_alert_creation_success").modal() + msg = "Created saved search/report as alert: " + alert.name; + $("#modal_elastic_source_alert_creation_success").find('.modal-error-message p').text(msg); + $("#add_elastic_sources").modal('hide'); + $("#modal_elastic_source_alert_creation_success").modal() + + done(); + + } - done(); }); } else { diff --git a/trackme/default/macros.conf b/trackme/default/macros.conf index 26baf810..6ada38d3 100644 --- a/trackme/default/macros.conf +++ b/trackme/default/macros.conf @@ -33,7 +33,7 @@ iseval = 0 # used as the top of the populating searches for metric indexes [trackme_mstats_main_filter] -definition = metric_name="*" metric_name!="trackme_*" +definition = metric_name="*" metric_name!="trackme*" iseval = 0 [trackme_default_monitored_state] diff --git a/trackme/default/savedsearches.conf b/trackme/default/savedsearches.conf index 1903e3c7..751c7a94 100644 --- a/trackme/default/savedsearches.conf +++ b/trackme/default/savedsearches.conf @@ -558,7 +558,7 @@ search = | inputlookup trackme_metric_host_monitoring\ | rex field=metric_details "metric_category=(?[^\|]*)\|metric_last_time=(?[^\|]*)\|metric_max_lag_allowed=(?[^\|]*)\|metric_current_lag_sec=(?[^\|]*)\|metric_host_state=(?[^\|]*)"\ | `trackme_date_format(detail_metric_last_time)`\ | eval metric_details_human = "metric_category=" . detail_metric_category . "|" . "metric_last_time=" . 'detail_metric_last_time (translated)' . "|" . "metric_current_lag_sec=" . detail_metric_current_lag_sec . "|" . "metric_host_state=" . detail_metric_host_state\ -| fields - detail_* | where NOT (metric_category="trackme") | stats values(*) as "*" by keyid +| fields - detail_* | where NOT match(metric_details, "metric_category=trackme") | stats values(*) as "*" by keyid [TrackMe - metric hosts availability tracker] cron_schedule = */5 * * * * diff --git a/trackme_1222.tgz b/trackme_1222.tgz deleted file mode 100644 index 0b53576d..00000000 Binary files a/trackme_1222.tgz and /dev/null differ diff --git a/trackme_1223.tgz b/trackme_1223.tgz new file mode 100644 index 00000000..5f440c4d Binary files /dev/null and b/trackme_1223.tgz differ