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

ztunnel workload detail metrics #8161

Open
wants to merge 27 commits into
base: master
Choose a base branch
from
Open

Conversation

josunect
Copy link
Contributor

@josunect josunect commented Feb 13, 2025

Describe the change

Initial set of ztunnel metrics:
image

image

Added grafana link when the ztunnel dashboard is included:

  grafana:
    dashboards:
     ...
      - name: "Istio Ztunnel Dashboard"

Steps to test the PR

(Note: A kind cluster with more than one node can be created for more metrics):

kind create cluster --config=- <<EOF
kind: Cluster
apiVersion: kind.x-k8s.io/v1alpha4
name: ambient
nodes:
- role: control-plane
- role: worker
- role: worker
EOF
  • Install Istio Ambient
  • Install Kiali
  • If Grafana is installed, include the ztunnel dashboard in the CR:
  grafana:
    dashboards:
     ...
      - name: "Istio Ztunnel Dashboard"
  • Go to workload ztunnel in Istio namespace, click in ztunnel tab, click in Metrics subtab.

Automation testing

If applicable, explain the case scencarios covered by unit / integration / e2e tests created for this PR.

Issue reference

Fixes #8145

@josunect josunect changed the title Issue8145 ztunnel workload detail metrics Feb 13, 2025
@josunect josunect self-assigned this Feb 13, 2025
@josunect josunect added enhancement This is the preferred way to describe new end-to-end features. ambient Related to Istio Ambient Mesh labels Feb 13, 2025
@josunect
Copy link
Contributor Author

josunect commented Feb 14, 2025

There is something that I don't have clear how to do: If is possible to add a label in the by {pod} query. This is because, in the bytes transmitted, it includes the tcp sent bytes and the tcp received (So there are double data with the same label, which is the pod name) Updated with a metric conversion label prefix

Besides that, I think it is ready for a first review, at least to have some feedback about the content.
It can be tested with kind so there are more than one ztunnel and it has more rich data:

kind create cluster --config=- <<EOF
kind: Cluster
apiVersion: kind.x-k8s.io/v1alpha4
name: ambient
nodes:
- role: control-plane
- role: worker
- role: worker
EOF

@josunect josunect requested a review from jshaughn February 14, 2025 17:52
@josunect josunect marked this pull request as ready for review February 14, 2025 17:52
@josunect josunect requested a review from hhovsepy February 17, 2025 13:21
@hhovsepy hhovsepy self-requested a review February 18, 2025 08:28
hhovsepy
hhovsepy previously approved these changes Feb 18, 2025
Copy link
Contributor

@hhovsepy hhovsepy left a comment

Choose a reason for hiding this comment

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

looks good,
Screenshot From 2025-02-18 09-25-06

@hhovsepy hhovsepy self-requested a review February 18, 2025 11:14
hhovsepy
hhovsepy previously approved these changes Feb 18, 2025
Copy link
Contributor

@hhovsepy hhovsepy left a comment

Choose a reason for hiding this comment

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

Verified.
Custom time range works fine.
Screenshot From 2025-02-18 12-02-35

Copy link
Collaborator

@jshaughn jshaughn left a comment

Choose a reason for hiding this comment

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

Is it my imagination or are the charts squished vertically? Memory and CPU are not showing up for me, but maybe that's true on minikube. Although, I do have those for my istiod.

image

@hhovsepy
Copy link
Contributor

Still works fine on Kind cluster:
Screenshot From 2025-02-18 19-04-46

Will wait for a review from @jshaughn

Copy link
Collaborator

@jshaughn jshaughn left a comment

Choose a reason for hiding this comment

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

Now seeing the cpu/metrics charts on mkube, so that's good. And the y-axis on the charts looks good. The charts are larger than the other metrics charts, but I think that's OK given that we only jave 6.
image
The problem I'm seeing is that the full-screen expansion is too big:
image
Finally, I wonder whether we should disable the other traffic and metric tabs for ztunnel, will they ever have data?

@josunect
Copy link
Contributor Author

Now seeing the cpu/metrics charts on mkube, so that's good. And the y-axis on the charts looks good. The charts are larger than the other metrics charts, but I think that's OK given that we only jave 6. image The problem I'm seeing is that the full-screen expansion is too big: image Finally, I wonder whether we should disable the other traffic and metric tabs for ztunnel, will they ever have data?

Thanks, @jshaughn , I have updated the styles also for the scroll.
Regarding hidden the traffic and metric tabs, should this be done also for istiod? Or even for all the istio-system namespace?

@josunect josunect requested a review from jshaughn February 19, 2025 13:46
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
ambient Related to Istio Ambient Mesh enhancement This is the preferred way to describe new end-to-end features.
Projects
Status: 👀 In review
Development

Successfully merging this pull request may close these issues.

[ztunnel] add metrics to ztunnel tab for workload detail
5 participants