Система логирования платформы состоит из двух плагинов: 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 меняется после создания, найдите ресурс по метке, чтобы проверить статус и версию плагина: