×

您可以使用ClusterLogForwarder CR中的input选择器根据元数据选择或忽略整个日志流来过滤日志。作为管理员或开发者,您可以包含或排除日志收集,以减少收集器上的内存和CPU负载。

只有在日志部署中设置了Vector收集器时,才能使用此功能。

input规范过滤与内容过滤不同。input选择器根据源元数据选择或忽略整个日志流。内容过滤器编辑日志流以根据记录内容删除和修改记录。

通过包含或排除命名空间或容器名称,在输入时过滤应用程序日志

您可以使用input选择器根据命名空间和容器名称包含或排除应用程序日志。

先决条件
  • 您已安装Red Hat OpenShift Logging Operator。

  • 您拥有管理员权限。

  • 您已创建ClusterLogForwarder自定义资源(CR)。

步骤
  1. 添加配置以在ClusterLogForwarder CR中包含或排除命名空间和容器名称。

    以下示例显示如何配置ClusterLogForwarder CR以包含或排除命名空间和容器名称

    示例ClusterLogForwarder CR
    apiVersion: "logging.openshift.io/v1"
    kind: ClusterLogForwarder
    # ...
    spec:
      inputs:
        - name: mylogs
          application:
            includes:
              - namespace: "my-project" (1)
                container: "my-container" (2)
            excludes:
              - container: "other-container*" (3)
                namespace: "other-namespace" (4)
    # ...
    1 指定仅从这些命名空间收集日志。
    2 指定仅从这些容器收集日志。
    3 指定收集日志时要忽略的命名空间模式。
    4 指定收集日志时要忽略的容器集。
  2. 运行以下命令应用ClusterLogForwarder CR

    $ oc apply -f <filename>.yaml

excludes选项优先于includes

通过包含标签表达式或匹配的标签键和值,在输入时过滤应用程序日志

您可以使用input选择器根据标签表达式或匹配的标签键及其值包含应用程序日志。

先决条件
  • 您已安装Red Hat OpenShift Logging Operator。

  • 您拥有管理员权限。

  • 您已创建ClusterLogForwarder自定义资源(CR)。

步骤
  1. ClusterLogForwarder CR的input规范中添加过滤器配置。

    以下示例显示如何配置ClusterLogForwarder CR以根据标签表达式或匹配的标签键/值包含日志

    示例ClusterLogForwarder CR
    apiVersion: "logging.openshift.io/v1"
    kind: ClusterLogForwarder
    # ...
    spec:
      inputs:
        - name: mylogs
          application:
            selector:
              matchExpressions:
              - key: env (1)
                operator: In (2)
                values: [“prod”, “qa”] (3)
              - key: zone
                operator: NotIn
                values: [“east”, “west”]
              matchLabels: (4)
                app: one
                name: app1
    # ...
    1 指定要匹配的标签键。
    2 指定运算符。有效值包括:InNotInExistsDoesNotExist
    3 指定字符串值数组。如果operator值为ExistsDoesNotExist,则值数组必须为空。
    4 指定精确的键值映射。
  2. 运行以下命令应用ClusterLogForwarder CR

    $ oc apply -f <filename>.yaml

按来源过滤审计和基础设施日志输入

您可以使用input选择器定义要收集日志的auditinfrastructure源列表。

先决条件
  • 您已安装Red Hat OpenShift Logging Operator。

  • 您拥有管理员权限。

  • 您已创建ClusterLogForwarder自定义资源(CR)。

步骤
  1. 添加配置以在ClusterLogForwarder CR中定义auditinfrastructure源。

    以下示例显示如何配置ClusterLogForwarder CR以定义auditinfrastructure

    示例ClusterLogForwarder CR
    apiVersion: "logging.openshift.io/v1"
    kind: ClusterLogForwarder
    # ...
    spec:
      inputs:
        - name: mylogs1
          infrastructure:
            sources: (1)
              - node
        - name: mylogs2
          audit:
            sources: (2)
              - kubeAPI
              - openshiftAPI
              - ovn
    # ...
    1 指定要收集的基础设施源列表。有效源包括
    • node:来自节点的日志

    • container:来自命名空间中部署的工作负载的日志

    2 指定要收集的审计源列表。有效源包括
    • kubeAPI:来自Kubernetes API服务器的日志

    • openshiftAPI:来自OpenShift API服务器的日志

    • auditd:来自节点auditd服务的日志

    • ovn:来自开放虚拟网络服务的日志

  2. 运行以下命令应用ClusterLogForwarder CR

    $ oc apply -f <filename>.yaml