Enable Logging System

Edit

What is KubeSphere Logging System

KubeSphere provides powerful and easy-to-use logging system which offers users the capabilities of log collection, query and management in terms of tenants. Meanwhile, the system provides not only infrastructure logging capabilities but application logging capabilities. Moreover, it provides various search scopes such as project, workload, Pod, docker and keyword. Tenant-based logging system is much more useful than Kibana since different tenant can only view her/his own logs, leading much better security. KubeSphere logging system is a pluggable component that you can enable to use. It has the following features.

Enable Logging System before Installation

KubeSphere logging system requires at least 56m of CPU request and 2.76G of memory request. Please make sure your cluster has enough resource.

Before start the installation, you can change the value of logging_enabled in conf/common.yaml from false to true to enable logging system as shown below, then you can continue your installation by following the instructions of All-in-One or Multi-Node.

Note: By default, KubeSphere will install Elasticsearch within the cluster for testing purpose. It also supports using external Elasticsearch (v7.x) which reduces memory consumption of your cluster resource. Generally, we recommend you to use external Elasticsearch in production environment by configuring the parameters external_es_url and external_es_port.

  1. # Logging
  2. logging_enabled: true # Whether to install KubeSphere logging system
  3. elasticsearch_master_replica: 1
  4. elasticsearch_data_replica: 2
  5. elasticsearch_volume_size: 20Gi
  6. log_max_age: 7
  7. elk_prefix: logstash
  8. kibana_enabled: false # Whether to install Kibana
  9. #external_es_url: SHOULD_BE_REPLACED # Elasticsearch service URL
  10. #external_es_port: SHOULD_BE_REPLACED # Elasticsearch service port

Then you can continue your installation by following the instructions of All-in-One or Multi-Node.

Enable Logging System after Installation

If you already have set up KubeSphere without enabling logging system, you still can edit the ConfigMap of ks-installer using the following command.

  1. kubectl edit cm -n kubesphere-system ks-installer

Then set logging from False to True.

  1. logging:
  2. enabled: True
  3. elasticsearchMasterReplica: 1
  4. elasticsearchDataReplica: 2
  5. elasticsearchVolumeSize: 20Gi
  6. logMaxAge: 7
  7. elkPrefix: logstash
  8. containersLogMountedPath: ""
  9. kibana:
  10. enabled: False

Save it and exit. The logging system will be installed automatically. You can inspect the logs of ks-installer Pod to verify the installation status, and wait for the successful result logs output.