Система логирования платформы состоит из двух плагинов: Alauda Container Platform Log Collector и Alauda Container Platform Log Storage. В этой главе будет представлено руководство по установке этих двух плагинов.
Кластер global
может выполнять запросы к данным логов, хранящимся на любом workload кластере внутри платформы. Убедитесь, что кластер global
имеет доступ к порту 11780 workload кластера.
Плагин Alauda Container Platform Log Storage с Clickhouse требует наличия Clickhouse operator. Перед установкой плагина убедитесь, что Clickhouse operator загружен в кластер.
Плагины Alauda Container Platform Log Storage могут быть установлены в любом кластере, и для сбора логов можно выбрать компонент хранения логов любого кластера для взаимодействия с данными хранилища.
Поэтому перед установкой плагина хранения логов необходимо спланировать кластер и узлы, на которых будет установлен компонент хранения логов.
Избегайте развертывания плагинов хранения логов в глобальном кластере. Вместо этого развертывайте их в workload кластерах, чтобы сбои в управляющем кластере не нарушали процесс решения проблем на основе логов.
Старайтесь централизовать логи в одном кластере хранения логов. Если объем логов превышает максимальные пороговые значения, распределите логи по нескольким кластерам хранения.
Разверните как минимум один экземпляр хранения логов в каждой сетевой зоне для локальной агрегации логов, минимизируя трафик по публичной сети между дата-центрами (что ведет к высоким затратам и задержкам).
Выделите отдельные узлы для хранения логов, избегая совместного развертывания с другими приложениями или компонентами платформы. Хранение логов требует высокой пропускной способности ввода-вывода и может страдать от помех.
Подключайте выделенные SSD-диски для хранения логов, что значительно повысит производительность.
Перейдите в App Store Management > Cluster Plugin и выберите целевой кластер.
На вкладке Plugins нажмите кнопку действий справа от Alauda Container Platform Log Storage with ElasticSearch > Install.
Следуйте инструкциям для настройки соответствующих параметров.
Параметр | Описание |
---|---|
Connect External Elasticsearch | Оставьте закрытым для установки плагина хранения логов внутри платформы. |
Component installation Settings | LocalVolume: Локальное хранилище, данные логов будут храниться в локальном пути хранения выбранного узла. Преимущество этого метода — компонент логирования напрямую привязан к локальному хранилищу, что исключает необходимость доступа к хранилищу по сети и обеспечивает лучшую производительность. StorageClass: Динамическое создание ресурсов хранения с помощью классов хранения для сохранения данных логов. Преимущество этого метода — большая гибкость; при наличии нескольких классов хранения для всего кластера администраторы могут выбирать соответствующий класс хранения для компонентов логирования в зависимости от сценариев использования, снижая влияние сбоев хоста на хранение. Однако производительность StorageClass может зависеть от пропускной способности сети и задержек, а также опирается на механизмы избыточности, предоставляемые бекендом хранения, для обеспечения высокой доступности. |
Retention Period | Максимальное время хранения логов, событий и аудита в кластере. Данные, превышающие период хранения, будут автоматически удалены. Совет: Вы можете создавать резервные копии данных, которые необходимо хранить длительное время. При необходимости обратитесь в техническую поддержку. |
Нажмите Install.
Убедитесь, что плагин опубликован, проверив наличие ресурсов ModulePlugin и ModuleConfig в кластере global
:
Это означает, что ModulePlugin logcenter
существует в кластере и версия v4.1.0
опубликована.
Создайте ресурс ModuleInfo для установки плагина без параметров конфигурации:
Справочник по полям YAML:
Путь поля | Описание |
---|---|
metadata.labels.cpaas.io/cluster-name | Имя целевого кластера, в котором устанавливается плагин. |
metadata.name | Временное имя ModuleInfo; платформа переименует его после создания. |
spec.config.clusterView.isPrivate | Настройка видимости просмотра кластера. |
spec.config.components.elasticsearch.address | Адрес внешнего Elasticsearch; оставьте пустым для использования Elasticsearch, установленного платформой. |
spec.config.components.elasticsearch.basicAuthSecretName | Имя секрета для базовой аутентификации внешнего Elasticsearch; оставьте пустым для платформенного Elasticsearch. |
spec.config.components.elasticsearch.hostpath | Путь данных для Elasticsearch. |
spec.config.components.elasticsearch.httpPort | HTTP-порт Elasticsearch, по умолчанию 9200. |
spec.config.components.elasticsearch.install | Устанавливать ли Elasticsearch через платформу; установите в false при использовании внешнего Elasticsearch. |
spec.config.components.elasticsearch.k8sNodes | Список IP-адресов узлов для данных Elasticsearch при использовании LocalVolume. |
spec.config.components.elasticsearch.masterK8sNodes | Список IP-адресов узлов для Elasticsearch Master (только для крупномасштабных установок с LocalVolume). |
spec.config.components.elasticsearch.masterReplicas | Количество реплик Elasticsearch Master (только для крупномасштабных установок). |
spec.config.components.elasticsearch.masterResources | Запросы и лимиты ресурсов для Elasticsearch Master (только для крупномасштабных установок). |
spec.config.components.elasticsearch.masterStorageSize | Размер хранилища для Elasticsearch Master (только для крупномасштабных установок). |
spec.config.components.elasticsearch.nodeReplicas | Количество реплик для данных Elasticsearch. |
spec.config.components.elasticsearch.nodeStorageSize | Размер хранилища для данных Elasticsearch (Gi). |
spec.config.components.elasticsearch.resources | Запросы и лимиты ресурсов для данных Elasticsearch. |
spec.config.components.elasticsearch.tcpPort | Внутренний транспортный порт для кластера Elasticsearch, по умолчанию 9300. |
spec.config.components.elasticsearch.type | Размер кластера Elasticsearch: single/normal/big. |
spec.config.components.kafka.address | Адрес внешнего Kafka; оставьте пустым для использования Kafka, установленного платформой. |
spec.config.components.kafka.auth | Включить аутентификацию Kafka, по умолчанию true. |
spec.config.components.kafka.basicAuthSecretName | Имя секрета для аутентификации внешнего Kafka; оставьте пустым для платформенного Kafka. |
spec.config.components.kafka.exporterPort | Порт Kafka Exporter, по умолчанию 9308. |
spec.config.components.kafka.install | Устанавливать ли Kafka через платформу; установите в false при использовании внешнего Kafka. |
spec.config.components.kafka.k8sNodes | Список IP-адресов узлов для Kafka при использовании LocalVolume. |
spec.config.components.kafka.port | Порт Kafka, по умолчанию 9092. |
spec.config.components.kafka.storageSize | Размер хранилища Kafka (Gi). |
spec.config.components.kafka.tls | Включить TLS для Kafka, по умолчанию true. |
spec.config.components.kafka.zkElectPort | Порт выборов Zookeeper, по умолчанию 3888. |
spec.config.components.kafka.zkExporterPort | Порт Zookeeper Exporter, по умолчанию 9141. |
spec.config.components.kafka.zkLeaderPort | Порт связи лидера/фолловера Zookeeper, по умолчанию 2888. |
spec.config.components.kafka.zkPort | Клиентский порт Zookeeper, по умолчанию 2181. |
spec.config.components.kibana.install | Устанавливать Kibana; Kibana устарела, установите false. |
spec.config.components.storageClassConfig.name | Для LocalVolume обычно elasticsearch-local-log-sc ; для StorageClass укажите имя класса. |
spec.config.components.storageClassConfig.type | Тип хранения: LocalVolume/StorageClass. |
spec.config.components.zookeeper.storageSize | Размер хранилища Zookeeper (Gi). |
spec.config.ttl.audit | Количество дней хранения аудита. |
spec.config.ttl.event | Количество дней хранения событий. |
spec.config.ttl.logKubernetes | Количество дней хранения логов Kubernetes. |
spec.config.ttl.logPlatform | Количество дней хранения логов платформы. |
spec.config.ttl.logSystem | Количество дней хранения системных логов. |
spec.config.ttl.logWorkload | Количество дней хранения логов workload. |
spec.version | Указывает версию плагина для установки, должна совпадать с .spec.version в ModuleConfig. |
Поскольку имя ModuleInfo меняется после создания, найдите ресурс по метке для проверки статуса и версии плагина:
Объяснение полей:
NAME
: имя ресурса ModuleInfoCLUSTER
: кластер, в котором установлен плагинMODULE
: имя плагинаDISPLAY_NAME
: отображаемое имя плагинаSTATUS
: статус установки; Running
означает успешную установку и работуTARGET_VERSION
: целевая версия для установкиCURRENT_VERSION
: версия до установкиNEW_VERSION
: последняя доступная версия для установкиПерейдите в App Store Management > Cluster Plugin и выберите целевой кластер.
На вкладке Plugins нажмите кнопку действий справа от Alauda Container Platform Log Storage with Clickhouse > Install.
Следуйте инструкциям для настройки соответствующих параметров.
Параметр | Описание |
---|---|
Component installation Settings | LocalVolume: Локальное хранилище, данные логов будут храниться в локальном пути хранения выбранного узла. Преимущество этого метода — компонент логирования напрямую привязан к локальному хранилищу, что исключает необходимость доступа к хранилищу по сети и обеспечивает лучшую производительность. StorageClass: Динамическое создание ресурсов хранения с помощью классов хранения для сохранения данных логов. Преимущество этого метода — большая гибкость; при наличии нескольких классов хранения для всего кластера администраторы могут выбирать соответствующий класс хранения для компонентов логирования в зависимости от сценариев использования, снижая влияние сбоев хоста на хранение. Однако производительность StorageClass может зависеть от пропускной способности сети и задержек, а также опирается на механизмы избыточности, предоставляемые бекендом хранения, для обеспечения высокой доступности. |
Retention Period | Максимальное время хранения логов, событий и аудита в кластере. Данные, превышающие период хранения, будут автоматически удалены. Совет: Вы можете создавать резервные копии данных, которые необходимо хранить длительное время. При необходимости обратитесь в техническую поддержку. |
Нажмите Install.
Убедитесь, что плагин опубликован, проверив наличие ресурсов ModulePlugin и ModuleConfig в кластере global
:
Это означает, что ModulePlugin logclickhouse
существует в кластере и версия v4.1.0
опубликована.
Создайте ресурс ModuleInfo для установки плагина без параметров конфигурации:
Справочник по полям YAML (ClickHouse):
Путь поля | Описание |
---|---|
metadata.name | Имя ModuleInfo. Рекомендуемый формат: <target-cluster>-logclickhouse . |
metadata.labels.cpaas.io/cluster-name | Целевой кластер, в котором устанавливается плагин. |
metadata.labels.cpaas.io/module-name | Должно быть logclickhouse . |
metadata.labels.cpaas.io/module-type | Должно быть plugin . |
spec.version | Версия плагина для установки. |
spec.config.components.storageClassConfig.type | Тип хранения данных ClickHouse: LocalVolume или StorageClass . |
spec.config.components.storageClassConfig.name | Имя StorageClass при типе StorageClass ; оставьте пустым для LocalVolume . |
spec.config.components.clickhouse.resources | Запросы и лимиты ресурсов для ClickHouse. |
spec.config.components.clickhouse.k8sNodes | Список IP-адресов узлов для ClickHouse при использовании LocalVolume . |
spec.config.components.clickhouse.hostpath | Локальный путь для данных ClickHouse при использовании LocalVolume . |
spec.config.components.clickhouse.nodeReplicas | Количество реплик при использовании StorageClass . |
spec.config.components.clickhouse.nodeStorageSize | Размер хранилища для данных ClickHouse (Gi). |
spec.config.components.clickhouse.type | Размер кластера: single , normal или big . |
spec.config.components.razor.resources | Запросы и лимиты ресурсов для Razor. |
spec.config.components.vector.resources | Запросы и лимиты ресурсов для Vector. |
spec.config.ttl.audit | Количество дней хранения аудита. |
spec.config.ttl.event | Количество дней хранения событий. |
spec.config.ttl.logKubernetes | Количество дней хранения логов Kubernetes. |
spec.config.ttl.logPlatform | Количество дней хранения логов платформы. |
spec.config.ttl.logSystem | Количество дней хранения системных логов. |
spec.config.ttl.logWorkload | Количество дней хранения логов workload. |
spec.version | Указывает версию плагина для установки, должна совпадать с .spec.version в ModuleConfig. |
Поскольку имя ModuleInfo меняется после создания, найдите ресурс по метке для проверки статуса и версии плагина:
Объяснение полей:
NAME
: имя ресурса ModuleInfoCLUSTER
: кластер, в котором установлен плагинMODULE
: имя плагинаDISPLAY_NAME
: отображаемое имя плагинаSTATUS
: статус установки; Running
означает успешную установку и работуTARGET_VERSION
: целевая версия для установкиCURRENT_VERSION
: версия до установкиNEW_VERSION
: последняя доступная версия для установкиПерейдите в App Store Management > Cluster Plugin и выберите целевой кластер.
На вкладке Plugins нажмите кнопку действий справа от Alauda Container Platform Log Collector > Install.
Выберите Storage Cluster (кластер, в котором установлен Alauda Container Platform Log Storage) и нажмите Select/Deselect для выбора типов логов, которые будут собираться в кластере.
Нажмите Install.
Убедитесь, что плагин опубликован, проверив наличие ресурсов ModulePlugin и ModuleConfig в кластере global
:
Это означает, что ModulePlugin logagent
существует в кластере и версия v4.1.0
опубликована.
Создайте ресурс ModuleInfo для установки плагина без параметров конфигурации:
Справочник по полям YAML (Log Collector):
Путь поля | Описание |
---|---|
metadata.annotations.cpaas.io/display-name | Отображаемое имя плагина. |
metadata.annotations.cpaas.io/module-name | JSON-строка с интернационализированным именем плагина. |
metadata.labels.cpaas.io/cluster-name | Целевой кластер, в котором устанавливается плагин. |
metadata.labels.cpaas.io/module-name | Должно быть logagent . |
metadata.labels.cpaas.io/module-type | Должно быть plugin . |
metadata.labels.cpaas.io/product | Идентификатор продукта, обычно Platform-Center . |
metadata.labels.logcenter.plugins.cpaas.io/cluster | Имя кластера хранения, в который отправляются логи. |
metadata.name | Временное имя ModuleInfo; платформа переименует его после создания. |
spec.config.crossClusterDependency.logcenter | Имя кластера хранения логов на базе Elasticsearch. |
spec.config.crossClusterDependency.logclickhouse | Установите null при использовании Elasticsearch; иначе имя кластера ClickHouse. |
spec.config.dataSource.audit | Собирать логи аудита. |
spec.config.dataSource.event | Собирать логи событий. |
spec.config.dataSource.kubernetes | Собирать логи Kubernetes. |
spec.config.dataSource.platform | Собирать логи платформы. |
spec.config.dataSource.system | Собирать системные логи. |
spec.config.dataSource.workload | Собирать логи workload. |
spec.config.storage.type | Elasticsearch или Clickhouse . |
spec.version | Версия плагина для установки. |
Поскольку имя ModuleInfo меняется после создания, найдите ресурс по метке для проверки статуса и версии плагина: