-
Notifications
You must be signed in to change notification settings - Fork 8.3k
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][Kafka Output] Tweaks for Kafka UI/API #162875
Conversation
Hi @szwarckonrad! I'm working on a docs PR for these UI changes. I have a couple of suggestions if you don't mind:
Thanks! |
@szwarckonrad Thank you for putting together these changes, it's a massive help! I was chatting with @faec and there are a couple more changes in the conversion to specifically PartitionWe need to follow the rules here: https://www.elastic.co/guide/en/beats/filebeat/current/kafka-output.html#_partition Right now partition is the following: random
So this should look like
round_robinSimilarly, for Right now it looks like
it should be
hashfor hash:
yaml generation bug?I also think there might be a bug here: When I change the I'm seeing this in the yaml, we should follow the format above and ensure we just have
TopicsWe need to follow the rules here: https://www.elastic.co/guide/en/beats/filebeat/current/kafka-output.html#topic-option-kafka For topics, I'm seeing the following
We should actually see this as:
|
Nice. Thanks a lot for fixing the copy, Konrad! Now that I understand how the hrefs are handled, I'll wait for my docs PR to merge (so that the URLs exist) and then I'll open a separate issue or PR to have the hrefs updated. |
Can we add #163093 to the changes in this PR as well? We should remove the Channel Buffer Size configuration, it's an advanced option so can go in the Advanced YAML parameters box when needed. |
@elasticmachine merge upstream |
@szwarckonrad a few more changes after some additional testing. Remove channel buffer sizeWe should remove the channel buffer size field entirely. One more tweak to topicsRight now, we're getting the following:
We should be getting:
Note that we should have Hosts field should accept
|
@@ -229,6 +232,29 @@ const getSavedObjectTypes = (): { [key: string]: SavedObjectsType } => ({ | |||
broker_timeout: { type: 'integer' }, | |||
broker_ack_reliability: { type: 'text' }, | |||
broker_buffer_size: { type: 'integer' }, | |||
required_acks: { type: 'integer' }, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We should probably add index: false
to all of those kafka fields as it seems to me that we will not search on that
Pinging @elastic/fleet (Team:Fleet) |
@@ -84,13 +84,13 @@ export const OutputFormKafkaSection: React.FunctionComponent<Props> = (props) => | |||
helpText={ | |||
<FormattedMessage | |||
id="xpack.fleet.settings.editOutputFlyout.kafkaHostsInputDescription" | |||
defaultMessage="Specify the URLs that your agents will use to connect to Kafka. For more information, see the {guideLink}." | |||
defaultMessage="Specify the URLs that your agents will use to connect to Kafka. {guideLink}." | |||
values={{ | |||
guideLink: ( | |||
<EuiLink href={docLinks.links.fleet.settings} target="_blank" external> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Are we going to update this to a Kafka specific doc link?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
could we add a unit test on the migration?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM, please check comments.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM changes in the ingest-outputs
mappings are compatible (non-breaking).
I think there is one part we may been missing for Kafka output (this should probably be a follow up PR) it's the whole preconfiguration thing to be able to define a kafka output in kibana config file, probably need to update that function and check the schema support it
|
💛 Build succeeded, but was flaky
Failed CI StepsTest Failures
Metrics [docs]Async chunks
Page load bundle
History
To update your PR or re-run it, just comment with: |
1. Removed Kerberos option from auth type selection 2. Used EuiFieldPassword component for password input State:  3. Added `None` authentication option. This will save `auth_type` as `none` and won't pass `usernamer`, `password` nor `ssl` to the SO.  4. Renamed `broker_ack_reliability` to `required_acks` in UI and API. Changed value type to `1 || 0 || -1` 5. Renamed `broker_buffer_size` to `channel_buffer_size` in UI and API. 6. Temporarily disabled `password` field encryption. 7. `partition` key stored in yaml follows proper requirements 8. `topics` key stored in yaml follows proper requirements --------- Co-authored-by: kibanamachine <[email protected]>
This PR addresses comment #162875 (comment) I believe schema is already covered here - https://github.com/elastic/kibana/pull/159110/files#diff-2a6e1a6445463ee01c508ec3b6a7441635045a203dc94e58784fcba721747914R85-R89 --------- Co-authored-by: Julia Bardi <[email protected]>
State:
None
authentication option. This will saveauth_type
asnone
and won't passusernamer
,password
norssl
to the SO.broker_ack_reliability
torequired_acks
in UI and API. Changed value type to1 || 0 || -1
broker_buffer_size
tochannel_buffer_size
in UI and API.password
field encryption.partition
key stored in yaml follows proper requirementstopics
key stored in yaml follows proper requirements