12.3. 按元数据过滤日志
您可以使用 input
选择器过滤 ClusterLogForwarder
CR 中的日志,以根据元数据选择或忽略整个日志流。作为管理员或开发人员,您可以包含或排除日志记录,以减少收集器上的内存和 CPU 负载。
只有在日志记录部署中设置了 Vector 收集器时,才能使用此功能。
input
spec 过滤与内容过滤不同。input
选择器选择或忽略基于源元数据的整个日志流。内容过滤器编辑日志流,以根据记录内容删除和修改记录。
12.3.1. 通过包含或排除命名空间或容器名称,在输入中过滤应用程序日志
您可以使用 input
选择器根据命名空间和容器名称包含或排除应用程序日志。
先决条件
- 已安装 Red Hat OpenShift Logging Operator。
- 有管理员权限。
-
您已创建了
ClusterLogForwarder
自定义资源 (CR)。
流程
添加配置,以在
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 # ...
运行以下命令来应用
ClusterLogForwarder
CR:$ oc apply -f <filename>.yaml
excludes
选项优先于 includes
。
12.3.2. 通过包括标签表达式或匹配标签键和值在输入中过滤应用程序日志
您可以使用 input
选择器,根据标签表达式或匹配的标签键及其值包含应用程序日志。
先决条件
- 已安装 Red Hat OpenShift Logging Operator。
- 有管理员权限。
-
您已创建了
ClusterLogForwarder
自定义资源 (CR)。
流程
将过滤器的配置添加到
ClusterLogForwarder
CR 中的input
spec 中。以下示例演示了如何配置
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 # ...
运行以下命令来应用
ClusterLogForwarder
CR:$ oc apply -f <filename>.yaml
12.3.3. 根据源过滤审计和基础架构日志输入
您可以使用 input
选择器定义 audit
和 infrastructure
源列表,以收集日志。
先决条件
- 已安装 Red Hat OpenShift Logging Operator。
- 有管理员权限。
-
您已创建了
ClusterLogForwarder
自定义资源 (CR)。
流程
添加配置,以在
ClusterLogForwarder
CR 中定义audit
和infrastructure
源。以下示例演示了如何配置
ClusterLogForwarder
CR 以定义aduit
和infrastructure
源: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 # ...
运行以下命令来应用
ClusterLogForwarder
CR:$ oc apply -f <filename>.yaml