kmesh-net / kmesh

High Performance ServiceMesh Data Plane Based on Programmable Kernel
https://kmesh.net
Apache License 2.0
391 stars 51 forks source link

should Kmesh L4 metrics be prefixed with `kmesh` or `istio` #569

Closed YaoZengzeng closed 4 weeks ago

YaoZengzeng commented 1 month ago

Please provide an in-depth description of the question you have:

Now the Kmesh L4 metrcis are all prefixed with kmesh like:

kmesh_tcp_sent_bytes_total{connection_security_policy="mutual_tls",destination_app="reviews",destination_canonical_revision="v2",destination_canonical_service="reviews",destination_cluster="Kubernetes",destination_principal="-",destination_service="10.244.0.33",destination_service_name="reviews-v2-5979c6fc9c-7p722",destination_service_namespace="default",destination_version="v2",destination_workload="reviews-v2",destination_workload_namespace="default",direction="OUTBOUND",request_protocol="tcp",response_flags="-",source_app="reviews-svc-waypoint",source_canonical_revision="latest",source_canonical_service="reviews-svc-waypoint",source_cluster="Kubernetes",source_principal="-",source_version="latest",source_workload="reviews-svc-waypoint",source_workload_namespace="default"} 0
kmesh_tcp_sent_bytes_total{connection_security_policy="mutual_tls",destination_app="reviews",destination_canonical_revision="v3",destination_canonical_service="reviews",destination_cluster="Kubernetes",destination_principal="-",destination_service="10.244.0.36",destination_service_name="reviews-v3-7bbb5b9cf7-4b8kk",destination_service_namespace="default",destination_version="v3",destination_workload="reviews-v3",destination_workload_namespace="default",direction="OUTBOUND",request_protocol="tcp",response_flags="-",source_app="reviews-svc-waypoint",source_canonical_revision="latest",source_canonical_service="reviews-svc-waypoint",source_cluster="Kubernetes",source_principal="-",source_version="latest",source_workload="reviews-svc-waypoint",source_workload_namespace="default"} 0

The corresponding metrics in ztunnel are prefixed with istio like:

istio_tcp_sent_bytes_total{reporter="source",source_workload="productpage-v1",source_canonical_service="productpage",source_canonical_revision="v1",source_workload_namespace="default",source_principal="spiffe://cluster.local/ns/default/sa/bookinfo-productpage",source_app="productpage",source_version="v1",source_cluster="Kubernetes",destination_service="reviews.default.svc.cluster.local",destination_service_namespace="default",destination_service_name="reviews",destination_workload="waypoint",destination_canonical_service="waypoint",destination_canonical_revision="latest",destination_workload_namespace="default",destination_principal="spiffe://cluster.local/ns/default/sa/waypoint",destination_app="waypoint",destination_version="latest",destination_cluster="Kubernetes",request_protocol="tcp",response_flags="-",connection_security_policy="mutual_tls"} 266830
istio_tcp_sent_bytes_total{reporter="destination",source_workload="waypoint",source_canonical_service="waypoint",source_canonical_revision="latest",source_workload_namespace="default",source_principal="spiffe://cluster.local/ns/default/sa/waypoint",source_app="waypoint",source_version="latest",source_cluster="Kubernetes",destination_service="ratings.default.svc.cluster.local",destination_service_namespace="default",destination_service_name="ratings",destination_workload="ratings-v1",destination_canonical_service="ratings",destination_canonical_revision="v1",destination_workload_namespace="default",destination_principal="spiffe://cluster.local/ns/default/sa/bookinfo-ratings",destination_app="ratings",destination_version="v1",destination_cluster="Kubernetes",request_protocol="tcp",response_flags="-",connection_security_policy="mutual_tls"} 59274
istio_tcp_sent_bytes_total{reporter="source",source_workload="productpage-v1",source_canonical_service="productpage",source_canonical_revision="v1",source_workload_namespace="default",source_principal="spiffe://cluster.local/ns/default/sa/bookinfo-productpage",source_app="productpage",source_version="v1",source_cluster="Kubernetes",destination_service="details.default.svc.cluster.local",destination_service_namespace="default",destination_service_name="details",destination_workload="waypoint",destination_canonical_service="waypoint",destination_canonical_revision="latest",destination_workload_namespace="default",destination_principal="spiffe://cluster.local/ns/default/sa/waypoint",destination_app="waypoint",destination_version="latest",destination_cluster="Kubernetes",request_protocol="tcp",response_flags="-",connection_security_policy="mutual_tls"} 152002

What really matter is that we cannot use the existing istio infrastructure such as Grafana charts:

1720774243976

What do you think about this question?:

Environment:

hzxuzhonghu commented 1 month ago

From my perspective, should be prefixed with kmesh. The less coupling with istio is better. Istio prefiexed metric can be confusing too.

YaoZengzeng commented 4 weeks ago

We have decided to use kmesh as prefix, adapt and maintain our own grafana dashboard, ref: https://github.com/kmesh-net/kmesh/pull/617