Updated on 2024-06-27 GMT+08:00

Logging

Overview

After workloads are scheduled to CCI, you can use the Cloud Native Logging add-on to collect pod logs, improving workload observability. This section describes how to enable logging for the workloads scheduled to CCI.

Constraints

Application Scenario

How to Use

CCE and CCI container logs need to be collected.

You can collect the following three types of logs:

  • Container standard output: stderr and stdout logs of a specified container in a cluster
  • Container file logs: file logs in a specified container in a cluster
  • Node file logs: file logs from a specified node path in a cluster
NOTICE:

Only container file logs can be collected for pods scheduled to CCI.

A pod has multiple types of storage directories mounted.

Logs cannot be collected from specified directories such as the system, device, cgroup, and tmpfs directories.

A pod scheduled to CCI has multiple log collection policies associated.

To better collect logs, reserve the required amount of memory for the pod. Associate the pod with the first log collection policy and reserve at least 50 MB of memory. Reserve 5 MB of memory each time an additional log collection policy is associated.

Ultra-long logs need to be collected.

A log larger than 250 KB cannot be collected.

The log file name is too long.

  • In the container, if a log file name exceeds 190 characters, the log file will not be collected.
  • In a log collection policy, the log file name cannot be longer than 255 characters.

Logging rate

For each pod, no more than 10,000 single-line logs can be collected per second, and no more than 2,000 multiple-line logs can be collected per second.

Maximum number of collected files

On a single node, the logs of a maximum of 4,095 files can be collected by all log collection policies.

Procedure

  1. Install two add-ons: CCE Cloud Bursting Engine for CCI and Cloud Native Logging.
    1. Log in to the CCE console.
    2. Click the name of the target CCE cluster to go to the cluster console.
    3. In the navigation pane on the left, choose Add-ons.
    4. Select the CCE Cloud Bursting Engine for CCI add-on and click Install.
    5. Select the Networking option.

    6. On the Add-ons page, select the Cloud Native Logging add-on and click Install.

  2. Create a workload on the CCE console.
    1. In the navigation pane on the left, choose Workloads.
    2. Click Create Workload. For details, see Creating a Workload.
    3. Configure the parameters. For details, see Scheduling Pods to CCI.

  3. Create a log collection policy.
    1. In the navigation pane on the left, choose Logging.
    2. Click View Log Collection Policies. On the displayed page, click Create Log Collection Policy.
    3. Configure the parameters and click OK.

      Workloads scheduled to CCI do not support hot update of log policies. After a log collection policy is updated, redeploy the pods to apply the modification.

  4. View the YAML file of the pod that is scheduled to CCI.

    To collect CCI pod logs, the cloud native logging add-on injects the following annotations to the pod.

    Annotation

    Example Value

    coordinator.cci.io/inject-volumes

    '[{"name":"log-agent-conf","configMap":{"name":"log-agent-cci-logging-config","defaultMode":384},"namespace":"monitoring"},{"name":"log-agent-cert","secret":{"secretName":"log-agent-ca-secret","defaultMode":384},"namespace":"monitoring"}]'

    logconf.k8s.io/fluent-bit-configmap-reference

    monitoring-log-agent-cci-logging-config

    logconfigs.logging.openvessel.io

    '{"testcci001":{"container_files":{"container-1":"/var/test/*/*.log"},"regulation":""}}''

    sandbox-volume.openvessel.io/volume-names

    log-agent-conf,log-agent-cert

  5. View the reported logs in Logging.

    For details about logging, see Cloud Native Logging.