Skip to content

[AWS][ELB] Split ELB data dashboard into 3 different data dashboard #10444

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

Merged
merged 18 commits into from
Aug 13, 2024

Conversation

anil-elastic
Copy link
Contributor

@anil-elastic anil-elastic commented Jul 10, 2024

Proposed commit message

Split ELB data dashboard into 3 different data dashboard

Checklist

  • I have reviewed tips for building integrations and this pull request is aligned with them.
  • I have verified that all data streams collect metrics or logs.
  • I have added an entry to my package's changelog.yml file.
  • I have verified that Kibana version constraints are current according to guidelines.

Author's Checklist

  • [ ]

How to test this PR locally

Related issues

Fields that are not shown on the dashboard

ALB Metrics

Source Field Description
Consumed LCUs The number of load balancer capacity units (LCU) used by your load balancer
HTTP Code ELB 500 Count The number of HTTP 500 error codes that originate from the load balancer
HTTP Code ELB 502 Count The number of HTTP 502 error codes that originate from the load balancer
HTTP Code ELB 503 Count The number of HTTP 503 error codes that originate from the load balancer
HTTP Code ELB 504 Count The number of HTTP 504 error codes that originate from the load balancer
HTTP Fixed Response Count The number of fixed-response actions that were successful
HTTP Redirect Url Limit Exceeded Count The number of redirect actions that couldn't be completed because the URL in the response location header is larger than 8K
IPv6 Processed Bytes The total number of bytes processed by the load balancer over IPv6
IPv6 Request Count The number of IPv6 requests received by the load balancer
Processed Bytes The total number of bytes processed by the load balancer over IPv4 and IPv6
Rejected Connection Count The number of connections that were rejected because the load balancer had reached its maximum number of connections
Rule Evaluations The number of rules processed by the load balancer given a request rate averaged over an hour

NLB Metrics

Source Field Description
Active Flow Count TLS The total number of concurrent TLS flows (or connections) from clients to targets
Consumed LCUs The number of load balancer capacity units (LCU) used by your load balancer
New FlowCount TLS The total number of new TLS flows (or connections) established from clients to targets in the time period
Processed Bytes The total number of bytes processed by the load balancer, including TCP/IP headers
Processed Bytes TLS The total number of bytes processed by TLS listeners
TCP Client Reset Count The total number of reset (RST) packets sent from a client to a target
TCP ELB Reset Count The total number of reset (RST) packets generated by the load balancer
TCP Target Reset Count The total number of reset (RST) packets sent from a target to a client

ELB Metrics

Source Field Description
Active Flow Count TLS The total number of concurrent TLS flows (or connections) from clients to targets
Consumed LCUs The number of load balancer capacity units (LCU) used by your load balancer
New Flow Count TLS The total number of new TLS flows (or connections) established from clients to targets in the time period
Processed Bytes The total number of bytes processed by the load balancer, including TCP/IP headers
Processed Bytes TLS The total number of bytes processed by TLS listeners
TCP Client Reset Count The total number of reset (RST) packets sent from a client to a target
TCP ELB Reset Count The total number of reset (RST) packets generated by the load balancer
TCP Target Reset Count The total number of reset (RST) packets sent from a target to a client

Screenshots

ELB

image

ALB

ALB

NLB

NLB

Updated snapshot

ALB

metricbeat-aws-alb-overview

ELB

metricbeat-aws-elb-overview

NLB

metricbeat-aws-nlb-overview

Existing ELB metric dashboard

deprecated  metricbeat-aws-elb-overview

AWS-Load-Balancer-Overview

AWS-Load-Balancer-Overview

@anil-elastic anil-elastic requested review from a team as code owners July 10, 2024 11:00
@anil-elastic anil-elastic requested a review from agithomas July 10, 2024 11:04
@agithomas agithomas requested a review from gpop63 July 10, 2024 11:34
@anil-elastic
Copy link
Contributor Author

/test

Copy link
Contributor

@gpop63 gpop63 left a comment

Choose a reason for hiding this comment

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

After looking into how to properly display the data across dashboards, I believe we can utilize the aws.cloudwatch.namespace field.

We can add a filter in each dashboard (similar to data_stream.dataset filter) to ensure aws.cloudwatch.namespace corresponds to each specific load balancer type:

  • AWS/NetworkELB namespace for the NLB dashboard
  • AWS/ApplicationELB namespace for the ALB dashboard
  • AWS/ELB namespace for the ELB (classic load balancer) dashboard

We also need to use different breakdown fields for lenses based on the load balancer type:

  • AWS/NetworkELB and AWS/ApplicationELB: breakdown by aws.dimensions.LoadBalancer
  • AWS/ELB: breakdown by aws.dimensions.LoadBalancerName

@agithomas WDYT about this approach?

@elasticmachine
Copy link

elasticmachine commented Jul 10, 2024

🚀 Benchmarks report

To see the full report comment with /test benchmark fullreport

@agithomas
Copy link
Contributor

@agithomas WDYT about this approach?

I think it is a good approach, especially from the performance front.

@agithomas
Copy link
Contributor

Anil, below is my quick feedback looking at the attached screenshots

  1. Please fix the duplicate metric panel title such as Healthy Host Count
  2. Kindly update the package screenshots as part of this PR
  3. Please keep related panels closer. For example, Keep Connection count & New connection count together.
  4. There exist panel with duplicate title (Request count). Please see the screenshot attached first.
  5. Try to avoid usage of count in the panel title, instead make use of Y-axis labels.
  6. You can always rename the control drop. Please refer to control dropdown named cloud.region
  7. Please fix the label 3xx_count_sum

@agithomas
Copy link
Contributor

@anil-elastic / @gpop63 ,

I think it is important to have an input control to use the values of aws.dimensions.LoadBalancerName such that the user can select from multiple Loadbalancers of the same type (ALB / ELB / NLB).

WDYT?

@agithomas agithomas changed the title Split ELB data dashboard into 3 different data dashboard [AWS][ELB] Split ELB data dashboard into 3 different data dashboard Jul 11, 2024
@agithomas agithomas requested a review from ali786XI July 11, 2024 07:48
@ali786XI
Copy link
Contributor

@anil-elastic Please have a look at these review comments

  1. For Healthy/Unhealthy host count it's showing decimal values. Can we remove them to show it as an integer?
  2. For Http 3xx count check the X-axis label. It's @timestamp per minute whereas rest all are 5 minutes. Generally the convention is to keep horizontal axis timestamp interval to Auto. Also please check y axis label it is showing /s.
  3. Related to point 1, a general comment for all visualizations. It's not always necessary to show metrics as double values if they are coming as integer. Like for example you can remove decimals for 3xx count, 4xx count visualizations. Please check for similar if the decimals are really required.
  4. (Minor) It would be great to update the screenshot of ELB as it is distorted.

@anil-elastic
Copy link
Contributor Author

@agithomas @aliabbas-elastic I just pushed the changes and updated the snapshot also. Please review.

@anil-elastic
Copy link
Contributor Author

/test

@elasticmachine
Copy link

elasticmachine commented Jul 24, 2024

💔 Build Failed

Failed CI Steps

History

cc @anil-elastic

Copy link

@mbondyra mbondyra left a comment

Choose a reason for hiding this comment

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

Visualizations LGTM 👌🏼

Copy link
Contributor

@ali786XI ali786XI left a comment

Choose a reason for hiding this comment

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

I didn't just check in the Updated for the visualizations screenshots :) Thanks for addressing all the comments!

Copy link
Contributor

@efd6 efd6 left a comment

Choose a reason for hiding this comment

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

Purely due to codeowners.

@anil-elastic
Copy link
Contributor Author

Updated the existing ELB metrics dashboard with links of new LB's dashboard. Snapshot attached.

@agithomas
Copy link
Contributor

@anil-elastic , can you revisit the content for `Network Load Balancer (NLB) in the modified (existing) overview dashboard ?

@agithomas
Copy link
Contributor

Please update the screenshot of the existing ELB overview dashboard to reflect the new layout.

@gpop63
Copy link
Contributor

gpop63 commented Aug 1, 2024

Overall, it looks good to me. A few nitpicks:

  • If we use a static color in the overview dashboard, the background colors of the lenses won't change dynamically based on the Kibana color theme.
  • For some lenses, we have Y-axis labels, while for others we don't. The current labels seem ok.
  • Since the old dashboard has become an overview dashboard with navigation, can we rename it to something like [Metrics AWS] Load Balancers Overview? There are many dashboards where we do this, and it would avoid having to deprecate it?

@agithomas

@anil-elastic
Copy link
Contributor Author

@agithomas Updated as per the review comments. Please review once.

@elasticmachine
Copy link

💚 Build Succeeded

History

cc @anil-elastic

Copy link

Copy link
Contributor

@agithomas agithomas left a comment

Choose a reason for hiding this comment

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

LGTM!

@anil-elastic anil-elastic merged commit e6362aa into elastic:main Aug 13, 2024
5 checks passed
@elasticmachine
Copy link

Package aws - 2.23.0 containing this change is available at https://epr.elastic.co/search?package=aws

@anil-elastic anil-elastic deleted the integrations-10151 branch August 22, 2024 05:23
harnish-elastic pushed a commit to chavdaharnish/integrations that referenced this pull request Feb 4, 2025
…lastic#10444)

* split ELB data dashboard into 3 different dashboard

* Update packages/aws/changelog.yml

Co-authored-by: Gabriel Pop <[email protected]>

* Review comment fixed

* ALB snapshot updated

* fomatting fixed

* Updated existing ELB dashboard

* Updated with deprecrated and New dashboard link

* dashboard size and text updated

* version updated

* file name corrected

* dashboard word removed from link and NLB description updated.

* snapshot updated

* removed deprecated elb dashboard screenshot

---------

Co-authored-by: Gabriel Pop <[email protected]>
harnish-elastic pushed a commit to chavdaharnish/integrations that referenced this pull request Feb 5, 2025
…lastic#10444)

* split ELB data dashboard into 3 different dashboard

* Update packages/aws/changelog.yml

Co-authored-by: Gabriel Pop <[email protected]>

* Review comment fixed

* ALB snapshot updated

* fomatting fixed

* Updated existing ELB dashboard

* Updated with deprecrated and New dashboard link

* dashboard size and text updated

* version updated

* file name corrected

* dashboard word removed from link and NLB description updated.

* snapshot updated

* removed deprecated elb dashboard screenshot

---------

Co-authored-by: Gabriel Pop <[email protected]>
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.

[AWS][ELB] Create a dashboard panel for TargetResponseTime metrics [AWS] Splitting AWS ELB integration into 3 separate data streams
8 participants