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

[Fleet] Add docs link for performance presets to Fleet output flyout #172523

Closed
kpollich opened this issue Dec 4, 2023 · 1 comment · Fixed by #173318
Closed

[Fleet] Add docs link for performance presets to Fleet output flyout #172523

kpollich opened this issue Dec 4, 2023 · 1 comment · Fixed by #173318
Labels
Team:Fleet Team label for Observability Data Collection Fleet team

Comments

@kpollich
Copy link
Member

kpollich commented Dec 4, 2023

Relates to #166870

Once documentation for output performance presets is available, add an in-product tooltip + link to learn more to the Fleet settings output flyout.

@kpollich kpollich added the Team:Fleet Team label for Observability Data Collection Fleet team label Dec 4, 2023
@elasticmachine
Copy link
Contributor

Pinging @elastic/fleet (Team:Fleet)

kpollich added a commit that referenced this issue Dec 6, 2023
## Summary

Closes #166870
Closes #172525

- Adds a new `preset` field to output saved objects
- Updates REST spec payloads to allow `preset` field in `POST/PUT`
requests to the `/api/fleet/outputs` endpoint
- Adds logic to set default `preset` to `balanced` or `custom` based on
whether a reserved key exists in `output.config_yaml`
- Adds UI to the output settings flyout for providing a preset
- Adds backfill logic to Fleet `setup` that updates all existing outputs
+ redeploys their associated policies to ensure the proper `preset` is
provided on all policies

## To do

- [x] Fix failing tests
- [x] Add a lot of tests + testing instructions
- [x] Allow preconfigured outputs to specify a preset
- [x] Update OpenAPI spec for outputs API
- [x] Disable `EuiSelect` when output is managed
- [x] Add in-product link to performance preset docs once they exist
(might have to be a follow-up? (Follow up:
#172523)
- [x] Parse YML box contents instead of using basic string lookup for
forcing `custom` preset (Follow up:
#172525)

## How to test

1. Create a new Elasticsearch output
2. Observe the `Performance preset` dropdown defaults to `balanced`
3. Add a performance setting to the custom YAML box e.g. `bulk_max_size:
1000`
4. Note the callout with the list of reserved keys
5. Note that the dropdown switches to `Custom` and is now disabled
6. Remove the offending key
7. Note the dropdown returns to its normal state
8. Save the output
9. Edit the output and observe the same behaviors

For the backfill
1. Create a local environment with multiple elasticsearch outputs on
`main`
2. Stop Kibana
3. Checkout this PR branch
4. Restart Kibana
5. Observe the ES outputs have been updated to include the appropriate
`preset` value

## Screenshots + Screen recordings


https://github.com/elastic/kibana/assets/6766512/0c25a15e-938d-4747-8846-d51a9ad01968

---------

Co-authored-by: kibanamachine <[email protected]>
kibanamachine added a commit that referenced this issue Dec 13, 2023
#173333)

# Backport

This will backport the following commits from `main` to `8.12`:
- [[Fleet] Add docs links for performance tuning presets
(#173318)](#173318)

<!--- Backport version: 8.9.7 -->

### Questions ?
Please refer to the [Backport tool
documentation](https://github.com/sqren/backport)

<!--BACKPORT [{"author":{"name":"Kyle
Pollich","email":"[email protected]"},"sourceCommit":{"committedDate":"2023-12-13T20:20:12Z","message":"[Fleet]
Add docs links for performance tuning presets (#173318)\n\n##
Summary\r\n\r\nCloses #172523 \r\n\r\nAdds links
to\r\nhttps://www.elastic.co/guide/en/fleet/master/es-output-settings.html#es-output-settings-performance-tuning-settings\r\n+
help text for the performance preset form
input.\r\n\r\n\r\n![image](https://github.com/elastic/kibana/assets/6766512/91be33e3-fd62-4973-a2d6-b4f2e544bd69)\r\n\r\n\r\n![image](https://github.com/elastic/kibana/assets/6766512/787f6784-842f-4e5a-8175-5c2057aee286)","sha":"1248f55d89a2fa69d2a3ddfe167c088643891922","branchLabelMapping":{"^v8.13.0$":"main","^v(\\d+).(\\d+).\\d+$":"$1.$2"}},"sourcePullRequest":{"labels":["release_note:skip","Team:Fleet","backport:prev-minor","v8.13.0"],"number":173318,"url":"https://github.com/elastic/kibana/pull/173318","mergeCommit":{"message":"[Fleet]
Add docs links for performance tuning presets (#173318)\n\n##
Summary\r\n\r\nCloses #172523 \r\n\r\nAdds links
to\r\nhttps://www.elastic.co/guide/en/fleet/master/es-output-settings.html#es-output-settings-performance-tuning-settings\r\n+
help text for the performance preset form
input.\r\n\r\n\r\n![image](https://github.com/elastic/kibana/assets/6766512/91be33e3-fd62-4973-a2d6-b4f2e544bd69)\r\n\r\n\r\n![image](https://github.com/elastic/kibana/assets/6766512/787f6784-842f-4e5a-8175-5c2057aee286)","sha":"1248f55d89a2fa69d2a3ddfe167c088643891922"}},"sourceBranch":"main","suggestedTargetBranches":[],"targetPullRequestStates":[{"branch":"main","label":"v8.13.0","labelRegex":"^v8.13.0$","isSourceBranch":true,"state":"MERGED","url":"https://github.com/elastic/kibana/pull/173318","number":173318,"mergeCommit":{"message":"[Fleet]
Add docs links for performance tuning presets (#173318)\n\n##
Summary\r\n\r\nCloses #172523 \r\n\r\nAdds links
to\r\nhttps://www.elastic.co/guide/en/fleet/master/es-output-settings.html#es-output-settings-performance-tuning-settings\r\n+
help text for the performance preset form
input.\r\n\r\n\r\n![image](https://github.com/elastic/kibana/assets/6766512/91be33e3-fd62-4973-a2d6-b4f2e544bd69)\r\n\r\n\r\n![image](https://github.com/elastic/kibana/assets/6766512/787f6784-842f-4e5a-8175-5c2057aee286)","sha":"1248f55d89a2fa69d2a3ddfe167c088643891922"}}]}]
BACKPORT-->

Co-authored-by: Kyle Pollich <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Team:Fleet Team label for Observability Data Collection Fleet team
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants