Я использую Istio с включенной Grafana в AKS и хочу использовать вложенный путь, например example.com/metrics/grafana. Предоставленная документация по istio только объясняет, как использовать его без подпути, но поддомен. Но здесь это не вариант.

Согласно этому руководству по графане, я должен установить

domain = example.com
root_url = %(protocol)s://%(domain)s:%(http_port)s/metrics/grafana/
serve_from_sub_path = true

Поэтому я установил их в IstioOperator:

apiVersion: install.istio.io/v1alpha1
kind: IstioOperator
spec:
  profile: default
  values:
    [...]
    grafana:
      # Enable Grafana deployment for analytics and monitoring dashboards
      enabled: true
      env:
        GF_SERVER_ROOT_URL: "%(protocol)s://%(domain)s/metrics/grafana/"
        GF_SERVER_DOMAIN: "example.com"
        GF_SERVER_SERVE_FROM_SUB_PATH: "true"

Кроме того, я установил VirtualService

    - name: grafana-route
      match:
        - uri:
            prefix: /metrics/grafana/
      route:
        - destination:
            host: grafana.istio-system.svc.cluster.local
            port:
              number: 3000

Но когда я захожу на example.com/metrics/grafana, я получаю сообщение:

Если вы видите, что Grafana не смогла загрузить файлы приложения

Это может быть вызвано настройками обратного прокси.

Если вы размещаете графану в подпутье, убедитесь, что ваш параметр root_path в grafana.ini включает подпуть

Если у вас есть локальная сборка разработчика, убедитесь, что вы создаете интерфейс, используя: npm run dev, npm run watch или npm>> run build.

Иногда может помочь перезапуск графана-сервера

Кто-нибудь знает, в чем может быть проблема?

1
Chris 23 Июл 2020 в 15:35

1 ответ

Лучший ответ

serve_from_sub_path должен быть установлен на false.

    grafana:
      # Enable Grafana deployment for analytics and monitoring dashboards
      enabled: true
      env:
        GF_SERVER_ROOT_URL: "%(protocol)s://%(domain)s/metrics/grafana/"
        GF_SERVER_DOMAIN: "example.com"
        GF_SERVER_SERVE_FROM_SUB_PATH: "false"

Кроме того, необходимо переписать uri:

    - name: grafana-route
      match:
        - uri:
            exact: /management/grafana
        - uri:
            prefix: /management/grafana/
      rewrite:
        uri: /
      route:
        - destination:
            host: grafana.istio-system.svc.cluster.local
            port:
              number: 3000
4
Chris 28 Май 2021 в 14:28