• Русский
  • Установка

    Обзор

    Компонент мониторинга предоставляет инфраструктуру для функций мониторинга, оповещения, инспекции и проверки состояния в модуле observability. В этом документе описывается, как установить ACP Monitoring with Prometheus или ACP Monitoring with VictoriaMetrics в кластере.

    Чтобы определить, какой плагин устанавливать, сначала ознакомьтесь с Руководством по выбору компонента мониторинга и выберите вариант, который лучше всего соответствует масштабу вашего кластера, плану хранения и эксплуатационным требованиям.

    Перед началом

    INFO

    Некоторые компоненты Monitoring являются ресурсоемкими. Рекомендуется размещать их на infra-узлах с помощью конфигурации плагина. И Prometheus, и VictoriaMetrics поддерживают настройки nodeSelector и tolerations на уровне плагина. Если вы оцениваете продукт и не подготовили infra-узлы, можно оставить эти параметры пустыми, чтобы компоненты запускались на обычных узлах.

    Рекомендации по планированию infra-узлов см. в разделе Планирование узлов кластера.

    Перед установкой компонентов мониторинга убедитесь, что выполнены следующие условия:

    • Выбран подходящий компонент мониторинга на основе Руководства по выбору компонента мониторинга.
    • При установке в workload-кластере убедитесь, что global-кластер может обращаться к порту 11780 workload-кластера.
    • Если для данных мониторинга требуется использовать storage class или persistent volume storage, заранее создайте соответствующие ресурсы в разделе Storage.

    ACP Monitoring with Prometheus

    Установка через консоль

    1. Перейдите в App Store Management > Cluster Plugins и выберите целевой кластер.

    2. Найдите плагин ACP Monitoring with Prometheus и нажмите Install.

    3. Настройте следующие параметры:

      В консоли выделены наиболее распространенные параметры установки. Для подробного описания настраиваемых полей см. справку YAML в этом разделе.

      ПараметрОписание
      Конфигурация масштабаПоддерживает три конфигурации: Small Scale, Medium Scale и Large Scale:
      - Значения по умолчанию заданы на основе рекомендуемых значений нагрузочного тестирования платформы
      - Можно выбрать или настроить квоты в зависимости от фактического масштаба кластера
      - Значения по умолчанию будут обновляться вместе с версиями платформы; для фиксированных конфигураций рекомендуется использовать пользовательские настройки
      Тип хранилища- LocalVolume: локальное хранилище с сохранением данных на указанных узлах
      - StorageClass: автоматически создает persistent volume с использованием storage class
      - PV: использует существующие persistent volume
      Примечание: конфигурацию хранилища нельзя изменить после установки
      Количество репликЗадает количество pod’ов компонента мониторинга
      Примечание: Prometheus поддерживает только однузловую установку
      Дополнительная конфигурацияСворачиваемый раздел для параметров планирования на уровне плагина.
      Node SelectorsОтображается в Дополнительная конфигурация. Настройте правила node selector на уровне плагина для workloads плагина Prometheus.
      Node TolerationsОтображается в Дополнительная конфигурация. Настройте правила toleration на уровне плагина для workloads плагина Prometheus.
      Конфигурация параметровПри необходимости можно изменить параметры данных для компонента мониторинга
    4. Нажмите Install, чтобы завершить установку.

    Установка с помощью YAML

    Проверка доступных версий

    Убедитесь, что плагин опубликован, проверив ресурсы ModulePlugin и ModuleConfig в кластере global:

    
    # kubectl get moduleplugin | grep prometheus
    prometheus                       30h
    # kubectl get moduleconfig | grep prometheus
    prometheus-v4.1.0                30h
    

    Это означает, что ModulePlugin prometheus существует в кластере и версия v4.1.0 опубликована.

    Создание ModuleInfo

    Создайте ресурс ModuleInfo, чтобы установить плагин без каких-либо параметров конфигурации:

    kind: ModuleInfo
    apiVersion: cluster.alauda.io/v1alpha1
    metadata:
      name: global-prometheus
      labels:
        cpaas.io/cluster-name: global
        cpaas.io/module-name: prometheus
        cpaas.io/module-type: plugin
    spec:
      version: v4.1.0
      config:
        storage:
          type: LocalVolume
          capacity: 40
          nodes:
            - xxx.xxx.xxx.xx
          path: /cpaas/monitoring
          storageClass: ""
          pvSelectorK: ""
          pvSelectorV: ""
        replicas: 1
        components:
          nodeSelector:
            - key: kubernetes.io/os
              value: linux
          tolerations:
            - effect: NoSchedule
              key: node-role.kubernetes.io/infra
              operator: Exists
          prometheus:
            retention: 7
            scrapeInterval: 60
            scrapeTimeout: 45
            resources: null
          nodeExporter:
            port: 9100
            resources: null
          alertmanager:
            resources: null
          kubeStateExporter:
            resources: null
          prometheusAdapter:
            resources: null
          thanosQuery:
            resources: null
        size: Small

    Пример настройки ресурсов (Prometheus):

    spec:
      config:
        components:
          prometheus:
            resources:
              limits:
                cpu: 2000m
                memory: 2000Mi
              requests:
                cpu: 1000m
                memory: 1000Mi

    Подробности см. в разделе Планирование емкости компонента мониторинга.

    Справка по полям YAML (Prometheus):

    Путь к полюОписание
    metadata.labels.cpaas.io/cluster-nameИмя целевого кластера, в который устанавливается плагин.
    metadata.labels.cpaas.io/module-nameДолжно быть prometheus.
    metadata.labels.cpaas.io/module-typeДолжно быть plugin.
    metadata.nameИмя ModuleInfo (например, <cluster>-prometheus).
    spec.versionВерсия плагина для установки.
    spec.config.storage.typeТип хранилища: LocalVolume, StorageClass или PV.
    spec.config.storage.capacityРазмер хранилища для Prometheus (Gi). Рекомендуется минимум 30 Gi.
    spec.config.storage.nodesСписок узлов, если storage.type=LocalVolume. Поддерживается до 1 узла.
    spec.config.storage.pathБазовый путь LocalVolume, если storage.type=LocalVolume. По умолчанию: /cpaas/monitoring.
    spec.config.storage.storageClassИмя StorageClass, если storage.type=StorageClass.
    spec.config.storage.pvSelectorKКлюч selector для PV, если storage.type=PV.
    spec.config.storage.pvSelectorVЗначение selector для PV, если storage.type=PV.
    spec.config.replicasКоличество реплик; применимо только к типам StorageClass и PV.
    spec.config.components.nodeSelectorНеобязательно. Правила node selector на уровне плагина для workloads Prometheus.
    spec.config.components.tolerationsНеобязательно. Правила toleration на уровне плагина для workloads Prometheus.
    spec.config.components.prometheus.retentionКоличество дней хранения данных.
    spec.config.components.prometheus.scrapeIntervalИнтервал scrape в секундах; применяется к ServiceMonitors без interval.
    spec.config.components.prometheus.scrapeTimeoutТаймаут scrape в секундах; должен быть меньше scrapeInterval.
    spec.config.components.prometheus.resourcesПараметры ресурсов для Prometheus.
    spec.config.components.nodeExporter.portПорт Node Exporter (по умолчанию 9100).
    spec.config.components.nodeExporter.resourcesПараметры ресурсов для Node Exporter.
    spec.config.components.alertmanager.resourcesПараметры ресурсов для Alertmanager.
    spec.config.components.kubeStateExporter.resourcesПараметры ресурсов для Kube State Exporter.
    spec.config.components.prometheusAdapter.resourcesПараметры ресурсов для Prometheus Adapter.
    spec.config.components.thanosQuery.resourcesПараметры ресурсов для Thanos Query.
    spec.config.sizeМасштаб мониторинга: Small, Medium или Large.

    Проверка установки

    Так как имя ModuleInfo меняется при создании, найдите ресурс по метке, чтобы проверить статус и версию плагина:

    kubectl get moduleinfo -l cpaas.io/module-name=prometheus
    NAME                                             CLUSTER         MODULE        DISPLAY_NAME   STATUS    TARGET_VERSION   CURRENT_VERSION   NEW_VERSION
    global-e671599464a5b1717732c5ba36079795          global          prometheus    prometheus     Running   v4.1.0           v4.1.0            v4.1.0

    Пояснения к полям:

    • NAME: имя ресурса ModuleInfo
    • CLUSTER: кластер, в который установлен плагин
    • MODULE: имя плагина
    • DISPLAY_NAME: отображаемое имя плагина
    • STATUS: статус установки; Running означает, что установка выполнена успешно и компонент работает
    • TARGET_VERSION: целевая версия установки
    • CURRENT_VERSION: версия до установки
    • NEW_VERSION: последняя доступная версия для установки

    Размещение workloads Prometheus на infra-узлах

    Если вы хотите, чтобы workloads плагина Prometheus запускались на выделенных infra-узлах, настройте правила планирования на уровне плагина во время установки или обновления, а не изменяйте сгенерированные workloads после установки.

    • В консоли используйте Дополнительная конфигурация, чтобы задать Node Selectors и Node Tolerations.
    • В YAML задайте spec.config.components.nodeSelector и spec.config.components.tolerations.

    Пример:

    config:
      components:
        nodeSelector:
          - key: kubernetes.io/os
            value: linux
        tolerations:
          - effect: NoSchedule
            key: node-role.kubernetes.io/infra
            operator: Exists

    Перед применением этих правил планирования убедитесь, что планирование infra-узлов и размещение хранилища совместимы. Дополнительные рекомендации см. в руководствах Monitoring в разделе How To, включая Planning Infra Nodes for Monitoring.

    Доступ к установленным компонентам

    После завершения установки компоненты будут доступны по следующим адресам (замените <> на фактические значения):

    КомпонентАдрес доступа
    Thanos<platform_access_address>/clusters/<cluster>/prometheus
    Prometheus<platform_access_address>/clusters/<cluster>/prometheus-0
    Alertmanager<platform_access_address>/clusters/<cluster>/alertmanager

    ACP Monitoring with VictoriaMetrics

    Предварительные требования

    • Если вы устанавливаете только агент VictoriaMetrics, убедитесь, что VictoriaMetrics Center установлен в другом кластере.

    Установка через консоль

    1. Перейдите в App Store Management > Cluster Plugins и выберите целевой кластер.

    2. Найдите плагин ACP Monitoring with VictoriaMetrics и нажмите Install.

    3. Настройте следующие параметры:

      В консоли выделены наиболее распространенные параметры установки. Для подробного описания настраиваемых полей см. справку YAML в этом разделе.

      ПараметрОписание
      Конфигурация масштабаПоддерживает три конфигурации: Small Scale, Medium Scale и Large Scale:
      - Значения по умолчанию заданы на основе рекомендуемых значений нагрузочного тестирования платформы
      - Можно выбрать или настроить квоты в зависимости от фактического масштаба кластера
      - Значения по умолчанию будут обновляться вместе с версиями платформы; для фиксированных конфигураций рекомендуется использовать пользовательские настройки
      Установить только агент- Off: установить полный набор компонентов VictoriaMetrics
      - On: установить только компонент сбора VMAgent, который зависит от VictoriaMetrics Center
      VictoriaMetrics CenterВыберите кластер, в котором установлен полный набор компонентов VictoriaMetrics
      Тип хранилища- LocalVolume: локальное хранилище с сохранением данных на указанных узлах
      - StorageClass: автоматически создает persistent volume с использованием storage class
      - PV: использует существующие persistent volume
      Путь храненияОтображается, когда Тип хранилища имеет значение LocalVolume. Укажите базовый путь хранения для данных мониторинга. По умолчанию: /cpaas/monitoring.
      Количество репликОтображается, когда Тип хранилища имеет значение StorageClass или PV. Задает количество pod’ов компонента мониторинга. Когда Тип хранилища имеет значение LocalVolume, количество выбранных узлов определяет количество реплик VMStorage.
      Дополнительная конфигурацияСворачиваемый раздел для параметров планирования на уровне плагина.
      Node SelectorsОтображается в Дополнительная конфигурация. Настройте правила node selector на уровне плагина для workloads плагина VictoriaMetrics.
      Node TolerationsОтображается в Дополнительная конфигурация. Настройте правила toleration на уровне плагина для workloads плагина VictoriaMetrics.
      Конфигурация параметровПри необходимости можно изменить параметры данных для компонента мониторинга
      Примечание: данные могут временно превышать срок хранения до удаления
    4. Нажмите Install, чтобы завершить установку.

    Установка с помощью YAML

    Проверка доступных версий

    Убедитесь, что плагин опубликован, проверив ресурсы ModulePlugin и ModuleConfig в кластере global:

    
    # kubectl get moduleplugin | grep victoriametrics
    victoriametrics                       30h
    # kubectl get moduleconfig | grep victoriametrics
    victoriametrics-v4.1.0                30h
    

    Это означает, что ModulePlugin victoriametrics существует в кластере и версия v4.1.0 опубликована.

    Создание ModuleInfo

    Создайте ресурс ModuleInfo, чтобы установить плагин без каких-либо параметров конфигурации:

    kind: ModuleInfo
    apiVersion: cluster.alauda.io/v1alpha1
    metadata:
      name: business-1-victoriametrics
      labels:
        cpaas.io/cluster-name: business-1
        cpaas.io/module-name: victoriametrics
        cpaas.io/module-type: plugin
    spec:
      version: v4.1.0
      config:
        storage:
          type: LocalVolume
          capacity: 40
          nodes:
            - xxx.xxx.xxx.xx
          path: /cpaas/monitoring
          storageClass: ""
          pvSelectorK: ""
          pvSelectorV: ""
        replicas: 1
        agentOnly: false
        agentReplicas: 1
        crossClusterDependency:
          victoriametrics: ""
        components:
          nodeSelector:
            - key: kubernetes.io/os
              value: linux
          tolerations:
            - effect: NoSchedule
              key: node-role.kubernetes.io/infra
              operator: Exists
          nodeExporter:
            port: 9100
            resources: null
          vmstorage:
            retention: 7
            resources: null
          kubeStateExporter:
            resources: null
          vmalert:
            resources: null
          prometheusAdapter:
            resources: null
          vmagent:
            scrapeInterval: 60
            scrapeTimeout: 45
            resources: null
          vminsert:
            resources: null
          alertmanager:
            resources: null
          vmselect:
            resources: null
        size: Small

    Пример настройки ресурсов (vmagent):

    spec:
      config:
        components:
          vmagent:
            resources:
              limits:
                cpu: 2000m
                memory: 2000Mi
              requests:
                cpu: 1000m
                memory: 1000Mi

    Подробности см. в разделе Планирование емкости компонента мониторинга.

    Справка по полям YAML (VictoriaMetrics):

    Путь к полюОписание
    metadata.labels.cpaas.io/cluster-nameИмя целевого кластера, в который устанавливается плагин.
    metadata.labels.cpaas.io/module-nameДолжно быть victoriametrics.
    metadata.labels.cpaas.io/module-typeДолжно быть plugin.
    metadata.nameИмя ModuleInfo (например, <cluster>-victoriametrics).
    spec.versionВерсия плагина для установки.
    spec.config.storage.typeТип хранилища: LocalVolume, StorageClass или PV.
    spec.config.storage.capacityРазмер хранилища для VictoriaMetrics (Gi). Рекомендуется минимум 30 Gi.
    spec.config.storage.nodesСписок узлов, если storage.type=LocalVolume. Можно выбрать один или несколько узлов.
    spec.config.storage.pathБазовый путь LocalVolume, если storage.type=LocalVolume. По умолчанию: /cpaas/monitoring.
    spec.config.storage.storageClassИмя StorageClass, если storage.type=StorageClass.
    spec.config.storage.pvSelectorKКлюч selector для PV, если storage.type=PV.
    spec.config.storage.pvSelectorVЗначение selector для PV, если storage.type=PV.
    spec.config.replicasКоличество реплик; применимо к типам StorageClass и PV.
    spec.config.agentOnlyУстанавливать только vmagent вместо полного набора компонентов VictoriaMetrics.
    spec.config.agentReplicasКоличество реплик vmagent при включенном режиме установки только агента.
    spec.config.crossClusterDependency.victoriametricsЦелевой кластер, который предоставляет VictoriaMetrics Center при включенном режиме установки только агента.
    spec.config.components.nodeSelectorНеобязательно. Правила node selector на уровне плагина для workloads VictoriaMetrics.
    spec.config.components.tolerationsНеобязательно. Правила toleration на уровне плагина для workloads VictoriaMetrics.
    spec.config.components.vmstorage.retentionКоличество дней хранения данных для vmstorage.
    spec.config.components.vmagent.scrapeIntervalИнтервал scrape в секундах; применяется к ServiceMonitors без interval.
    spec.config.components.vmagent.scrapeTimeoutТаймаут scrape в секундах; должен быть меньше scrapeInterval.
    spec.config.components.vmstorage.resourcesПараметры ресурсов для vmstorage.
    spec.config.components.vmalert.resourcesПараметры ресурсов для vmalert.
    spec.config.components.nodeExporter.portПорт Node Exporter (по умолчанию 9100).
    spec.config.components.nodeExporter.resourcesПараметры ресурсов для Node Exporter.
    spec.config.components.alertmanager.resourcesПараметры ресурсов для Alertmanager.
    spec.config.components.kubeStateExporter.resourcesПараметры ресурсов для Kube State Exporter.
    spec.config.components.prometheusAdapter.resourcesПараметры ресурсов для Prometheus Adapter (используется для HPA/custom metrics).
    spec.config.components.vmagent.resourcesПараметры ресурсов для vmagent.
    spec.config.components.vminsert.resourcesПараметры ресурсов для vminsert.
    spec.config.components.vmselect.resourcesПараметры ресурсов для vmselect.
    spec.config.sizeМасштаб мониторинга: Small, Medium или Large.

    Проверка установки

    Так как имя ModuleInfo меняется при создании, найдите ресурс по метке, чтобы проверить статус и версию плагина:

    kubectl get moduleinfo -l cpaas.io/module-name=victoriametrics
    NAME                                             CLUSTER         MODULE            DISPLAY_NAME     STATUS    TARGET_VERSION   CURRENT_VERSION   NEW_VERSION
    global-e671599464a5b1717732c5ba36079795          global          victoriametrics   victoriametrics  Running   v4.1.0           v4.1.0            v4.1.0

    Пояснения к полям:

    • NAME: имя ресурса ModuleInfo
    • CLUSTER: кластер, в который установлен плагин
    • MODULE: имя плагина
    • DISPLAY_NAME: отображаемое имя плагина
    • STATUS: статус установки; Running означает, что установка выполнена успешно и компонент работает
    • TARGET_VERSION: целевая версия установки
    • CURRENT_VERSION: версия до установки
    • NEW_VERSION: последняя доступная версия для установки

    Размещение workloads VictoriaMetrics на infra-узлах

    Если вы хотите, чтобы workloads плагина VictoriaMetrics запускались на выделенных infra-узлах, настройте правила планирования на уровне плагина во время установки или обновления, а не изменяйте сгенерированные workloads после установки.

    • В консоли используйте Дополнительная конфигурация, чтобы задать Node Selectors и Node Tolerations.
    • В YAML задайте spec.config.components.nodeSelector и spec.config.components.tolerations.

    Пример:

    config:
      components:
        nodeSelector:
          - key: kubernetes.io/os
            value: linux
        tolerations:
          - effect: NoSchedule
            key: node-role.kubernetes.io/infra
            operator: Exists

    Перед применением этих правил планирования убедитесь, что планирование infra-узлов и размещение хранилища совместимы. Дополнительные рекомендации см. в руководствах Monitoring в разделе How To, включая Planning Infra Nodes for Monitoring.

    Доступ к установленным компонентам

    После завершения установки компоненты будут доступны по следующему адресу (замените <> на фактические значения):

    КомпонентАдрес доступа
    VictoriaMetrics UI<platform_access_address>/clusters/<cluster>/vmselect-ui/vmui/?#/metrics
    INFO

    Если включен параметр Install Agent Only, кластер не развертывает компонент vmselect локально, поэтому адрес VictoriaMetrics UI в этом кластере недоступен.