Skip to content
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

Add setting to limit per alert action executions and don't save Alerts for test Bucket-Level Monitors #161

Merged
merged 1 commit into from
Aug 31, 2021

Conversation

qreshi
Copy link
Contributor

@qreshi qreshi commented Aug 30, 2021

Signed-off-by: Mohammad Qureshi [email protected]

Issue #, if available: #86

Description of changes:

  • Adds a setting for max actionable Alerts when using PER_ALERT Action execution scope for Bucket-Level Alerting, if this value is exceeded, the Action execution will fallback to PER_EXECUTION scope regardless of the Action configuration
  • Adds check to skip saving Alerts for test Monitors (similar to what is already done in the Query-Level Monitor execution)

CheckList:
[x] Commits are signed per the DCO using --signoff

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.
For more information on following Developer Certificate of Origin and signing off your commits, please check here.

…s for test Bucket-Level Monitors

Signed-off-by: Mohammad Qureshi <[email protected]>
@qreshi qreshi requested review from adityaj1107 and lezzago August 30, 2021 23:35
@codecov-commenter
Copy link

Codecov Report

Merging #161 (b2f0c9d) into main (ff57c54) will decrease coverage by 1.79%.
The diff coverage is 72.55%.

Impacted file tree graph

@@             Coverage Diff              @@
##               main     #161      +/-   ##
============================================
- Coverage     80.46%   78.67%   -1.80%     
+ Complexity      215      214       -1     
============================================
  Files           154      172      +18     
  Lines          5873     6937    +1064     
  Branches        706      901     +195     
============================================
+ Hits           4726     5458     +732     
- Misses          768      990     +222     
- Partials        379      489     +110     
Impacted Files Coverage Δ
...in/org/opensearch/alerting/script/TriggerScript.kt 100.00% <ø> (ø)
...nsearch/alerting/script/TriggerExecutionContext.kt 43.75% <11.11%> (-46.25%) ⬇️
...ation/bucketselectorext/BucketSelectorExtFilter.kt 41.53% <41.53%> (ø)
...n/bucketselectorext/BucketSelectorExtAggregator.kt 51.38% <51.38%> (ø)
...egation/bucketselectorext/BucketSelectorIndices.kt 52.38% <52.38%> (ø)
...selectorext/BucketSelectorExtAggregationBuilder.kt 55.90% <55.90%> (ø)
...main/kotlin/org/opensearch/alerting/model/Alert.kt 82.47% <57.44%> (-7.21%) ⬇️
...lin/org/opensearch/alerting/model/action/Action.kt 83.33% <66.66%> (+8.33%) ⬆️
...lerting/transport/TransportExecuteMonitorAction.kt 73.33% <66.66%> (+1.24%) ⬆️
.../org/opensearch/alerting/model/TriggerRunResult.kt 68.75% <68.75%> (ø)
... and 45 more

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 6aa4fdb...b2f0c9d. Read the comment docs.

@qreshi qreshi merged commit cc0fb6f into opensearch-project:main Aug 31, 2021
@qreshi qreshi deleted the per-alert-limit branch August 31, 2021 01:14
adityaj1107 added a commit that referenced this pull request Sep 2, 2021
* Added release notes for OpenSearch 1.0.0.0. (#123) (#124)

Co-authored-by: AWSHurneyt <[email protected]>

* Add Integtest.sh for OpenSearch integtest setups (#121)

* Add integtest script to the repo

Signed-off-by: Peter Zhu <[email protected]>

* Add Alerting specific security param for integTest

Signed-off-by: Peter Zhu <[email protected]>

* Remove default assignee (#127)

Signed-off-by: Ashish Agrawal <[email protected]>

* Removing All Usages of Action Get Method Calls and adding the listeners (#130)

Signed-off-by: Aditya Jindal <[email protected]>

* Fix snapshot build and increment to 1.1.0. (#142)

Signed-off-by: dblock <[email protected]>

* Refactor MonitorRunner (#143)

Signed-off-by: Mohammad Qureshi <[email protected]>

* Update Bucket-Level Alerting RFC (#145)

Signed-off-by: Mohammad Qureshi <[email protected]>

* Add BucketSelector pipeline aggregation extension (#144)

Signed-off-by: Mohammad Qureshi <[email protected]>

Co-authored-by: Rishabh Maurya <[email protected]>

* Add AggregationResultBucket (#148)

Signed-off-by: Mohammad Qureshi <[email protected]>

Co-authored-by: Rishabh Maurya <[email protected]>

* Add ActionExecutionPolicy (#149)

* Add ActionExecutionPolicy

Signed-off-by: Mohammad Qureshi <[email protected]>

* Throw exception if there is an invalid field in PER_ALERT config when parsing

Signed-off-by: Mohammad Qureshi <[email protected]>

* Don't allow throttle to be configured for PerExecutionActionScope at the data class level since it is not supported yet

Signed-off-by: Mohammad Qureshi <[email protected]>

* Refactor Monitor and Trigger to split into Query-Level and Bucket-Lev… (#150)

* Refactor Monitor and Trigger to split into Query-Level and Bucket-Level Monitors

Signed-off-by: Mohammad Qureshi <[email protected]>

* Require condition to not be null when parsing Bucket-Level Trigger

Signed-off-by: Mohammad Qureshi <[email protected]>

* Update InputService for Bucket-Level Alerting (#152)

Signed-off-by: Mohammad Qureshi <[email protected]>

Co-authored-by: Rishabh Maurya <[email protected]>

* Update TriggerService for Bucket-Level Alerting (#153)

* Update TriggerService for Bucket-Level Alerting

Signed-off-by: Mohammad Qureshi <[email protected]>

* Remove client from TriggerService

Signed-off-by: Mohammad Qureshi <[email protected]>

* Update AlertService for Bucket-Level Alerting (#154)

* Update AlertService for Bucket-Level Alerting

Signed-off-by: Mohammad Qureshi <[email protected]>

* Move Alert search size for Bucket-Level Monitors to a const

Signed-off-by: Mohammad Qureshi <[email protected]>

* Add worksheets to help with testing (#151)

Signed-off-by: Mohammad Qureshi <[email protected]>

* Update MonitorRunner for Bucket-Level Alerting (#155)

* Update MonitorRunner for Bucket-Level Alerting

Signed-off-by: Mohammad Qureshi <[email protected]>

* Update regressed comment in MonitorRunnerIT

Signed-off-by: Mohammad Qureshi <[email protected]>

* Add TODO to break down runBucketLevelMonitor method in MonitorRunner

Signed-off-by: Mohammad Qureshi <[email protected]>

* Fix ktlint formatting issues (#156)

Signed-off-by: Mohammad Qureshi <[email protected]>

* Execute Actions on runTrigger exceptions for Bucket-Level Monitor (#157)

Signed-off-by: Mohammad Qureshi <[email protected]>

* Skip execution of Actions on ACKNOWLEDGED Alerts for Bucket-Level Monitors (#158)

Signed-off-by: Mohammad Qureshi <[email protected]>

* Return first page of input results in MonitorRunResult for Bucket-Level Monitor (#159)

Signed-off-by: Mohammad Qureshi <[email protected]>

* Add setting to limit per alert action executions and don't save Alerts for test Bucket-Level Monitors (#161)

Signed-off-by: Mohammad Qureshi <[email protected]>

* Fix bug in paginating multiple bucket paths for Bucket-Level Monitor (#163)

* Fix bug in paginating multiple bucket paths for Bucket-Level Monitor

Signed-off-by: Mohammad Qureshi <[email protected]>

* Change trigger after key conditionals to when statement

Signed-off-by: Mohammad Qureshi <[email protected]>

* Various bug fixes pertaining to throttling on PER_ALERT, saving COMPLETED Alerts and rewriting input query for Bucket-Level Monitors (#164)

Signed-off-by: Mohammad Qureshi <[email protected]>

* Return only monitors for /monitors/_search. (#162)

* Return only monitors for /monitors/_search.

* Added missing imports

* Added additional check to the unit test

* Resolve default for ActionExecutionPolicy at runtime (#165)

Signed-off-by: Mohammad Qureshi <[email protected]>

Co-authored-by: AWSHurneyt <[email protected]>
Co-authored-by: Peter Zhu <[email protected]>
Co-authored-by: Ashish Agrawal <[email protected]>
Co-authored-by: Daniel Doubrovkine (dB.) <[email protected]>
Co-authored-by: Mohammad Qureshi <[email protected]>
Co-authored-by: Rishabh Maurya <[email protected]>
Co-authored-by: Sriram <[email protected]>
@qreshi qreshi added the feature A change that introduces a new unit of functionality label Sep 8, 2021
AWSHurneyt added a commit that referenced this pull request Oct 15, 2021
…ledging more than 10 alerts at once. (#205)

* Added release notes for OpenSearch 1.0.0.0. (#123)

* Merge commits from the main branch to the 1.x branch.  (#133)

* Added release notes for OpenSearch 1.0.0.0. (#123) (#124)

Co-authored-by: AWSHurneyt <[email protected]>

* Add Integtest.sh for OpenSearch integtest setups (#121)

* Add integtest script to the repo

Signed-off-by: Peter Zhu <[email protected]>

* Add Alerting specific security param for integTest

Signed-off-by: Peter Zhu <[email protected]>

* Remove default assignee (#127)

Signed-off-by: Ashish Agrawal <[email protected]>

* Removing All Usages of Action Get Method Calls and adding the listeners (#130)

Signed-off-by: Aditya Jindal <[email protected]>

* Fix snapshot build and increment to 1.1.0. (#142)

Signed-off-by: dblock <[email protected]>

* Refactor MonitorRunner (#143)

Signed-off-by: Mohammad Qureshi <[email protected]>

* Update Bucket-Level Alerting RFC (#145)

Signed-off-by: Mohammad Qureshi <[email protected]>

* Add BucketSelector pipeline aggregation extension (#144)

Signed-off-by: Mohammad Qureshi <[email protected]>

Co-authored-by: Rishabh Maurya <[email protected]>

* Add AggregationResultBucket (#148)

Signed-off-by: Mohammad Qureshi <[email protected]>

Co-authored-by: Rishabh Maurya <[email protected]>

* Add ActionExecutionPolicy (#149)

* Add ActionExecutionPolicy

Signed-off-by: Mohammad Qureshi <[email protected]>

* Throw exception if there is an invalid field in PER_ALERT config when parsing

Signed-off-by: Mohammad Qureshi <[email protected]>

* Don't allow throttle to be configured for PerExecutionActionScope at the data class level since it is not supported yet

Signed-off-by: Mohammad Qureshi <[email protected]>

* Refactor Monitor and Trigger to split into Query-Level and Bucket-Lev… (#150)

* Refactor Monitor and Trigger to split into Query-Level and Bucket-Level Monitors

Signed-off-by: Mohammad Qureshi <[email protected]>

* Require condition to not be null when parsing Bucket-Level Trigger

Signed-off-by: Mohammad Qureshi <[email protected]>

* Update InputService for Bucket-Level Alerting (#152)

Signed-off-by: Mohammad Qureshi <[email protected]>

Co-authored-by: Rishabh Maurya <[email protected]>

* Update TriggerService for Bucket-Level Alerting (#153)

* Update TriggerService for Bucket-Level Alerting

Signed-off-by: Mohammad Qureshi <[email protected]>

* Remove client from TriggerService

Signed-off-by: Mohammad Qureshi <[email protected]>

* Update AlertService for Bucket-Level Alerting (#154)

* Update AlertService for Bucket-Level Alerting

Signed-off-by: Mohammad Qureshi <[email protected]>

* Move Alert search size for Bucket-Level Monitors to a const

Signed-off-by: Mohammad Qureshi <[email protected]>

* Add worksheets to help with testing (#151)

Signed-off-by: Mohammad Qureshi <[email protected]>

* Update MonitorRunner for Bucket-Level Alerting (#155)

* Update MonitorRunner for Bucket-Level Alerting

Signed-off-by: Mohammad Qureshi <[email protected]>

* Update regressed comment in MonitorRunnerIT

Signed-off-by: Mohammad Qureshi <[email protected]>

* Add TODO to break down runBucketLevelMonitor method in MonitorRunner

Signed-off-by: Mohammad Qureshi <[email protected]>

* Fix ktlint formatting issues (#156)

Signed-off-by: Mohammad Qureshi <[email protected]>

* Execute Actions on runTrigger exceptions for Bucket-Level Monitor (#157)

Signed-off-by: Mohammad Qureshi <[email protected]>

* Skip execution of Actions on ACKNOWLEDGED Alerts for Bucket-Level Monitors (#158)

Signed-off-by: Mohammad Qureshi <[email protected]>

* Return first page of input results in MonitorRunResult for Bucket-Level Monitor (#159)

Signed-off-by: Mohammad Qureshi <[email protected]>

* Add setting to limit per alert action executions and don't save Alerts for test Bucket-Level Monitors (#161)

Signed-off-by: Mohammad Qureshi <[email protected]>

* Fix bug in paginating multiple bucket paths for Bucket-Level Monitor (#163)

* Fix bug in paginating multiple bucket paths for Bucket-Level Monitor

Signed-off-by: Mohammad Qureshi <[email protected]>

* Change trigger after key conditionals to when statement

Signed-off-by: Mohammad Qureshi <[email protected]>

* Various bug fixes pertaining to throttling on PER_ALERT, saving COMPLETED Alerts and rewriting input query for Bucket-Level Monitors (#164)

Signed-off-by: Mohammad Qureshi <[email protected]>

* Return only monitors for /monitors/_search. (#162)

* Return only monitors for /monitors/_search.

* Added missing imports

* Added additional check to the unit test

* Resolve default for ActionExecutionPolicy at runtime (#165)

Signed-off-by: Mohammad Qureshi <[email protected]>

Co-authored-by: AWSHurneyt <[email protected]>
Co-authored-by: Peter Zhu <[email protected]>
Co-authored-by: Ashish Agrawal <[email protected]>
Co-authored-by: Daniel Doubrovkine (dB.) <[email protected]>
Co-authored-by: Mohammad Qureshi <[email protected]>
Co-authored-by: Rishabh Maurya <[email protected]>
Co-authored-by: Sriram <[email protected]>

* Add release notes for 1.1.0.0 release (#166) (#167)

Signed-off-by: Mohammad Qureshi <[email protected]>

* Remove default integtest.sh. (#181)

Signed-off-by: dblock <[email protected]>

* Add valid search filters. (#191)

* Add valid search filters.

* Added this fix to release notes

* Publish notification JARs checksums. (#197)

Signed-off-by: dblock <[email protected]>

* Also publish SHA 256 and 512 checksums. (#198)

* Also publish SHA 256 and 512 checksums.

Signed-off-by: dblock <[email protected]>

* Remove sonatype staging.

Signed-off-by: dblock <[email protected]>

* Fixed a bug that was preventing the AcknowledgeAlerts API from acknowledging more than 10 alerts at once. Signed-off-by: Thomas Hurney <[email protected]>

* Implemented integration tests to ensure fix for issue 203 is working as expected. Signed-off-by: Thomas Hurney <[email protected]>

* Refactored integ tests based on PR feedback, and listed the bug fix in the release notes. Signed-off-by: Thomas Hurney <[email protected]>

* Removing bug fixes from release notes. Currently discussing adding separate notes for this patch. Signed-off-by: Thomas Hurney <[email protected]>

Co-authored-by: Aditya Jindal <[email protected]>
Co-authored-by: Peter Zhu <[email protected]>
Co-authored-by: Ashish Agrawal <[email protected]>
Co-authored-by: Daniel Doubrovkine (dB.) <[email protected]>
Co-authored-by: Mohammad Qureshi <[email protected]>
Co-authored-by: Rishabh Maurya <[email protected]>
Co-authored-by: Sriram <[email protected]>
AWSHurneyt added a commit to AWSHurneyt/OpenSearch-Alerting that referenced this pull request Mar 30, 2022
…ject#133)

* Added release notes for OpenSearch 1.0.0.0. (opensearch-project#123) (opensearch-project#124)

Co-authored-by: AWSHurneyt <[email protected]>

* Add Integtest.sh for OpenSearch integtest setups (opensearch-project#121)

* Add integtest script to the repo

Signed-off-by: Peter Zhu <[email protected]>

* Add Alerting specific security param for integTest

Signed-off-by: Peter Zhu <[email protected]>

* Remove default assignee (opensearch-project#127)

Signed-off-by: Ashish Agrawal <[email protected]>

* Removing All Usages of Action Get Method Calls and adding the listeners (opensearch-project#130)

Signed-off-by: Aditya Jindal <[email protected]>

* Fix snapshot build and increment to 1.1.0. (opensearch-project#142)

Signed-off-by: dblock <[email protected]>

* Refactor MonitorRunner (opensearch-project#143)

Signed-off-by: Mohammad Qureshi <[email protected]>

* Update Bucket-Level Alerting RFC (opensearch-project#145)

Signed-off-by: Mohammad Qureshi <[email protected]>

* Add BucketSelector pipeline aggregation extension (opensearch-project#144)

Signed-off-by: Mohammad Qureshi <[email protected]>

Co-authored-by: Rishabh Maurya <[email protected]>

* Add AggregationResultBucket (opensearch-project#148)

Signed-off-by: Mohammad Qureshi <[email protected]>

Co-authored-by: Rishabh Maurya <[email protected]>

* Add ActionExecutionPolicy (opensearch-project#149)

* Add ActionExecutionPolicy

Signed-off-by: Mohammad Qureshi <[email protected]>

* Throw exception if there is an invalid field in PER_ALERT config when parsing

Signed-off-by: Mohammad Qureshi <[email protected]>

* Don't allow throttle to be configured for PerExecutionActionScope at the data class level since it is not supported yet

Signed-off-by: Mohammad Qureshi <[email protected]>

* Refactor Monitor and Trigger to split into Query-Level and Bucket-Lev… (opensearch-project#150)

* Refactor Monitor and Trigger to split into Query-Level and Bucket-Level Monitors

Signed-off-by: Mohammad Qureshi <[email protected]>

* Require condition to not be null when parsing Bucket-Level Trigger

Signed-off-by: Mohammad Qureshi <[email protected]>

* Update InputService for Bucket-Level Alerting (opensearch-project#152)

Signed-off-by: Mohammad Qureshi <[email protected]>

Co-authored-by: Rishabh Maurya <[email protected]>

* Update TriggerService for Bucket-Level Alerting (opensearch-project#153)

* Update TriggerService for Bucket-Level Alerting

Signed-off-by: Mohammad Qureshi <[email protected]>

* Remove client from TriggerService

Signed-off-by: Mohammad Qureshi <[email protected]>

* Update AlertService for Bucket-Level Alerting (opensearch-project#154)

* Update AlertService for Bucket-Level Alerting

Signed-off-by: Mohammad Qureshi <[email protected]>

* Move Alert search size for Bucket-Level Monitors to a const

Signed-off-by: Mohammad Qureshi <[email protected]>

* Add worksheets to help with testing (opensearch-project#151)

Signed-off-by: Mohammad Qureshi <[email protected]>

* Update MonitorRunner for Bucket-Level Alerting (opensearch-project#155)

* Update MonitorRunner for Bucket-Level Alerting

Signed-off-by: Mohammad Qureshi <[email protected]>

* Update regressed comment in MonitorRunnerIT

Signed-off-by: Mohammad Qureshi <[email protected]>

* Add TODO to break down runBucketLevelMonitor method in MonitorRunner

Signed-off-by: Mohammad Qureshi <[email protected]>

* Fix ktlint formatting issues (opensearch-project#156)

Signed-off-by: Mohammad Qureshi <[email protected]>

* Execute Actions on runTrigger exceptions for Bucket-Level Monitor (opensearch-project#157)

Signed-off-by: Mohammad Qureshi <[email protected]>

* Skip execution of Actions on ACKNOWLEDGED Alerts for Bucket-Level Monitors (opensearch-project#158)

Signed-off-by: Mohammad Qureshi <[email protected]>

* Return first page of input results in MonitorRunResult for Bucket-Level Monitor (opensearch-project#159)

Signed-off-by: Mohammad Qureshi <[email protected]>

* Add setting to limit per alert action executions and don't save Alerts for test Bucket-Level Monitors (opensearch-project#161)

Signed-off-by: Mohammad Qureshi <[email protected]>

* Fix bug in paginating multiple bucket paths for Bucket-Level Monitor (opensearch-project#163)

* Fix bug in paginating multiple bucket paths for Bucket-Level Monitor

Signed-off-by: Mohammad Qureshi <[email protected]>

* Change trigger after key conditionals to when statement

Signed-off-by: Mohammad Qureshi <[email protected]>

* Various bug fixes pertaining to throttling on PER_ALERT, saving COMPLETED Alerts and rewriting input query for Bucket-Level Monitors (opensearch-project#164)

Signed-off-by: Mohammad Qureshi <[email protected]>

* Return only monitors for /monitors/_search. (opensearch-project#162)

* Return only monitors for /monitors/_search.

* Added missing imports

* Added additional check to the unit test

* Resolve default for ActionExecutionPolicy at runtime (opensearch-project#165)

Signed-off-by: Mohammad Qureshi <[email protected]>

Co-authored-by: AWSHurneyt <[email protected]>
Co-authored-by: Peter Zhu <[email protected]>
Co-authored-by: Ashish Agrawal <[email protected]>
Co-authored-by: Daniel Doubrovkine (dB.) <[email protected]>
Co-authored-by: Mohammad Qureshi <[email protected]>
Co-authored-by: Rishabh Maurya <[email protected]>
Co-authored-by: Sriram <[email protected]>
Signed-off-by: AWSHurneyt <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
feature A change that introduces a new unit of functionality
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants