-
Notifications
You must be signed in to change notification settings - Fork 373
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
Decode flowType in Kibana dashboard #2102
Conversation
Codecov Report
@@ Coverage Diff @@
## main #2102 +/- ##
===========================================
+ Coverage 41.41% 61.22% +19.81%
===========================================
Files 131 269 +138
Lines 16502 20453 +3951
===========================================
+ Hits 6834 12523 +5689
+ Misses 9084 6634 -2450
- Partials 584 1296 +712
Flags with carried forward coverage won't be shown. Click here to find out 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.
Thanks for the PR. Will there be a new dashboard called Pod-To-External flows
like Pod-To-Pod flows and Pod-to-Service flows?
Do we need extra dashboard? Currently I put a flow type filter in Pod-To-Pod flows and Pod-to-Service flows dashboard so that users can view the Pod-to-External flows from the diagram in these two dashboards. |
I prefer a separate dashboard for Pod-To-External flows as they are different from Pod-To-Pod flows and Pod-To-Service flows. Any opinion here? @antoninbas @jianjuns |
If we are going to keep the name "Pod-to-Pod ..." for the diagram, then it makes sense to not include the Pod-to-External flows in it. BTW, can someone validate Flow Export when using the Egress feature and using a SNAT IP assigned to a different Node for Pod-to-External traffic? |
Agree with the latter option, but we probably need to merge existing dashboards of Pod-To-Pod flows and Pod-To-Service flows and then capture everything in one dashboard through new filters. I feel it is probably easier if we create an extra dashboard for Pod-To-External flows. @zyiou can be best judge for this.
I tried with the following egress policy.
I can see traffic being tunneled to a different node before leaving the cluster, but we do not see all the connections being exported by Antrea Flow Exporter as we consider only the ones in Antrea zones. The following connection is exported to the flow aggregator, and then to the flow collector. Flow type is correctly tagged but there is network policy info because there are no conntrack labels in the polled connection. Need to check if we are adding labels for the egress policy or those are available in a different connection.
|
@srikartati For Egress here is what I would expect:
|
Workloads of these two options are similar to me. I have a question on these first option. |
I think Pod-to-External and Pod-to-Service are orthogonal:
|
Got it. Then combining Pod-to-Pod and Pod-to-External traffic into one dashboard makes sense to me.
|
Thanks for the clarification. Re-tested it and made sure the egress/SNAT policy is installed properly. Here the egress node IP is 192.168.77.100
And the following conntrack flows on the egress Node:
Here one of them is in Antrea conntrack zone and other one is in default zone. which is ignored by the flow exporter. Regarding adding egress IP into the flow record as new IE. We need the ignored conntrack flow to do that. We will consider this enhancement when supporting External-To-Pod flows in the flow exporter. |
Hi @zyiou,
|
For Pod-To-External flows, destinationPodname, destinationPodnamespace, and destinationPodNode will be empty string. Basically it indicates the information is not available. We can replace the empty string to |
I feel as a user, the dashboard looks complicated, where some filters are applicable for one type and others are not. I think the primary goal for UI is that it should be simple to navigate and understand. If it is not much work, I prefer a separate dashboard as it is much more straightforward. |
This commit decodes flowType from uint8 to string and adds flowType as filter in Kibana dashboard. It adds a Pod-to-External dashboard to visualize flows with type 'To External' and supports flowType filter. It also extends number of options shown in filter and updates corresponding visibility doc.
Got it. Added separate Pod-to-External dashboard. See updated screenshots in description part. Thanks! |
LGTM. Thanks for making the changes. |
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.
So it seems there is no support to check all the traffic leaving a specific Pod (Pod-to-Pod and Pod-to-External) in a single graph. Is that correct? Not that I feel strongly about this, we can always adjust in the future based on feedback...
For checking Pod aggregated traffic, we have two graphs (check 3rd screenshot of Pod-to-Pod dashboard) https://github.com/vmware-tanzu/antrea/blob/main/docs/network-flow-visibility.md#pod-to-pod-flows. I put these two graphs in both Pod-to-Pod flow dashboard and Pod-to-External flow dashboard for users to check. No sankey diagrams support for source Pod aggregated traffic. |
This is a kibana dashboard change, so does not affect any e2e tests. |
This commit decodes flowType from uint8 to string and adds flowType
as filter in Kibana dashboard. It adds a Pod-to-External dashboard
to visualize flows with type 'To External' and supports flowType
filter. It also extends number of options shown in filter and
updates corresponding visibility doc.
fixes #2056
Changes in Pod-to-Pod Flow dashboard:
Pod-to-External Flow dashboard:
Changes in Flow Record dashboard: