Description
Hey @eran Raichstein, I just thought about a cool hack that could probably be done with flows2metrics : if you setup a pipeline exporting prometheus metrics that looks like istio metrics (and I think it is possible), you could have a topology view "for free" in Kiali 😀
9 replies
New
Joel Takvorian 7 hours ago
just need to simulate istio TCP metrics
Eran Raichstein 3 hours ago
@jotak do you have an example/dump of such metrics handy ?
Joel Takvorian 2 hours ago
i don't have a dump right now but it should be something like:
istio_tcp_received_bytes_total{reporter="source",source_workload="my-source-deployment",source_workload_namespace="my-source-ns",source_app="some-app-label-1",source_version="v1",destination_workload="my-dest-deployment",destination_workload_namespace="my-dest-ns",destination_app="some-app-label-2",destination_version="v1",request_protocol="tcp",response_flags="-"} 123456
see also: https://istio.io/latest/docs/reference/config/metrics/#metrics
IstioIstio
Istio Standard Metrics
Istio standard metrics exported by Istio telemetry.
Joel Takvorian 2 hours ago
There are a couple of other labels, I'm not quite sure if they are expected by Kiali or not; such as destination_service, destination_service_name , destination_service_namespace , source_canonical_service, destination_canonical_service, source_canonical_revision, destination_canonical_revision.
Joel Takvorian 2 hours ago
and there's its "tween" metric istio_tcp_sent_bytes_total (ie. sent instead of received, they tend to duplicate the same data, for most part of it)
Joel Takvorian 2 hours ago
the reporter labels is roughly similar to FlowDirection : ingress => destination, egress => source
Joel Takvorian 2 hours ago
x_app and x_version labels are taken from the k8s metadata on the pod: app label and version label
Joel Takvorian 2 hours ago
I don't know if you lookup for the pods owner in flow2metrics , this is something we do in goflow-kube, it allows to have this "workload" information: https://github.com/netobserv/goflow2-kube-enricher/blob/main/pkg/reader/reader.go#L122-L140
If we end up merging our goflow-kube with flow2metrics, this is likely something we'll want to keep
Eran Raichstein < 1 minute ago
ok ... I will take a look ... no doubt that if we can piggyback on something done by Kiali it can be a good idea.