配置是否包含或排除日志

您可以根据配置的路径或文件名,指定日志是否包含在收集范围内。

包括路径

要指定包含的路径,请完成以下步骤:

  1. 登录集群。 更多信息,请参阅 访问群集。

  2. 在 日志记录代理 配置表中,找到 input-kubernetes.conf 部分。 然后,更新 Path 参数,指定要收集的日志源。

    默认情况下,日志记录代理 会从位于 /var/log/containers/ 的单一来源收集日志。 请确保根据具体要求在 Path 参数中添加所需的日志源路径。 将每个路径之间用逗号分隔。

    input-kubernetes.conf: |
    [INPUT]
        Name              tail
        Tag               kube.*
        Path              /var/log/containers/*.log,/path/to/your/logs/*.log
        Path_Key          file
    

    可以在 Path 参数中指定其他日志源,并用逗号分隔。

    默认情况下,IBM Cloud Logs 日志记录代理 仅从 /var/log/containers/*.log 目录中收集日志。 如果您想从 /var/log 下的所有子目录中收集日志,则需要将 /var/log/**/*.log 添加到 Path 参数中。

  3. 重新启动代理 pod。

    对于 Kubernetes 集群,运行

    kubectl -n ibm-observe rollout restart ds/logs-agent
    

    对于 OpenShift 群集,运行

    oc -n ibm-observe rollout restart ds/logs-agent
    

排除路径

要指定要排除的路径,请完成以下步骤:

  1. 登录集群。 更多信息,请参阅 访问群集。

  2. 在 日志记录代理 配置表中,找到 input-kubernetes.conf 部分。 然后,更新 Exclude_Path 参数,指定要从收集中排除的日志源。 通过此参数,您可以指定 日志记录代理 应忽略的路径。

    Exclude_Path 参数默认情况下可能不存在,因此如果不存在,可能需要添加。 通过该参数,您可以指定 日志记录代理 应忽略的路径。

    input-kubernetes.conf: |
    [INPUT]
        Name              tail
        Tag               kube.*
        Path              /var/log/containers/logger-agent-ds-*.log,/path/to/your/logs/*.log
        Path_Key          file
        Exclude_Path      /path/to/your/logs/exclude-1.log,/path/to/your/logs/exclude-2.log
    

    可以在 Exclude_Path 参数中指定其他日志源,并用逗号分隔。

  3. 重新启动代理 pod。

    对于 Kubernetes 集群,运行

    kubectl -n ibm-observe rollout restart ds/logs-agent
    

    对于 OpenShift 群集,运行

    oc -n ibm-observe rollout restart ds/logs-agent
    

样本

请看下面指定了 Exclude_Path 的示例:

例如,如果您的目录结构是

/path/to/your/logs
                ├── app1.log
                ├── app2.log
                ├── exclude-1.log
                └── exclude-2.log

您可以对 input-kubernetes.conf 部分进行如下修改:

input-kubernetes.conf: |
    [INPUT]
        Name              tail
        Tag               kube.*
        Path              /var/log/containers/logger-agent-ds-*.log,/path/to/your/logs/*.log
        Path_Key          file
        Exclude_Path      /path/to/your/logs/exclude-1.log,/path/to/your/logs/exclude-2.log

在此示例中:

  • Path 参数指定了要包含的两个路径:

    • /var/log/containers/logger-agent-ds-*.log
    • /path/to/your/logs/*.log
  • Exclude_Path 参数用于指定要排除的另外两个路径:

    • /path/to/your/logs/exclude-1.log
    • /path/to/your/logs/exclude-2.log

日志记录代理 将收集目录中与 Path 参数中指定的模式匹配的所有文件,但与 Exclude_Path 中指定的模式匹配的文件除外。