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

Alert framework level license check #60767

Closed
4 tasks done
mikecote opened this issue Mar 20, 2020 · 12 comments · Fixed by #85649
Closed
4 tasks done

Alert framework level license check #60767

mikecote opened this issue Mar 20, 2020 · 12 comments · Fixed by #85649
Assignees
Labels
Feature:Alerting Meta Team:ResponseOps Label for the ResponseOps team (formerly the Cases and Alerting teams)

Comments

@mikecote
Copy link
Contributor

mikecote commented Mar 20, 2020

Similar to #54946, we should implement license checks for alert types. Some solution teams (ex: maps) are planning to have alert types available only in higher licenses than basic.

Some remaining questions:

  • Should there be a minimum license required for 3rd party alert types? similar to action types.

Current issue was spliced to the next set of sub issues which are corresponding to the steps of the implementation:

@mikecote mikecote added Feature:Alerting Team:ResponseOps Label for the ResponseOps team (formerly the Cases and Alerting teams) labels Mar 20, 2020
@elasticmachine
Copy link
Contributor

Pinging @elastic/kibana-alerting-services (Team:Alerting Services)

@mikecote mikecote changed the title Alert registration / framework level license check Alert framework level license check Mar 20, 2020
@mikecote
Copy link
Contributor Author

Closing this as it no longer seems to be a request at this time (map based alerts are in basic).

@mikecote mikecote reopened this Nov 6, 2020
@mikecote
Copy link
Contributor Author

cc @arisonl

@arisonl
Copy link
Contributor

arisonl commented Nov 24, 2020

@mikecote with regards to the user experience @alexfrancoeur is working on a strategy for consistently promoting features across Kibana. For the time being the UX we offer for connectors (visible, disabled, greyed out) is a good way forward for higher license alert types.

@YulNaumenko YulNaumenko self-assigned this Nov 30, 2020
@YulNaumenko
Copy link
Contributor

There are a couple of options how the framework should behave during the Alert execution with alert type which is under the higher license that the user currently has:

  1. Disable alerts with the higher license alert types. After upgrade, user will be able to enable them.
  2. Constantly throw the console errors with Forbidden error (not user friendly)
  3. Any other thoughts?

@pmuellr
Copy link
Member

pmuellr commented Dec 5, 2020

  • "Disable alerts with the higher license alert types" sounds right.
  • "Constantly throw the console errors with Forbidden error" is not good :-). Could we arrange to log a console error when we disable the alerts, just once?

Any other thoughts?

It would be nice to provide some text on why these are disabled in the alerts list and in alert details.

@mikecote
Copy link
Contributor Author

mikecote commented Dec 7, 2020

Option 1 looks good.

It would be nice to provide some text on why these are disabled in the alerts list and in alert details.

If something is done here, it could also be leveraged for import / export. It could track a reason like disabledReason: 'user' | 'import' | 'license'. Where we can display a user friendly message in the UI and in the future we add import as a value.

@YulNaumenko
Copy link
Contributor

Option 1 looks good.

It would be nice to provide some text on why these are disabled in the alerts list and in alert details.

If something is done here, it could also be leveraged for import / export. It could track a reason like disabledReason: 'user' | 'import' | 'license'. Where we can display a user friendly message in the UI and in the future we add import as a value.

Sounds right for me. Do you mean here like exposing a separate alert property disabledReason in addition to enabled ?

@mikecote
Copy link
Contributor Author

mikecote commented Dec 7, 2020

Sounds right for me. Do you mean here like exposing a separate alert property disabledReason in addition to enabled ?

That is an idea 🙂 I'm sure there may be better ways for this. As long as it could scale for future scenarios.

@pmuellr
Copy link
Member

pmuellr commented Dec 7, 2020

We don't have a separate field for this for actions though, do we? The reason calculated as needed? Seems preferable to having a separate field, if that can be made to work.

@mikecote
Copy link
Contributor Author

mikecote commented Dec 8, 2020

We don't have a separate field for this for actions though, do we?

Correct, we don't have a field for this at this time.

@mikecote
Copy link
Contributor Author

mikecote commented Dec 8, 2020

Some further chat about disabling alerts vs pre-configured alerts (#84997 (comment)).

Just to add to the conversation, Stack Monitoring also has the concept of certain alerts being only available in gold/platinum; however, we are currently creating these alerts "out of the box" (since this concept doesn't exist yet, we are creating these when the user first visits the Stack Monitoring UI) and I'm worried about applying rules for alert creation for a data point that can change over time. For example, if they are on the Basic license when they first visit the Stack Monitoring UI, then upgrade to Gold and don't revisit the Stack Monitoring UI, any gold-gated alerts will not exist. This might be something to consider when implementing #59813 cc @mikecote

@chrisronline good point. I think for pre-configured alerts, we should bypass the license check for those and handle it differently (ex: execution time). There's ongoing discussion about how we should handle expired licenses and the existing alerts. It seemed disabling the alert was the best option, but maybe not? thinking about your use case where you'd just want the alerts to "resume". This may be the same expectation with other alerts. cc @YulNaumenko

@kobelb kobelb added the needs-team Issues missing a team label label Jan 31, 2022
@botelastic botelastic bot removed the needs-team Issues missing a team label label Jan 31, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Feature:Alerting Meta Team:ResponseOps Label for the ResponseOps team (formerly the Cases and Alerting teams)
Projects
None yet
Development

Successfully merging a pull request may close this issue.

6 participants