Включен по умолчанию и не требует обязательной конфигурации (всё работает из коробки).

Параметры

  • authобъект

    Опции, связанные с аутентификацией или авторизацией в приложении.

    • allowedUserGroupsмассив строк

      Массив групп, пользователям которых позволен доступ в Grafana и Prometheus.

      Используется, если включен модуль user-authn или параметр externalAuthentication.

      Внимание! При использовании совместно с модулем user-authn необходимо также добавить разрешенные группы в соответствующее поле в настройках DexProvider.

    • externalAuthenticationобъект

      Параметры для подключения внешней аутентификации (используется механизм Nginx Ingress external-auth, работающей на основе модуля Nginx auth_request.

      Если включен модуль user-authn, параметры externalAuthentication настраиваются автоматически.

      • authSignInURLстрока

        URL, куда будет перенаправлен пользователь для прохождения аутентификации (если сервис аутентификации вернул код ответа HTTP отличный от 200).

        Пример:

        authSignInURL: https://myhost.ru/dex/sign_in
        
      • authURLстрока

        URL сервиса аутентификации. Если пользователь прошел аутентификацию, сервис должен возвращать код ответа HTTP 200.

        Примеры:

        authURL: https://dex.d8.svc.cluster.local/dex/auth
        
        authURL: https://myhost.ru/dex/auth
        
    • passwordстрока

      Пароль для HTTP-авторизации для пользователя admin (генерируется автоматически, но можно менять).

      Используется, если не включен параметр externalAuthentication.

    • satisfyAnyбулевый

      Разрешает пройти только одну из аутентификаций.

      В комбинации с опцией whitelistSourceRanges позволяет считать авторизованными всех пользователей из указанных сетей без ввода логина и пароля.

      По умолчанию: false

    • whitelistSourceRangesмассив строк

      Массив CIDR, которым разрешено проходить авторизацию в Grafana и Prometheus.

      Пример:

      whitelistSourceRanges:
      - 1.1.1.1/32
      
  • grafanaобъект

    Настройки для инсталляции Grafana.

    • customPluginsмассив строк

      Список дополнительных plug-in’ов для Grafana.

      Необходимо указать в качестве значения список имен плагинов из официального репозитория.

      Пример добавления plug-in’ов для возможности указания clickhouse в качестве datasource и панели flow-chart:

      grafana:
        customPlugins:
        - agenty-flowcharting-panel
        - vertamedia-clickhouse-datasource
      

      Пример:

      customPlugins:
      - agenty-flowcharting-panel
      - vertamedia-clickhouse-datasource
      
    • useDarkThemeбулевый

      Использование по умолчанию пользовательской темной темы.

      По умолчанию: false

  • highAvailabilityбулевый

    Ручное управление режимом отказоустойчивости.

    По умолчанию режим отказоустойчивости определяется автоматически. Подробнее про режим отказоустойчивости.

    Примеры:

    highAvailability: true
    
    highAvailability: false
    
  • httpsобъект

    Тип сертификата используемого для Grafana/Prometheus.

    При использовании этого параметра полностью переопределяются глобальные настройки global.modules.https.

    Примеры:

    https:
      mode: CustomCertificate
      customCertificate:
        secretName: foobar
    
    https:
      mode: CertManager
      certManager:
        clusterIssuerName: letsencrypt
    
    • certManagerобъект
      • clusterIssuerNameстрока

        ClusterIssuer, используемый для Grafana/Prometheus.

        Доступны letsencrypt, letsencrypt-staging, selfsigned, но вы можете определить свои.

        По умолчанию: "letsencrypt"

    • customCertificateобъект
      • secretNameстрока

        Имя secret’а в namespace d8-system, который будет использоваться для Grafana/Prometheus.

        Секрет должен быть в формате kubernetes.io/tls.

        По умолчанию: "false"

    • modeстрока

      Режим работы HTTPS:

      • Disabled — в данном Grafana/Prometheus будут работать только по HTTP.
      • CertManager — Grafana/Prometheus будут работать по https и заказывать сертификат с помощью clusterissuer заданном в параметре certManager.clusterIssuerName.
      • CustomCertificate — Grafana/Prometheus будут работать по https используя сертификат из namespace d8-system.
      • OnlyInURI — Grafana/Prometheus будут работать по HTTP (подразумевая, что перед ними стоит внешний балансер, который терминирует HTTPS) и все ссылки в user-authn будут генерироваться с HTTPS-схемой.

      По умолчанию: "Disabled"

      Допустимые значения: Disabled, CertManager, CustomCertificate, OnlyInURI

  • ingressClassстрока

    Класс Ingress-контроллера, который используется для Grafana/Prometheus.

    Опциональный параметр, по умолчанию используется глобальное значение modules.ingressClass.

    Пример:

    ingressClass: public
    
  • longtermMaxDiskSizeGigabytesцелочисленный

    Максимальный размер в гигабайтах, до которого автоматически может ресайзиться диск Longterm Prometheus.

    По умолчанию: 300

  • longtermRetentionDaysцелочисленный

    Сколько дней хранить данные в longterm Prometheus. Если указать 0, то longterm Prometheus не будет запущен в кластере.

    По умолчанию: 1095

  • longtermScrapeIntervalстрока

    Как часто Longterm Prometheus должен собирать себе “снимок” данных из основного Prometheus.

    По умолчанию: "5m"

  • longtermStorageClassстрока

    Имя storageClass’а, который использовать для Longterm Prometheus.

    Если не указано — используется StorageClass существующей PVC Longterm Prometheus, а если PVC пока нет — используется или global.storageClass, или global.discovery.defaultStorageClass, а если и их нет — данные сохраняются в emptyDir.

    ОСТОРОЖНО! При указании этой опции в значение, отличное от текущего (из cуществующей PVC), диск Longterm Prometheus будет перезаказан, а все данные удалены.

    Пример:

    longtermStorageClass: ceph-ssd
    
  • mainMaxDiskSizeGigabytesцелочисленный

    Максимальный размер в гигабайтах, до которого автоматически может ресайзиться диск Prometheus.

    По умолчанию: 300

  • nodeSelectorобъект

    Структура, аналогичная spec.nodeSelector Kubernetes Pod.

    Если ничего не указано или указано false — будет использоваться автоматика.

    Пример:

    nodeSelector:
      disktype: ssd
    
  • retentionDaysцелочисленный

    Сколько дней хранить данные.

    По умолчанию: 15

  • scrapeIntervalстрока

    Как часто Prometheus должен собирать метрики с target’ов.

    Evaluation Interval всегда равен scrapeInterval.

    По умолчанию: "30s"

  • storageClassстрока

    Имя storageClass’а, который использовать.

    Если не указано — используется StorageClass существующей PVC Prometheus, а если PVC пока нет — используется или global.storageClass, или global.discovery.defaultStorageClass, а если и их нет — данные сохраняются в emptyDir.

    false — принудительное использование emptyDir. Удалить старый PVC и рестартануть Pod придется руками

    ОСТОРОЖНО! При указании этой опции в значение, отличное от текущего (из cуществующей PVC), диск Prometheus будет перезаказан, а все данные удалены.

    Примеры:

    storageClass: ceph-ssd
    
    storageClass: 'false'
    
  • tolerationsмассив объектов

    Структура, аналогичная spec.tolerations в Kubernetes Pod.

    Если ничего не указано или указано false — будет использоваться автоматика.

    Пример:

    tolerations:
    - key: key1
      operator: Equal
      value: value1
      effect: NoSchedule
    
    • effectстрока
    • keyстрока
    • operatorстрока
    • tolerationSecondsцелочисленный
    • valueстрока
  • vpaобъект

    По умолчанию: {"updateMode":"Initial"}

    Примеры:

    vpa:
      updateMode: Initial
    
    vpa:
      updateMode: 'Off'
      longtermMaxCPU: '1'
      longtermMaxMemory: 2Mi
      maxCPU: 1000m
      maxMemory: 2Mi
    
    • longtermMaxCPU

      Максимальная граница CPU requests, выставляемая VPA контроллером для Pod’ов Longterm Prometheus.

      Значение по умолчанию подбирается автоматически, исходя из максимального количества Pod’ов, которое можно создать в кластере при текущем количестве узлов и их настройках. Подробнее см. хук detect_vpa_max модуля.

      Пример:

      longtermMaxCPU: 0.1
      
    • longtermMaxMemory

      Максимальная граница Memory requests, выставляемая VPA контроллером для Pod’ов longterm Prometheus.

      Значение по умолчанию подбирается автоматически, исходя из максимального количества Pod’ов, которое можно создать в кластере при текущем количестве узлов и их настройках. Подробнее см. хук detect_vpa_max модуля.

      Пример:

      longtermMaxMemory: 4Mi
      
    • maxCPU

      Максимальная граница CPU requests, выставляемая VPA контроллером для Pod’ов основного Prometheus.

      Значение по умолчанию подбирается автоматически, исходя из максимального количества Pod’ов, которое можно создать в кластере при текущем количестве узлов и их настройках. Подробнее см. хук detect_vpa_max модуля.

      Пример:

      maxCPU: '3'
      
    • maxMemory

      Максимальная граница Memory requests, выставляемая VPA контроллером для Pod’ов основного Prometheus.

      Значение по умолчанию подбирается автоматически, исходя из максимального количества Pod’ов, которое можно создать в кластере при текущем количестве узлов и их настройках. Подробнее см. хук detect_vpa_max модуля.

      Пример:

      maxMemory: 3Mi
      
    • updateModeстрока

      Режим обновления Pod’ов.

      По умолчанию: "Initial"

      Допустимые значения: Initial, Auto, Off

Примечание

  • retentionSize для main и longterm рассчитывается автоматически, возможности задать значение нет!
    • Алгоритм расчета:
      • pvc_size * 0.8 — если PVC существует.
      • 10 GiB — если PVC нет и StorageClass поддерживает ресайз.
      • 25 GiB — если PVC нет и StorageClass не поддерживает ресайз.
    • Если используется local-storage и требуется изменить retentionSize, то необходимо вручную изменить размер PV и PVC в нужную сторону. Внимание! Для расчета берется значение из .status.capacity.storage PVC, поскольку оно отражает рельный размер PV в случае ручного ресайза.
  • Размер дисков prometheus можно изменить стандартным для kubernetes способом (если в StorageClass это разрешено), отредактировав в PersistentVolumeClaim поле .spec.resources.requests.storage.