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

Параметры

  • 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).

        Пример: "https://myhost.ru/dex/sign_in"

      • authURL (строка)

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

        Пример: "https://dex.d8.svc.cluster.local/dex/auth", "https://myhost.ru/dex/auth"

    • password (строка)

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

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

    • satisfyAny (булевый)

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

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

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

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

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

      Пример: ["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
      

      Пример: ["agenty-flowcharting-panel","vertamedia-clickhouse-datasource"]

    • useDarkTheme (булевый)

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

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

  • highAvailability (булевый)

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

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

    Пример: true, false

  • https (объект)

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

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

    Пример: {"mode":"CustomCertificate","customCertificate":{"secretName":"foobar"}}, {"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.

    Пример: "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 будет перезаказан, а все данные удалены.

    Пример: "ceph-ssd"

  • mainMaxDiskSizeGigabytes (целочисленный)

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

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

  • nodeSelector (объект)

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

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

    Пример: {"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 будет перезаказан, а все данные удалены.

    Пример: "ceph-ssd", "false"

  • tolerations (массив объектов)

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

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

    Пример: [{"key":"key1","operator":"Equal","value":"value1","effect":"NoSchedule"}]

    • effect (строка)
    • key (строка)
    • operator (строка)
    • tolerationSeconds (целочисленный)
    • value (строка)
  • vpa (объект)

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

    Пример: {"updateMode":"Initial"}, {"updateMode":"Off","longtermMaxCPU":"1","longtermMaxMemory":"2Mi","maxCPU":"1000m","maxMemory":"2Mi"}

    • longtermMaxCPU

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

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

      Пример: 0.1

    • longtermMaxMemory

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

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

      Пример: "4Mi"

    • maxCPU

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

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

      Пример: "3"

    • maxMemory

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

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

      Пример: "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.