Kiali: Setting non-default PrometheusURL breaks Istio Component Status indicator

Created on 18 Sep 2020  路  3Comments  路  Source: kiali/kiali

Describe the bug
When we set in the configuration a non-default prometheusURL, Kiali shows a notification that Prometheus is missing even though it correctly fetches data.

Configuration block:

    external_services:
      istio:
        url_service_version: http://istiod:15014/version
      prometheus:
        url: http://istio-prometheus:9090

Screenshot from 2020-09-18 08-49-41

Versions used
Kiali: 1.23.0
Istio: 1.7.1
Kubernetes flavour and version: Kops - 1.18.6

To Reproduce
Steps to reproduce the behavior:

  1. Set a non-default PrometheusURL on conf (means no defaulting to http://prometheus:9090)
  2. Go to 'Kiali Home Page'
  3. See error on Notification Istio Component status which is RED

Expected behavior
Kiali to understand that Prometheus is present

bug

All 3 comments

I think there is a PR on the way about this, I'll cc @xeviknal on this as he has more details around it.

@dntosas hello! In kiali 1.23, in both the CR and the ConfigMap you have the following field where you can put the label value of your prometheus pods: https://github.com/kiali/kiali-operator/blob/v1.23/deploy/kiali/kiali_cr.yaml#L539

external_services:
  prometheus:
    component_status:
      app_label: prometheus-app-label
      is_core: true

Make sure that the prometheus pods have the "app" label set with the value you put in the setting (e.g. prometheus-app-label).

See my example:

$ k describe pods -n istio-system prometheus-9d5676d95-lrjpp
Name:         prometheus-9d5676d95-lrjpp
Namespace:    istio-system
Labels:       app=prometheus
              chart=prometheus-11.7.0
              component=server
              heritage=Helm
              pod-template-hash=9d5676d95
              release=prometheus

In case you had prometheus in another namespace, you'd need to add an extra setting:

istio_component_namespaces:
  prometheus: prom-ns

This last bit will change in v1.24 where you'll be able to specify the namespace like this:

external_services:
  prometheus:
    component_status:
      app_label: prometheus-app-label
      is_core: true
      namespace: prom-ns

Does this make sense?

Does this make sense?

Ye, totally! Thanx for the info guys, closing this one

Was this page helpful?
0 / 5 - 0 ratings