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

Metricbeat kafka dashboard #8457

Merged
merged 14 commits into from
Oct 19, 2018
Merged

Conversation

jsoriano
Copy link
Member

@jsoriano jsoriano commented Sep 27, 2018

Migration of Kafka dashboard in https://demo.elastic.co to metricbeat.

Depends on #8504

@jsoriano jsoriano added in progress Pull request is currently in progress. module Metricbeat Metricbeat labels Sep 27, 2018
jsoriano added a commit to jsoriano/beats that referenced this pull request Oct 1, 2018
Kafka dashboards calculate cardinalities of composed
fields, this is expensive in query time, but can be optimized if the
composed fields are precalculated.

Continues with elastic#7767, needed for elastic#8457.
@jsoriano
Copy link
Member Author

Screenshot of current dashboard, main changes with respect to dashboard in demo.elastic.co:

  • Removed the topic lag gauges, they looked a bit confusing to me (e.g. what to chose for the maximum value? what does the value represent?), it also didn't scale very well then there are lots of topics. We might think to replace it with a line graph.
  • Added a table with info about clients, not sure if useful with big deployments, but I think it can be useful when filtering by topic and/or partition.
  • Renamed some labels, from "leader partitions" to "partitions", and from "partitions" to "replicas". Number of partition leaders should be equal to number of partitions, and replicas is used to count replicas.
  • Removed offsets in broker tables, they can be a bit random with multiple topics and they still appear in other visualizations.
  • Reorganization of visualizations, giving more importance to consumer lag and overview info, and less importance to partition reassignments, I don't know if this is so frequent.

screenshot

Something like this could be shipped for 6.5.0, but his will probably need more iterations, I'm not sure about the accuracy of some queries (specially counting replicas). And we could probably benefit of having specific topic/partition and consumers dashboards.

@jsoriano
Copy link
Member Author

jsoriano commented Oct 17, 2018

Added also a partition selector to dashboard controls that doesn't appear in previous screenshot.

kafka controls

@jsoriano jsoriano added review needs_backport PR is waiting to be backported to other branches. v6.5.0 and removed in progress Pull request is currently in progress. labels Oct 17, 2018
@jsoriano jsoriano changed the title [WIP] Metricbeat kafka dashboard Metricbeat kafka dashboard Oct 17, 2018
jsoriano added a commit that referenced this pull request Oct 18, 2018
Kafka dashboards calculate cardinalities of composed
fields, this is expensive in query time, but can be optimized if the
composed fields are precalculated.

Continues with #7767, needed for #8457.
jsoriano added a commit to jsoriano/beats that referenced this pull request Oct 18, 2018
Kafka dashboards calculate cardinalities of composed
fields, this is expensive in query time, but can be optimized if the
composed fields are precalculated.

Continues with elastic#7767, needed for elastic#8457.

(cherry picked from commit 78ef120)
@jsoriano jsoriano force-pushed the metricbeat-kafka-dashboard branch from 09d8c14 to 72ca74d Compare October 18, 2018 17:12
@jsoriano jsoriano force-pushed the metricbeat-kafka-dashboard branch from 72ca74d to b3311cc Compare October 18, 2018 17:12
@jsoriano
Copy link
Member Author

Some more changes:

  • Use of TSVB for broker and topic tables
  • Number of replicas in brokers table is correct now
  • Topic table shows now more topics and number of consumers per topic

I have a doubt now, I can do some things with TSVB tables that I cannot do with normal tables, but also I cannot group by multiple fields with TSVB, what I need for the consumer groups table. So I have the two kind of tables in the same dashboard. Both tables are different in style and features, so I'm not sure if continue like this, what gives in my opinion more valuable info, or show only a subset of info with consistent table styles.

The dashboard is like this now:
kafka

jsoriano added a commit that referenced this pull request Oct 18, 2018
Kafka dashboards calculate cardinalities of composed
fields, this is expensive in query time, but can be optimized if the
composed fields are precalculated.

Continues with #7767, needed for #8457.

(cherry picked from commit 78ef120)
@jsoriano
Copy link
Member Author

jsoriano commented Oct 19, 2018

Fixed consistency of capitalization in table headers, and removed "Number of" from them, so there is more space for data.
We will go on with the different tables.
I'd say it is ready to merge.

Copy link
Contributor

@ruflin ruflin left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM. Didn't test locally as no Kafka setup at the moment. Would be good to sync up with Dale when this is in.

@ruflin
Copy link
Contributor

ruflin commented Oct 19, 2018

Failure is not related.

@jsoriano
Copy link
Member Author

I haven't added a changelog entry, added now.

Copy link
Contributor

@ruflin ruflin left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

WFG

@jsoriano jsoriano merged commit 450071d into elastic:master Oct 19, 2018
@jsoriano jsoriano deleted the metricbeat-kafka-dashboard branch October 19, 2018 15:49
@jsoriano
Copy link
Member Author

@gingerwizard everything is on master now, it'd be awesome if you could give it a try. Thanks!

@jsoriano jsoriano removed the needs_backport PR is waiting to be backported to other branches. label Oct 20, 2018
jsoriano added a commit to jsoriano/beats that referenced this pull request Oct 20, 2018
Add metricbeat kafka dashboard based on the one implemented by
Dale for demo.elastic.co.

Co-authored-by: Dale McDiarmid <dalem@elastic.co>
(cherry picked from commit 450071d)
@ruflin ruflin mentioned this pull request Oct 20, 2018
5 tasks
jsoriano added a commit that referenced this pull request Oct 22, 2018
Add metricbeat kafka dashboard based on the one implemented by
Dale for demo.elastic.co.

Co-authored-by: Dale McDiarmid <dalem@elastic.co>

(cherry picked from commit 450071d)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants