2.12. Filelog Receiver


Filelog Receiver tail 并解析来自文件的日志。

重要

Filelog Receiver 只是一个技术预览功能。技术预览功能不受红帽产品服务等级协议(SLA)支持,且功能可能并不完整。红帽不推荐在生产环境中使用它们。这些技术预览功能可以使用户提早试用新的功能,并有机会在开发阶段提供反馈意见。

有关红帽技术预览功能支持范围的更多信息,请参阅技术预览功能支持范围

带有启用的 Filelog Receiver 的 OpenTelemetry Collector 自定义资源,它 tails 一个文本文件

# ...
  config:
    receivers:
      filelog:
        include: [ /simple.log ] 
1

        operators: 
2

          - type: regex_parser
            regex: '^(?P<time>\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}) (?P<sev>[A-Z]*) (?P<msg>.*)$'
            timestamp:
              parse_from: attributes.time
              layout: '%Y-%m-%d %H:%M:%S'
            severity:
              parse_from: attributes.sev
# ...
Copy to Clipboard Toggle word wrap

1
与要读取的文件路径匹配的文件 glob 模式列表。
2
一个 operator 数组。每个 Operator 执行一个简单的任务,如解析时间戳或 JSON。要处理日志成为所需的格式,请将 Operator 串联在一起。

您可以通过以下两种方式之一从 pod 文件系统收集日志:

  • 在与应用程序 pod 一起运行的 sidecar 容器中配置接收器。
  • 将接收器部署为主机上具有适当权限访问 Kubernetes 日志的 DaemonSet。

要从应用程序容器收集日志,您可以使用带有 sidecar 注入的接收器。红帽构建的 OpenTelemetry Operator 允许将 OpenTelemetry Collector 作为 sidecar 容器注入应用程序 pod。当应用程序将日志写入容器文件系统中的文件时,这种方法很有用。然后,此接收器可以跟踪日志文件并应用操作器来解析日志。

要在 sidecar 模式中使用此接收器从应用程序容器收集日志,您必须在 OpenTelemetryCollector 自定义资源中配置卷挂载。应用程序容器和 sidecar Collector 必须挂载相同的共享卷,如 emptyDir。在应用的 Pod 规格中定义卷。请参见以下示例:

OpenTelemetry Collector 自定义资源使用在 sidecar 模式中配置的 Filelog Receiver

apiVersion: opentelemetry.io/v1beta1
kind: OpenTelemetryCollector
metadata:
  name: filelog
  namespace: otel-logging
spec:
  mode: sidecar
  volumeMounts: 
1

  - name: logs
    mountPath: /var/log/app
  config:
    receivers:
      filelog:
        include: 
2

        - /var/log/app/*.log
        operators:
        - type: regex_parser
          regex: '^(?P<timestamp>\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}) \[(?P<level>\w+)\] (?P<message>.*)$'
          timestamp:
            parse_from: attributes.timestamp
            layout: '%Y-%m-%d %H:%M:%S'
    processors: {}
    exporters:
      debug:
        verbosity: detailed
    service:
      pipelines:
        logs:
          receivers: [filelog]
          processors: []
          exporters: [debug]
Copy to Clipboard Toggle word wrap

1
定义 sidecar Collector 用于访问目标日志文件的卷挂载。此卷必须与应用部署中定义的卷名称匹配。
2
指定用于匹配要尾部日志文件的文件通配模式。此接收器会监视这些路径是否有新日志条目。
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

Theme

© 2026 Red Hat
返回顶部