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

    Обзор

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

    Подготовка к установке

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

    • Выбран подходящий компонент мониторинга в соответствии с Monitoring Component Selection Guide.
    • При установке в 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. Настройте следующие параметры:

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

    Способ доступа

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

    КомпонентАдрес доступа
    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 Prometheus через YAML

    1. Проверьте доступные версии

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

    Подробнее см. Monitor Component Capacity Planning

    Справочник по полям 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. Поддерживается до 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Интервал scrape в секундах; применяется к ServiceMonitors без interval.
    spec.config.components.vmagent.scrapeTimeoutТайм-аут scrape в секундах; должен быть меньше 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/custom metrics).
    spec.config.components.vmagent.resourcesНастройки ресурсов для vmagent.
    spec.config.sizeМасштаб мониторинга: Small, Medium или Large.

    3. Проверьте установку

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

    Установка плагина ACP Monitoring with VictoriaMetrics через консоль

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

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

    Порядок установки

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

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

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

      ПараметрОписание
      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 volumes с использованием storage class
      - PV: использует существующие persistent volumes
      Replica CountЗадает количество pod'ов компонента мониторинга:
      - Тип хранилища LocalVolume не поддерживает несколько реплик
      - Для других типов хранилища следуйте подсказкам на экране для настройки
      Parameter ConfigurationПараметры данных для компонента мониторинга можно настроить
      Примечание: данные могут временно выходить за пределы периода хранения до удаления
    4. Нажмите Install, чтобы завершить установку.

    Установка плагина ACP Monitoring with VictoriaMetrics через YAML

    1. Проверьте доступные версии

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

    Подробнее см. Monitor Component Capacity Planning

    Справочник по полям 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.
    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Интервал 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.

    3. Проверьте установку

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