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

    Overview

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

    Installation Preparation

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

    • Выбран соответствующий компонент мониторинга, руководствуясь Руководством по выбору компонента мониторинга.
    • При установке в рабочем кластере убедитесь, что кластер global может получить доступ к порту 11780 рабочего кластера.
    • Если необходимо использовать классы хранилищ или постоянные тома для данных мониторинга, создайте соответствующие ресурсы в разделе 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: Автоматически создаёт постоянные тома с помощью класса хранилища
      - PV: Использует существующие постоянные тома
      Примечание: Конфигурация хранилища не может быть изменена после установки
      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

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

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

    Для подробностей см. Планирование ёмкости компонентов мониторинга

    Справка по полям 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.

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

    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: Автоматически создаёт постоянные тома с помощью класса хранилища
      - PV: Использует существующие постоянные тома
      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

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

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

    Для подробностей см. Планирование ёмкости компонентов мониторинга

    Справка по полям 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.

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