kibana/x-pack/plugins/monitoring
Jiawei Wu 092cc0d098
[RAM][Maintenance Window] Add maintenance window solution selection. (#166781)
## Summary
Resolves: https://github.com/elastic/kibana/issues/166301

Adds support for solution/category filtering to maintenance windows by
adding a new property: `category_ids`. Selecting one or more solutions
when creating/updating a maintenance window will cause the maintenance
window to only suppress rule types belonging to said solutions. In order
to achieve filtering by solution/category, we are adding a new field to
the rule types schema called `category`. This field should map to the
feature category that the rule type belongs to (`observability`,
`securitySolution` or `management`).

Our initial plan was to use feature IDs or rule type IDs to accomplish
this filtering, we decided against using rule type IDs because if a new
rule type gets added, we need to change the API to support this new rule
type. We decided against feature IDs because it's a very anti-serverless
way of accomplishing this feature, as we don't want to expose feature
IDs to APIs. We decided on app categories because it works well with
serverless and should be much easier to maintain if new rule types are
added in the future.

This means the `rule_types` API has to be changed to include this new
field, although it shouldn't be a breaking change since we're just
adding a new field. No migrations are needed since rule types are in
memory and maintenance windows are backwards compatible.


![image](d07b05cd-ade8-46a4-a4c0-ab623c31c11b)

### Error state:

![image](b61984b4-c1e1-4e9b-98b4-97a681e977a8)

### Checklist

Delete any items that are not applicable to this PR.

- [x] Any text added follows [EUI's writing
guidelines](https://elastic.github.io/eui/#/guidelines/writing), uses
sentence case text and includes [i18n
support](https://github.com/elastic/kibana/blob/main/packages/kbn-i18n/README.md)
- [x]
[Documentation](https://www.elastic.co/guide/en/kibana/master/development-documentation.html)
was added for features that require explanation or tutorials
- [x] [Unit or functional
tests](https://www.elastic.co/guide/en/kibana/master/development-tests.html)
were updated or added to match the most common scenarios

---------

Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
Co-authored-by: Dima Arnautov <arnautov.dima@gmail.com>
2023-10-02 09:20:53 +01:00
..
common [Stack Monitoring] Update flows for cpu stats fetching (#167244) 2023-09-28 14:54:40 +02:00
dev_docs [monitoring] Update paths to Elasticsearch managed mappings (#166172) 2023-09-11 16:21:56 +02:00
public Upgrade EUI to v88.5.0 (#166868) 2023-09-27 13:04:45 -05:00
server [RAM][Maintenance Window] Add maintenance window solution selection. (#166781) 2023-10-02 09:20:53 +01:00
jest.config.js [jest] update config files to get coverage per plugin (#111299) 2021-09-09 08:14:56 +02:00
kibana.jsonc [Logs Shared] Move LogStream and LogView into new shared plugin (#161151) 2023-07-05 10:30:28 +02:00
readme.md [Stack Monitoring] A writeup on SM indices (#127844) 2022-03-18 09:34:46 +09:00
tsconfig.json [monitoring] Rewrite CPU usage rule to improve accuracy (#159351) 2023-07-06 12:14:54 -07:00

Documentation for Stack Monitoring developers

This plugin provides the Stack Monitoring kibana application.

Getting started

Concepts

Tooling

Troubleshooting

Additional reference