4.2. Receivers
接收器将数据放入 Collector 中。接收器可以基于推送或拉取 (pull)。通常,接收器接受指定格式的数据,将其转换为内部格式,并将其传递给适用管道中定义的处理器和导出器。默认情况下,不会配置接收器。必须配置一个或多个接收器。接收器支持一个或多个数据源。
目前,红帽构建的 OpenTelemetry 提供了以下正式发行(GA)和技术预览接收器:
4.2.1. OTLP Receiver 复制链接链接已复制到粘贴板!
使用 OpenTelemetry Protocol (OTLP) 的 OTLP Receiver ingests traces, metrics, 和日志。
启用了 OTLP Receiver 的 OpenTelemetry Collector 自定义资源
- 1
- OTLP gRPC 端点。如果省略,则使用默认的
0.0.0.0:4317。 - 2
- 服务器端 TLS 配置。定义 TLS 证书的路径。如果省略,则禁用 TLS。
- 3
- 服务器验证客户端证书的 TLS 证书的路径。这会将
TLSConfig中的ClientCAs和ClientAuth的值设置为RequireAndVerifyClientCert。如需更多信息,请参阅 Golang TLS 软件包的配置。 - 4
- 指定重新载入证书的时间间隔。如果没有设置值,则证书永远不会重新加载。
reload_interval字段接受包含有效时间单位的字符串,如ns、us、ms、s、m、h。 - 5
- OTLP HTTP 端点。默认值为
0.0.0.0:4318。 - 6
- 服务器端 TLS 配置。如需更多信息,请参阅
grpc协议配置部分。
4.2.2. Jaeger Receiver 复制链接链接已复制到粘贴板!
Jaeger Receiver ingests trace 使用 Jaeger 格式。
启用了 Jaeger Receiver 的 OpenTelemetry Collector 自定义资源
4.2.3. 主机指标接收器 复制链接链接已复制到粘贴板!
OTLP 格式的 Host Metrics Receiver ingests metrics。
启用了 Host Metrics Receiver 的 OpenTelemetry Collector 自定义资源
- 1
- 设置主机指标集合的时间间隔。如果没有指定,则默认值为
1m。 - 2
- 为主机指标集合设置初始的时间延迟。如果没有指定,则默认值为
1s。 - 3
- 配置
root_path,以便 Host Metrics Receive 知道 root 文件系统的位置。如果运行多个 Host Metrics Receiver 实例,需要为每个实例设置相同的root_path值。 - 4
- 列出启用的 host metrics scraper。可用的 scraper 为
cpu,disk,load,filesystem,memory,network,paging,processes, 和process。
4.2.4. Kubernetes Objects Receiver 复制链接链接已复制到粘贴板!
Kubernetes Objects Receiver 拉取或监视要从 Kubernetes API 服务器收集的对象。此接收器主要监视 Kubernetes 事件,但可以收集任何类型的 Kubernetes 对象。此接收器会收集整个集群的遥测数据,因此只需要一个接收器实例就可以收集所有数据。
Kubernetes Objects Receiver 只是一个技术预览功能。技术预览功能不受红帽产品服务等级协议(SLA)支持,且功能可能并不完整。红帽不推荐在生产环境中使用它们。这些技术预览功能可以使用户提早试用新的功能,并有机会在开发阶段提供反馈意见。
有关红帽技术预览功能支持范围的更多信息,请参阅技术预览功能支持范围。
启用了 Kubernetes Objects Receiver 的 OpenTelemetry Collector 自定义资源
4.2.5. kubelet Stats Receiver 复制链接链接已复制到粘贴板!
Kubelet Stats Receiver 从 kubelet 的 API 服务器中提取与节点、Pod、容器和卷相关的指标。然后,这些指标通过 metrics-processing 管道进行额外的分析。
启用了 Kubelet Stats Receiver 的 OpenTelemetry Collector 自定义资源
- 1
- 设置
K8S_NODE_NAME以向 API 进行身份验证。
对于用于运行 OpenTelemetry Collector 的服务帐户,Kubelet Stats Receiver 需要额外权限。
服务帐户所需的权限
- 1
- 使用
extra_metadata_labels或request_utilization或limit_utilization指标时所需的权限。
4.2.6. Prometheus Receiver 复制链接链接已复制到粘贴板!
Prometheus Receiver 提取指标端点。
启用了 Prometheus Receiver 的 OpenTelemetry Collector 自定义资源
4.2.7. OTLP JSON File Receiver 复制链接链接已复制到粘贴板!
OTLP JSON 文件 Receiver 从包含 ProtoJSON 格式的数据的文件中提取管道信息,并符合 OpenTelemetry 协议 规格。接收器会监视指定的目录,以了解创建或修改的文件要处理的更改。
OTLP JSON 文件接收器只是一个技术预览功能。技术预览功能不受红帽产品服务等级协议(SLA)支持,且功能可能并不完整。红帽不推荐在生产环境中使用它们。这些技术预览功能可以使用户提早试用新的功能,并有机会在开发阶段提供反馈意见。
有关红帽技术预览功能支持范围的更多信息,请参阅技术预览功能支持范围。
OpenTelemetry Collector 自定义资源带有启用的 OTLP JSON File Receiver
4.2.8. Zipkin Receiver 复制链接链接已复制到粘贴板!
Zipkin Receiver ingests traces 使用 Zipkin v1 和 v2 格式。
启用了 Zipkin Receiver 的 OpenTelemetry Collector 自定义资源
4.2.9. Kafka Receiver 复制链接链接已复制到粘贴板!
Kafka 接收器以 OTLP 格式接收 Kafka 中的 trace、metrics 和日志。
Kafka Receiver 只是一个技术预览功能。技术预览功能不受红帽产品服务等级协议(SLA)支持,且功能可能并不完整。红帽不推荐在生产环境中使用它们。这些技术预览功能可以使用户提早试用新的功能,并有机会在开发阶段提供反馈意见。
有关红帽技术预览功能支持范围的更多信息,请参阅技术预览功能支持范围。
启用了 Kafka Receiver 的 OpenTelemetry Collector 自定义资源
4.2.10. Kubernetes Cluster Receiver 复制链接链接已复制到粘贴板!
Kubernetes Cluster Receiver 从 Kubernetes API 服务器收集集群指标和实体事件。它使用 Kubernetes API 接收有关更新的信息。对此接收器的身份验证只支持使用服务账户。
Kubernetes Cluster Receiver 只是一个技术预览功能。技术预览功能不受红帽产品服务等级协议(SLA)支持,且功能可能并不完整。红帽不推荐在生产环境中使用它们。这些技术预览功能可以使用户提早试用新的功能,并有机会在开发阶段提供反馈意见。
有关红帽技术预览功能支持范围的更多信息,请参阅技术预览功能支持范围。
启用了 Kubernetes Cluster Receiver 的 OpenTelemetry Collector 自定义资源
此接收器需要配置服务帐户、集群角色的 RBAC 规则,以及将 RBAC 与服务帐户绑定的集群角色绑定。
ServiceAccount 对象
ClusterRole 对象的 RBAC 规则
ClusterRoleBinding 对象
4.2.11. OpenCensus Receiver 复制链接链接已复制到粘贴板!
OpenCensus Receiver 与 OpenCensus 项目向后兼容性,以便更轻松地迁移检测代码库。它以 OpenCensus 格式通过 gRPC 或 HTTP 和 JSON 接收指标和追踪。
OpenCensus Receiver 已被弃用,可能在以后的版本中删除。
启用了 OpenCensus Receiver 的 OpenTelemetry Collector 自定义资源
4.2.12. Filelog Receiver 复制链接链接已复制到粘贴板!
Filelog Receiver tail 并解析来自文件的日志。
Filelog Receiver 只是一个技术预览功能。技术预览功能不受红帽产品服务等级协议(SLA)支持,且功能可能并不完整。红帽不推荐在生产环境中使用它们。这些技术预览功能可以使用户提早试用新的功能,并有机会在开发阶段提供反馈意见。
有关红帽技术预览功能支持范围的更多信息,请参阅技术预览功能支持范围。
带有启用的 Filelog Receiver 的 OpenTelemetry Collector 自定义资源,它 tails 一个文本文件
您可以通过以下两种方式之一从 pod 文件系统收集日志:
- 在与应用程序 pod 一起运行的 sidecar 容器中配置接收器。
- 将接收器部署为主机上具有适当权限访问 Kubernetes 日志的 DaemonSet。
要从应用程序容器收集日志,您可以使用带有 sidecar 注入的接收器。红帽构建的 OpenTelemetry Operator 允许将 OpenTelemetry Collector 作为 sidecar 容器注入应用程序 pod。当应用程序将日志写入容器文件系统中的文件时,这种方法很有用。然后,此接收器可以跟踪日志文件并应用操作器来解析日志。
要在 sidecar 模式中使用此接收器从应用程序容器收集日志,您必须在 OpenTelemetryCollector 自定义资源中配置卷挂载。应用程序容器和 sidecar Collector 必须挂载相同的共享卷,如 emptyDir。在应用的 Pod 规格中定义卷。请参见以下示例:
OpenTelemetry Collector 自定义资源使用在 sidecar 模式中配置的 Filelog Receiver
4.2.13. Journald Receiver 复制链接链接已复制到粘贴板!
Journald Receiver 解析来自 systemd journal 的 journald 事件,并将它们作为日志发送。
Journald Receiver 只是一个技术预览功能。技术预览功能不受红帽产品服务等级协议(SLA)支持,且功能可能并不完整。红帽不推荐在生产环境中使用它们。这些技术预览功能可以使用户提早试用新的功能,并有机会在开发阶段提供反馈意见。
有关红帽技术预览功能支持范围的更多信息,请参阅技术预览功能支持范围。
启用了 Journald Receiver 的 OpenTelemetry Collector 自定义资源
- 1
- 按消息优先级或优先级范围过滤输出。默认值为
info。 - 2
- 列出要从中读取条目的单元。如果为空,则从所有单元读取条目。
- 3
- 包含非常长的日志,以及带有不可打印字符的日志。默认值为
false。 - 4
- 如果设置为
true,则接收器会暂停读取文件,并在遇到下游组件错误时尝试重新发送当前的批处理日志。默认值为false。 - 5
- 在第一次失败后进行重现尝试需要等待的时间间隔。默认值为
1s。单位是ms、s、m、h。 - 6
- 重试 backoff 间隔的上限。当达到这个值时,连续重试尝试之间的时间间隔会恒定保持这个值。默认值为
30s。支持的单位是ms、s、m、h。 - 7
- 尝试将日志批处理发送到下游消费者的最大时间间隔,包括重试尝试。达到这个值时,数据将被丢弃。如果设置的值是
0,重试永远不会停止。默认值为5m。支持的单位是ms、s、m、h。
4.2.14. Kubernetes Events Receiver 复制链接链接已复制到粘贴板!
Kubernetes Events Receiver 从 Kubernetes API 服务器收集事件。收集的事件被转换为日志。
Kubernetes Events Receiver 只是一个技术预览功能。技术预览功能不受红帽产品服务等级协议(SLA)支持,且功能可能并不完整。红帽不推荐在生产环境中使用它们。这些技术预览功能可以使用户提早试用新的功能,并有机会在开发阶段提供反馈意见。
有关红帽技术预览功能支持范围的更多信息,请参阅技术预览功能支持范围。
Kubernetes Events Receiver 所需的 OpenShift Container Platform 权限
启用了 Kubernetes Event Receiver 的 OpenTelemetry Collector 自定义资源
4.2.15. Prometheus Remote Write Receiver 复制链接链接已复制到粘贴板!
Prometheus Remote Write Receiver 使用 Remote Write 协议从 Prometheus 接收指标,并将其转换为 OpenTelemetry 格式。此接收器只支持 Prometheus Remote Write v2 协议。
Prometheus Remote Write Receiver 只是一个技术预览功能。技术预览功能不受红帽产品服务等级协议(SLA)支持,且功能可能并不完整。红帽不推荐在生产环境中使用它们。这些技术预览功能可以使用户提早试用新的功能,并有机会在开发阶段提供反馈意见。
有关红帽技术预览功能支持范围的更多信息,请参阅技术预览功能支持范围。
OpenTelemetry Collector 自定义资源带有启用的 Prometheus Remote Write Receiver
- 1
- 接收器侦听 Prometheus Remote Write 请求的端点。
以下是将此接收器与 Prometheus 搭配使用的先决条件:
- Prometheus 在启用了元数据 WAL 记录功能标记的情况下启动。
- Prometheus Remote Write v2 协议在 Prometheus 远程写入配置中被启用。
- 使用功能标记在 Prometheus 中启用了原生直方图。
- Prometheus 被配置为将经典直方图转换为原生直方图。
有关启用这些 Prometheus 功能的更多信息,请参阅 Prometheus 文档。