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

    Overview

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

    Installation Preparation

    INFO

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

    Для рекомендаций по планированию infra-узлов смотрите Cluster Node Planning.

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

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

    Install the ACP Monitoring with Prometheus Plugin via console

    Installation Procedures

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

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

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

      ParameterDescription
      Scale ConfigurationПоддерживает три конфигурации: Small Scale, Medium Scale и Large Scale:
      - Значения по умолчанию основаны на рекомендованных нагрузочных тестах платформы
      - Можно выбрать или настроить квоты в зависимости от фактического масштаба кластера
      - Значения по умолчанию обновляются с версиями платформы; для фиксированных конфигураций рекомендуется использовать кастомные настройки
      Storage Type- LocalVolume: Локальное хранилище с данными на указанных узлах
      - StorageClass: Автоматическое создание persistent volume с использованием storage class
      - PV: Использование существующих persistent volume
      Примечание: Конфигурация хранилища не может быть изменена после установки
      Replica CountЗадает количество подов компонента мониторинга
      Примечание: Prometheus поддерживает только установку на одном узле
      Parameter ConfigurationПараметры данных для компонента мониторинга можно настроить по необходимости
    4. Нажмите Install для завершения установки.

    Access Method

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

    ComponentAccess Address
    Thanos<platform_access_address>/clusters/<cluster>/prometheus
    Prometheus<platform_access_address>/clusters/<cluster>/prometheus-0
    Alertmanager<platform_access_address>/clusters/<cluster>/alertmanager

    Install the ACP Monitoring with Prometheus Plugin via YAML

    1. Check available versions

    Убедитесь, что плагин опубликован, проверив наличие ресурсов 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 опубликована.

    2. Create a 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:
          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
      valuesOverride:
        ait/chart-kube-prometheus:
          global:
            nodeSelector:
              node-role.kubernetes.io/infra: "true"
            tolerations:
            - effect: NoSchedule
              key: node-role.kubernetes.io/infra
              value: reserved
              operator: Equal

    Пример настройки ресурсов для prometheus:

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

    Подробности смотрите в Monitor Component Capacity Planning

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

    Field pathDescription
    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.
    spec.config.storage.storageClassИмя StorageClass при storage.type=StorageClass.
    spec.config.storage.pvSelectorKКлюч селектора PV при storage.type=PV.
    spec.config.storage.pvSelectorVЗначение селектора PV при storage.type=PV.
    spec.replicasКоличество реплик; применимо только для типов StorageClass/PV.
    spec.config.components.prometheus.retentionКоличество дней хранения данных.
    spec.config.components.prometheus.scrapeIntervalИнтервал сбора данных в секундах; применяется к ServiceMonitors без interval.
    spec.config.components.prometheus.scrapeTimeoutТаймаут сбора данных в секундах; должен быть меньше 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.
    spec.valuesOverride.ait/chart-kube-prometheus.global.nodeSelectorНеобязательно. NodeSelector для компонента Monitoring. Используется для выбора узлов, на которых будет работать компонент мониторинга. Обычно применяется для infra-узлов.
    spec.valuesOverride.ait/chart-kube-prometheus.global.tolerationsНеобязательно. Tolerations для компонента Monitoring. Если nodeSelector выбирает узлы с taint, используйте этот параметр для указания ключа, значения и эффекта toleration. Обычно применяется для infra-узлов.

    3. Verify installation

    Так как имя 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: последняя доступная версия для установки

    Install the ACP Monitoring with VictoriaMetrics Plugin via console

    Prerequisites

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

    Installation Procedures

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

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

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

      ParameterDescription
      Scale ConfigurationПоддерживает три конфигурации: Small Scale, Medium Scale и Large Scale:
      - Значения по умолчанию основаны на рекомендованных нагрузочных тестах платформы
      - Можно выбрать или настроить квоты в зависимости от фактического масштаба кластера
      - Значения по умолчанию обновляются с версиями платформы; для фиксированных конфигураций рекомендуется использовать кастомные настройки
      Install Agent Only- Off: Установить полный набор компонентов VictoriaMetrics
      - On: Установить только компонент сбора VMAgent, который зависит от VictoriaMetrics Center
      VictoriaMetrics CenterВыберите кластер, в котором установлен полный набор компонентов VictoriaMetrics
      Storage Type- LocalVolume: Локальное хранилище с данными на указанных узлах
      - StorageClass: Автоматическое создание persistent volume с использованием storage class
      - PV: Использование существующих persistent volume
      Replica CountЗадает количество подов компонента мониторинга:
      - Тип хранилища LocalVolume не поддерживает несколько реплик
      - Для других типов хранилища смотрите подсказки на экране для настройки
      Parameter ConfigurationПараметры данных для компонента мониторинга можно настроить
      Примечание: Данные могут временно превышать период хранения перед удалением
    4. Нажмите Install для завершения установки.

    Install the ACP Monitoring with VictoriaMetrics Plugin via YAML

    1. Check available versions

    Убедитесь, что плагин опубликован, проверив наличие ресурсов 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 опубликована.

    2. Create a 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:
          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
      valuesOverride:
        ait/chart-victoriametrics:
          global:
            nodeSelector:
              node-role.kubernetes.io/infra: "true"
            tolerations:
            - effect: NoSchedule
              key: node-role.kubernetes.io/infra
              value: reserved
              operator: Equal

    Пример настройки ресурсов для vmagent:

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

    Подробности смотрите в Monitor Component Capacity Planning

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

    Field pathDescription
    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. Поддерживается до 1 узла.
    spec.config.storage.pathПуть LocalVolume при storage.type=LocalVolume.
    spec.config.storage.storageClassИмя StorageClass при storage.type=StorageClass.
    spec.config.storage.pvSelectorKКлюч селектора PV при storage.type=PV.
    spec.config.storage.pvSelectorVЗначение селектора PV при storage.type=PV.
    spec.replicasКоличество реплик; LV не поддерживает несколько реплик.
    spec.config.components.vmstorage.retentionКоличество дней хранения данных для vmstorage.
    spec.config.components.vmagent.scrapeIntervalИнтервал сбора данных в секундах; применяется к ServiceMonitors без interval.
    spec.config.components.vmagent.scrapeTimeoutТаймаут сбора данных в секундах; должен быть меньше scrapeInterval.
    spec.config.components.vmstorage.resourcesНастройки ресурсов для vmstorage.
    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/кастомных метрик).
    spec.config.components.vmagent.resourcesНастройки ресурсов для vmagent.
    spec.config.sizeМасштаб мониторинга: Small, Medium или Large.
    spec.valuesOverride.ait/chart-victoriametrics.global.nodeSelectorНеобязательно. NodeSelector для компонента Monitoring. Используется для выбора узлов, на которых будет работать компонент мониторинга. Обычно применяется для infra-узлов.
    spec.valuesOverride.ait/chart-victoriametrics.global.tolerationsНеобязательно. Tolerations для компонента Monitoring. Если nodeSelector выбирает узлы с taint, используйте этот параметр для указания ключа, значения и эффекта toleration. Обычно применяется для infra-узлов.

    3. Verify installation

    Так как имя 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: последняя доступная версия для установки