contentctl 4.1.3__tar.gz → 4.1.4__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (170) hide show
  1. {contentctl-4.1.3 → contentctl-4.1.4}/PKG-INFO +1 -1
  2. {contentctl-4.1.3 → contentctl-4.1.4}/contentctl/actions/new_content.py +0 -1
  3. {contentctl-4.1.3 → contentctl-4.1.4}/contentctl/templates/app_template/default/app.conf +0 -1
  4. {contentctl-4.1.3 → contentctl-4.1.4}/pyproject.toml +1 -1
  5. contentctl-4.1.3/contentctl/templates/app_template/default/usage_searches.conf +0 -73
  6. {contentctl-4.1.3 → contentctl-4.1.4}/LICENSE.md +0 -0
  7. {contentctl-4.1.3 → contentctl-4.1.4}/README.md +0 -0
  8. {contentctl-4.1.3 → contentctl-4.1.4}/contentctl/__init__.py +0 -0
  9. {contentctl-4.1.3 → contentctl-4.1.4}/contentctl/actions/build.py +0 -0
  10. {contentctl-4.1.3 → contentctl-4.1.4}/contentctl/actions/convert.py +0 -0
  11. {contentctl-4.1.3 → contentctl-4.1.4}/contentctl/actions/deploy_acs.py +0 -0
  12. {contentctl-4.1.3 → contentctl-4.1.4}/contentctl/actions/detection_testing/DetectionTestingManager.py +0 -0
  13. {contentctl-4.1.3 → contentctl-4.1.4}/contentctl/actions/detection_testing/GitService.py +0 -0
  14. {contentctl-4.1.3 → contentctl-4.1.4}/contentctl/actions/detection_testing/generate_detection_coverage_badge.py +0 -0
  15. {contentctl-4.1.3 → contentctl-4.1.4}/contentctl/actions/detection_testing/infrastructures/DetectionTestingInfrastructure.py +0 -0
  16. {contentctl-4.1.3 → contentctl-4.1.4}/contentctl/actions/detection_testing/infrastructures/DetectionTestingInfrastructureContainer.py +0 -0
  17. {contentctl-4.1.3 → contentctl-4.1.4}/contentctl/actions/detection_testing/infrastructures/DetectionTestingInfrastructureServer.py +0 -0
  18. {contentctl-4.1.3 → contentctl-4.1.4}/contentctl/actions/detection_testing/progress_bar.py +0 -0
  19. {contentctl-4.1.3 → contentctl-4.1.4}/contentctl/actions/detection_testing/views/DetectionTestingView.py +0 -0
  20. {contentctl-4.1.3 → contentctl-4.1.4}/contentctl/actions/detection_testing/views/DetectionTestingViewCLI.py +0 -0
  21. {contentctl-4.1.3 → contentctl-4.1.4}/contentctl/actions/detection_testing/views/DetectionTestingViewFile.py +0 -0
  22. {contentctl-4.1.3 → contentctl-4.1.4}/contentctl/actions/detection_testing/views/DetectionTestingViewWeb.py +0 -0
  23. {contentctl-4.1.3 → contentctl-4.1.4}/contentctl/actions/doc_gen.py +0 -0
  24. {contentctl-4.1.3 → contentctl-4.1.4}/contentctl/actions/initialize.py +0 -0
  25. {contentctl-4.1.3 → contentctl-4.1.4}/contentctl/actions/initialize_old.py +0 -0
  26. {contentctl-4.1.3 → contentctl-4.1.4}/contentctl/actions/inspect.py +0 -0
  27. {contentctl-4.1.3 → contentctl-4.1.4}/contentctl/actions/release_notes.py +0 -0
  28. {contentctl-4.1.3 → contentctl-4.1.4}/contentctl/actions/reporting.py +0 -0
  29. {contentctl-4.1.3 → contentctl-4.1.4}/contentctl/actions/test.py +0 -0
  30. {contentctl-4.1.3 → contentctl-4.1.4}/contentctl/actions/validate.py +0 -0
  31. {contentctl-4.1.3 → contentctl-4.1.4}/contentctl/api.py +0 -0
  32. {contentctl-4.1.3 → contentctl-4.1.4}/contentctl/contentctl.py +0 -0
  33. {contentctl-4.1.3 → contentctl-4.1.4}/contentctl/enrichments/attack_enrichment.py +0 -0
  34. {contentctl-4.1.3 → contentctl-4.1.4}/contentctl/enrichments/cve_enrichment.py +0 -0
  35. {contentctl-4.1.3 → contentctl-4.1.4}/contentctl/enrichments/splunk_app_enrichment.py +0 -0
  36. {contentctl-4.1.3 → contentctl-4.1.4}/contentctl/helper/link_validator.py +0 -0
  37. {contentctl-4.1.3 → contentctl-4.1.4}/contentctl/helper/logger.py +0 -0
  38. {contentctl-4.1.3 → contentctl-4.1.4}/contentctl/helper/utils.py +0 -0
  39. {contentctl-4.1.3 → contentctl-4.1.4}/contentctl/input/backend_splunk_ba.py +0 -0
  40. {contentctl-4.1.3 → contentctl-4.1.4}/contentctl/input/director.py +0 -0
  41. {contentctl-4.1.3 → contentctl-4.1.4}/contentctl/input/new_content_questions.py +0 -0
  42. {contentctl-4.1.3 → contentctl-4.1.4}/contentctl/input/sigma_converter.py +0 -0
  43. {contentctl-4.1.3 → contentctl-4.1.4}/contentctl/input/ssa_detection_builder.py +0 -0
  44. {contentctl-4.1.3 → contentctl-4.1.4}/contentctl/input/yml_reader.py +0 -0
  45. {contentctl-4.1.3 → contentctl-4.1.4}/contentctl/objects/abstract_security_content_objects/detection_abstract.py +0 -0
  46. {contentctl-4.1.3 → contentctl-4.1.4}/contentctl/objects/abstract_security_content_objects/security_content_object_abstract.py +0 -0
  47. {contentctl-4.1.3 → contentctl-4.1.4}/contentctl/objects/alert_action.py +0 -0
  48. {contentctl-4.1.3 → contentctl-4.1.4}/contentctl/objects/atomic.py +0 -0
  49. {contentctl-4.1.3 → contentctl-4.1.4}/contentctl/objects/base_test.py +0 -0
  50. {contentctl-4.1.3 → contentctl-4.1.4}/contentctl/objects/base_test_result.py +0 -0
  51. {contentctl-4.1.3 → contentctl-4.1.4}/contentctl/objects/baseline.py +0 -0
  52. {contentctl-4.1.3 → contentctl-4.1.4}/contentctl/objects/baseline_tags.py +0 -0
  53. {contentctl-4.1.3 → contentctl-4.1.4}/contentctl/objects/config.py +0 -0
  54. {contentctl-4.1.3 → contentctl-4.1.4}/contentctl/objects/constants.py +0 -0
  55. {contentctl-4.1.3 → contentctl-4.1.4}/contentctl/objects/correlation_search.py +0 -0
  56. {contentctl-4.1.3 → contentctl-4.1.4}/contentctl/objects/data_source.py +0 -0
  57. {contentctl-4.1.3 → contentctl-4.1.4}/contentctl/objects/deployment.py +0 -0
  58. {contentctl-4.1.3 → contentctl-4.1.4}/contentctl/objects/deployment_email.py +0 -0
  59. {contentctl-4.1.3 → contentctl-4.1.4}/contentctl/objects/deployment_notable.py +0 -0
  60. {contentctl-4.1.3 → contentctl-4.1.4}/contentctl/objects/deployment_phantom.py +0 -0
  61. {contentctl-4.1.3 → contentctl-4.1.4}/contentctl/objects/deployment_rba.py +0 -0
  62. {contentctl-4.1.3 → contentctl-4.1.4}/contentctl/objects/deployment_scheduling.py +0 -0
  63. {contentctl-4.1.3 → contentctl-4.1.4}/contentctl/objects/deployment_slack.py +0 -0
  64. {contentctl-4.1.3 → contentctl-4.1.4}/contentctl/objects/detection.py +0 -0
  65. {contentctl-4.1.3 → contentctl-4.1.4}/contentctl/objects/detection_tags.py +0 -0
  66. {contentctl-4.1.3 → contentctl-4.1.4}/contentctl/objects/enums.py +0 -0
  67. {contentctl-4.1.3 → contentctl-4.1.4}/contentctl/objects/event_source.py +0 -0
  68. {contentctl-4.1.3 → contentctl-4.1.4}/contentctl/objects/integration_test.py +0 -0
  69. {contentctl-4.1.3 → contentctl-4.1.4}/contentctl/objects/integration_test_result.py +0 -0
  70. {contentctl-4.1.3 → contentctl-4.1.4}/contentctl/objects/investigation.py +0 -0
  71. {contentctl-4.1.3 → contentctl-4.1.4}/contentctl/objects/investigation_tags.py +0 -0
  72. {contentctl-4.1.3 → contentctl-4.1.4}/contentctl/objects/lookup.py +0 -0
  73. {contentctl-4.1.3 → contentctl-4.1.4}/contentctl/objects/macro.py +0 -0
  74. {contentctl-4.1.3 → contentctl-4.1.4}/contentctl/objects/mitre_attack_enrichment.py +0 -0
  75. {contentctl-4.1.3 → contentctl-4.1.4}/contentctl/objects/notable_action.py +0 -0
  76. {contentctl-4.1.3 → contentctl-4.1.4}/contentctl/objects/observable.py +0 -0
  77. {contentctl-4.1.3 → contentctl-4.1.4}/contentctl/objects/playbook.py +0 -0
  78. {contentctl-4.1.3 → contentctl-4.1.4}/contentctl/objects/playbook_tags.py +0 -0
  79. {contentctl-4.1.3 → contentctl-4.1.4}/contentctl/objects/risk_analysis_action.py +0 -0
  80. {contentctl-4.1.3 → contentctl-4.1.4}/contentctl/objects/risk_object.py +0 -0
  81. {contentctl-4.1.3 → contentctl-4.1.4}/contentctl/objects/security_content_object.py +0 -0
  82. {contentctl-4.1.3 → contentctl-4.1.4}/contentctl/objects/ssa_detection.py +0 -0
  83. {contentctl-4.1.3 → contentctl-4.1.4}/contentctl/objects/ssa_detection_tags.py +0 -0
  84. {contentctl-4.1.3 → contentctl-4.1.4}/contentctl/objects/story.py +0 -0
  85. {contentctl-4.1.3 → contentctl-4.1.4}/contentctl/objects/story_tags.py +0 -0
  86. {contentctl-4.1.3 → contentctl-4.1.4}/contentctl/objects/test_group.py +0 -0
  87. {contentctl-4.1.3 → contentctl-4.1.4}/contentctl/objects/threat_object.py +0 -0
  88. {contentctl-4.1.3 → contentctl-4.1.4}/contentctl/objects/unit_test.py +0 -0
  89. {contentctl-4.1.3 → contentctl-4.1.4}/contentctl/objects/unit_test_attack_data.py +0 -0
  90. {contentctl-4.1.3 → contentctl-4.1.4}/contentctl/objects/unit_test_baseline.py +0 -0
  91. {contentctl-4.1.3 → contentctl-4.1.4}/contentctl/objects/unit_test_old.py +0 -0
  92. {contentctl-4.1.3 → contentctl-4.1.4}/contentctl/objects/unit_test_result.py +0 -0
  93. {contentctl-4.1.3 → contentctl-4.1.4}/contentctl/objects/unit_test_ssa.py +0 -0
  94. {contentctl-4.1.3 → contentctl-4.1.4}/contentctl/output/api_json_output.py +0 -0
  95. {contentctl-4.1.3 → contentctl-4.1.4}/contentctl/output/attack_nav_output.py +0 -0
  96. {contentctl-4.1.3 → contentctl-4.1.4}/contentctl/output/attack_nav_writer.py +0 -0
  97. {contentctl-4.1.3 → contentctl-4.1.4}/contentctl/output/ba_yml_output.py +0 -0
  98. {contentctl-4.1.3 → contentctl-4.1.4}/contentctl/output/conf_output.py +0 -0
  99. {contentctl-4.1.3 → contentctl-4.1.4}/contentctl/output/conf_writer.py +0 -0
  100. {contentctl-4.1.3 → contentctl-4.1.4}/contentctl/output/detection_writer.py +0 -0
  101. {contentctl-4.1.3 → contentctl-4.1.4}/contentctl/output/doc_md_output.py +0 -0
  102. {contentctl-4.1.3 → contentctl-4.1.4}/contentctl/output/finding_report_writer.py +0 -0
  103. {contentctl-4.1.3 → contentctl-4.1.4}/contentctl/output/jinja_writer.py +0 -0
  104. {contentctl-4.1.3 → contentctl-4.1.4}/contentctl/output/json_writer.py +0 -0
  105. {contentctl-4.1.3 → contentctl-4.1.4}/contentctl/output/new_content_yml_output.py +0 -0
  106. {contentctl-4.1.3 → contentctl-4.1.4}/contentctl/output/svg_output.py +0 -0
  107. {contentctl-4.1.3 → contentctl-4.1.4}/contentctl/output/templates/analyticstories_detections.j2 +0 -0
  108. {contentctl-4.1.3 → contentctl-4.1.4}/contentctl/output/templates/analyticstories_investigations.j2 +0 -0
  109. {contentctl-4.1.3 → contentctl-4.1.4}/contentctl/output/templates/analyticstories_stories.j2 +0 -0
  110. {contentctl-4.1.3 → contentctl-4.1.4}/contentctl/output/templates/app.conf.j2 +0 -0
  111. {contentctl-4.1.3 → contentctl-4.1.4}/contentctl/output/templates/app.manifest.j2 +0 -0
  112. {contentctl-4.1.3 → contentctl-4.1.4}/contentctl/output/templates/collections.j2 +0 -0
  113. {contentctl-4.1.3 → contentctl-4.1.4}/contentctl/output/templates/content-version.j2 +0 -0
  114. {contentctl-4.1.3 → contentctl-4.1.4}/contentctl/output/templates/detection_count.j2 +0 -0
  115. {contentctl-4.1.3 → contentctl-4.1.4}/contentctl/output/templates/detection_coverage.j2 +0 -0
  116. {contentctl-4.1.3 → contentctl-4.1.4}/contentctl/output/templates/doc_detection_page.j2 +0 -0
  117. {contentctl-4.1.3 → contentctl-4.1.4}/contentctl/output/templates/doc_detections.j2 +0 -0
  118. {contentctl-4.1.3 → contentctl-4.1.4}/contentctl/output/templates/doc_navigation.j2 +0 -0
  119. {contentctl-4.1.3 → contentctl-4.1.4}/contentctl/output/templates/doc_navigation_pages.j2 +0 -0
  120. {contentctl-4.1.3 → contentctl-4.1.4}/contentctl/output/templates/doc_playbooks.j2 +0 -0
  121. {contentctl-4.1.3 → contentctl-4.1.4}/contentctl/output/templates/doc_playbooks_page.j2 +0 -0
  122. {contentctl-4.1.3 → contentctl-4.1.4}/contentctl/output/templates/doc_stories.j2 +0 -0
  123. {contentctl-4.1.3 → contentctl-4.1.4}/contentctl/output/templates/doc_story_page.j2 +0 -0
  124. {contentctl-4.1.3 → contentctl-4.1.4}/contentctl/output/templates/es_investigations_investigations.j2 +0 -0
  125. {contentctl-4.1.3 → contentctl-4.1.4}/contentctl/output/templates/es_investigations_stories.j2 +0 -0
  126. {contentctl-4.1.3 → contentctl-4.1.4}/contentctl/output/templates/finding_report.j2 +0 -0
  127. {contentctl-4.1.3 → contentctl-4.1.4}/contentctl/output/templates/header.j2 +0 -0
  128. {contentctl-4.1.3 → contentctl-4.1.4}/contentctl/output/templates/macros.j2 +0 -0
  129. {contentctl-4.1.3 → contentctl-4.1.4}/contentctl/output/templates/panel.j2 +0 -0
  130. {contentctl-4.1.3 → contentctl-4.1.4}/contentctl/output/templates/savedsearches_baselines.j2 +0 -0
  131. {contentctl-4.1.3 → contentctl-4.1.4}/contentctl/output/templates/savedsearches_detections.j2 +0 -0
  132. {contentctl-4.1.3 → contentctl-4.1.4}/contentctl/output/templates/savedsearches_investigations.j2 +0 -0
  133. {contentctl-4.1.3 → contentctl-4.1.4}/contentctl/output/templates/transforms.j2 +0 -0
  134. {contentctl-4.1.3 → contentctl-4.1.4}/contentctl/output/templates/workflow_actions.j2 +0 -0
  135. {contentctl-4.1.3 → contentctl-4.1.4}/contentctl/output/yml_output.py +0 -0
  136. {contentctl-4.1.3 → contentctl-4.1.4}/contentctl/output/yml_writer.py +0 -0
  137. {contentctl-4.1.3 → contentctl-4.1.4}/contentctl/templates/README +0 -0
  138. {contentctl-4.1.3 → contentctl-4.1.4}/contentctl/templates/app_default.yml +0 -0
  139. {contentctl-4.1.3 → contentctl-4.1.4}/contentctl/templates/app_template/README/essoc_story_detail.txt +0 -0
  140. {contentctl-4.1.3 → contentctl-4.1.4}/contentctl/templates/app_template/README/essoc_summary.txt +0 -0
  141. {contentctl-4.1.3 → contentctl-4.1.4}/contentctl/templates/app_template/README/essoc_usage_dashboard.txt +0 -0
  142. {contentctl-4.1.3 → contentctl-4.1.4}/contentctl/templates/app_template/README.md +0 -0
  143. {contentctl-4.1.3 → contentctl-4.1.4}/contentctl/templates/app_template/default/analytic_stories.conf +0 -0
  144. {contentctl-4.1.3 → contentctl-4.1.4}/contentctl/templates/app_template/default/commands.conf +0 -0
  145. {contentctl-4.1.3 → contentctl-4.1.4}/contentctl/templates/app_template/default/content-version.conf +0 -0
  146. {contentctl-4.1.3 → contentctl-4.1.4}/contentctl/templates/app_template/default/data/ui/nav/default.xml +0 -0
  147. {contentctl-4.1.3 → contentctl-4.1.4}/contentctl/templates/app_template/default/data/ui/views/escu_summary.xml +0 -0
  148. {contentctl-4.1.3 → contentctl-4.1.4}/contentctl/templates/app_template/default/data/ui/views/feedback.xml +0 -0
  149. {contentctl-4.1.3 → contentctl-4.1.4}/contentctl/templates/app_template/default/use_case_library.conf +0 -0
  150. {contentctl-4.1.3 → contentctl-4.1.4}/contentctl/templates/app_template/lookups/mitre_enrichment.csv +0 -0
  151. {contentctl-4.1.3 → contentctl-4.1.4}/contentctl/templates/app_template/metadata/default.meta +0 -0
  152. {contentctl-4.1.3 → contentctl-4.1.4}/contentctl/templates/app_template/static/appIcon.png +0 -0
  153. {contentctl-4.1.3 → contentctl-4.1.4}/contentctl/templates/app_template/static/appIconAlt.png +0 -0
  154. {contentctl-4.1.3 → contentctl-4.1.4}/contentctl/templates/app_template/static/appIconAlt_2x.png +0 -0
  155. {contentctl-4.1.3 → contentctl-4.1.4}/contentctl/templates/app_template/static/appIcon_2x.png +0 -0
  156. {contentctl-4.1.3 → contentctl-4.1.4}/contentctl/templates/datamodels_cim.conf +0 -0
  157. {contentctl-4.1.3 → contentctl-4.1.4}/contentctl/templates/datamodels_custom.conf +0 -0
  158. {contentctl-4.1.3 → contentctl-4.1.4}/contentctl/templates/deployments/escu_default_configuration_anomaly.yml +0 -0
  159. {contentctl-4.1.3 → contentctl-4.1.4}/contentctl/templates/deployments/escu_default_configuration_baseline.yml +0 -0
  160. {contentctl-4.1.3 → contentctl-4.1.4}/contentctl/templates/deployments/escu_default_configuration_correlation.yml +0 -0
  161. {contentctl-4.1.3 → contentctl-4.1.4}/contentctl/templates/deployments/escu_default_configuration_hunting.yml +0 -0
  162. {contentctl-4.1.3 → contentctl-4.1.4}/contentctl/templates/deployments/escu_default_configuration_ttp.yml +0 -0
  163. {contentctl-4.1.3 → contentctl-4.1.4}/contentctl/templates/detections/application/.gitkeep +0 -0
  164. {contentctl-4.1.3 → contentctl-4.1.4}/contentctl/templates/detections/cloud/.gitkeep +0 -0
  165. {contentctl-4.1.3 → contentctl-4.1.4}/contentctl/templates/detections/endpoint/anomalous_usage_of_7zip.yml +0 -0
  166. {contentctl-4.1.3 → contentctl-4.1.4}/contentctl/templates/detections/network/.gitkeep +0 -0
  167. {contentctl-4.1.3 → contentctl-4.1.4}/contentctl/templates/detections/web/.gitkeep +0 -0
  168. {contentctl-4.1.3 → contentctl-4.1.4}/contentctl/templates/macros/security_content_ctime.yml +0 -0
  169. {contentctl-4.1.3 → contentctl-4.1.4}/contentctl/templates/macros/security_content_summariesonly.yml +0 -0
  170. {contentctl-4.1.3 → contentctl-4.1.4}/contentctl/templates/stories/cobalt_strike.yml +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: contentctl
3
- Version: 4.1.3
3
+ Version: 4.1.4
4
4
  Summary: Splunk Content Control Tool
5
5
  License: Apache 2.0
6
6
  Author: STRT
@@ -32,7 +32,6 @@ class NewContent:
32
32
  answers['status'] = "production" #start everything as production since that's what we INTEND the content to become
33
33
  answers['description'] = 'UPDATE_DESCRIPTION'
34
34
  file_name = answers['name'].replace(' ', '_').replace('-','_').replace('.','_').replace('/','_').lower()
35
- answers['kind'] = answers['detection_kind']
36
35
  answers['search'] = answers['detection_search'] + ' | `' + file_name + '_filter`'
37
36
  del answers['detection_search']
38
37
  answers['how_to_implement'] = 'UPDATE_HOW_TO_IMPLEMENT'
@@ -8,7 +8,6 @@ build = 16367
8
8
 
9
9
  [triggers]
10
10
  reload.analytic_stories = simple
11
- reload.usage_searches = simple
12
11
  reload.use_case_library = simple
13
12
  reload.correlationsearches = simple
14
13
  reload.analyticstories = simple
@@ -1,6 +1,6 @@
1
1
  [tool.poetry]
2
2
  name = "contentctl"
3
- version = "4.1.3"
3
+ version = "4.1.4"
4
4
  description = "Splunk Content Control Tool"
5
5
  authors = ["STRT <research@splunk.com>"]
6
6
  license = "Apache 2.0"
@@ -1,73 +0,0 @@
1
- [escu-metrics-usage]
2
- action.email.useNSSubject = 1
3
- alert.digest_mode = True
4
- alert.suppress = 0
5
- alert.track = 0
6
- auto_summarize.dispatch.earliest_time = -1d@h
7
- dispatchAs = user
8
- search = index=_audit sourcetype="audittrail" \
9
- "ESCU - "\
10
- `comment("Find all the search names in the audittrail.")`\
11
- | stats count(search) by search savedsearch_name user\
12
- | eval usage=(if(savedsearch_name=="","Adhoc","Scheduled")) \
13
- `comment("If the savedsearch_name field in the audittrail is empty, the search was run adhoc. Otherwise it was run as a scheduled search")`\
14
- | rex field=search "\"(?<savedsearch_name>.*)\""\
15
- `comment("Extract the name of the search from the search string")`\
16
- | table savedsearch_name count(search) usage user | join savedsearch_name max=0 type=left [search sourcetype="manifests" | spath searches{} | mvexpand searches{} | spath input=searches{} | table category search_name | rename search_name as savedsearch_name | dedup savedsearch_name] | search category=*
17
-
18
- [escu-metrics-search]
19
- action.email.useNSSubject = 1
20
- alert.suppress = 0
21
- alert.track = 0
22
- auto_summarize.dispatch.earliest_time = -1d@h
23
- enableSched = 1
24
- cron_schedule = 0 0 * * *
25
- dispatch.earliest_time = -4h@h
26
- dispatch.latest_time = -1h@h
27
- search = index=_audit action=search | transaction search_id maxspan=3m | search ESCU | stats sum(total_run_time) avg(total_run_time) max(total_run_time) sum(result_count)
28
-
29
- [escu-metrics-search-events]
30
- action.email.useNSSubject = 1
31
- alert.digest_mode = True
32
- alert.suppress = 0
33
- alert.track = 0
34
- auto_summarize.dispatch.earliest_time = -1d@h
35
- cron_schedule = 0 0 * * *
36
- enableSched = 1
37
- dispatch.earliest_time = -4h@h
38
- dispatch.latest_time = -1h@h
39
- search = [search index=_audit sourcetype="audittrail" \"ESCU NOT "index=_audit" | where search !="" | dedup search_id | rex field=search "\"(?<search_name>.*)\"" | rex field=_raw "user=(?<user>[a-zA-Z0-9_\-]+)" | eval usage=if(savedsearch_name!="", "scheduled", "adhoc") | eval savedsearch_name=if(savedsearch_name != "", savedsearch_name, search_name) | table savedsearch_name search_id user _time usage | outputlookup escu_search_id.csv | table search_id] index=_audit total_run_time event_count result_count NOT "index=_audit" | lookup escu_search_id.csv search_id | stats count(savedsearch_name) AS search_count avg(total_run_time) AS search_avg_run_time sum(total_run_time) AS search_total_run_time sum(result_count) AS search_total_results earliest(_time) AS firsts latest(_time) AS lasts by savedsearch_name user usage| eval first_run=strftime(firsts, "%B %d %Y") | eval last_run=strftime(lasts, "%B %d %Y")
40
-
41
- [escu-metrics-search-longest-runtime]
42
- action.email.useNSSubject = 1
43
- alert.digest_mode = True
44
- alert.suppress = 0
45
- alert.track = 0
46
- auto_summarize.dispatch.earliest_time = -1d@h
47
- enableSched = 1
48
- cron_schedule = 0 0 * * *
49
- disabled = 1
50
- dispatch.earliest_time = -4h@h
51
- dispatch.latest_time = -1h@h
52
- search = index=_* ESCU [search index=_* action=search latest=-2h earliest=-1d| transaction search_id maxspan=3m | search ESCU | stats values(total_run_time) AS run by search_id | sort -run | head 1| table search_id] | table search search_id
53
-
54
- [escu-metrics-usage-search]
55
- action.email.useNSSubject = 1
56
- alert.digest_mode = True
57
- alert.suppress = 0
58
- alert.track = 0
59
- auto_summarize.dispatch.earliest_time = -1d@h
60
- cron_schedule = 0 0 * * *
61
- dispatch.earliest_time = -4h@h
62
- dispatch.latest_time = -1h@h
63
- enableSched = 1
64
- dispatchAs = user
65
- search = index=_audit sourcetype="audittrail" \
66
- "ESCU - "\
67
- `comment("Find all the search names in the audittrail. Ignore the last few minutes so we can exclude this search's text from the result.")`\
68
- | stats count(search) by search savedsearch_name user\
69
- | eval usage=(if(savedsearch_name=="","Adhoc","Scheduled")) \
70
- `comment("If the savedsearch_name field in the audittrail is empty, the search was run adhoc. Otherwise it was run as a scheduled search")`\
71
- | rex field=search "\"(?<savedsearch_name>.*)\""\
72
- `comment("Extract the name of the search from the search string")`\
73
- | table savedsearch_name count(search) usage user | join savedsearch_name max=0 type=left [search sourcetype="manifests" | spath searches{} | mvexpand searches{} | spath input=searches{} | table category search_name | rename search_name as savedsearch_name | dedup savedsearch_name] | search category=*
File without changes
File without changes
File without changes