【可观测性系列】OpenTelemetry Collector 配置文件介绍

🎬作者简介:大家好,我是蓝胖子🥇

☁️博客首页:CSDN主页蓝胖子的编程梦

⭐️热门专题:我的服务监控实践500行代码手写Docker

🌄每日一句:成功的速度,要超过爸妈老去的速度
在这里插入图片描述

大家好,我是蓝胖子,前面我讲解了OpenTelemetry Collector的部署模式,这一节我们继续看看OpenTelemetry Collector相关的内容。OpenTelemetry Collector有对遥测数据预处理的功能,如何处理,处理的流程定义都是通过一个配置文件完成的,我们来看看它的配置由什么组成。

💡💡 在编程开发中会碰到很多配置文件,如何快速掌握一个配置文件的使用,我倾向于先掌握配置文件的组成部分,对其有个整体的把握,后续有对某个部分有更详细的配置要求时,再去研究官方文档即可,这样能够让你对配置文件的配置有体系化的感知。

Collector的配置文件组成

整个Collector的配置文件会有如下4种类型的组件,receivers 负载接收客户端的遥测数据,processor负责对遥测数据进行预处理,包括清洗,过滤等操作,exporter负责导出processor处理完后的遥测数据,connector 负责连接转换两种不同类型的遥测数据,比如将trace数据转变成指标metric数据。

但是这几个组件声明在配置文件中还不能起到作用,它们必须被配置在service这个配置项下面才能被启用。

除此以外,配置文件中还能声明扩展项extensions,扩展项也需要在service中进行声明。

配置示例如下:

receivers 中声明了一个otlp的receiver,并配置了其监听端口用于接收客户端发来的请求。

processors中声明了一个batch processor。

exporters中声明了一个otlp processor。

extensions声明了3个扩展项,health_check提供了接口 用于对Collector进行存活探测,pprof提供了接口用于分析Collector的性能瓶颈,zpages提供了接口用于查看实时数据调试不同的遥测数据处理任务。

services下的extensions 声明要使用的扩展插件 services 的pipelines下面配置不同类型遥测数据的处理任务,每个任务都会指明要用到的具体receiver和exporter,如果要清洗过滤遥测数据,还要声明processor。

receivers:
  otlp:
    protocols:
      grpc:
        endpoint: 0.0.0.0:4317
      http:
        endpoint: 0.0.0.0:4318
processors:
  batch:

exporters:
  otlp:
    endpoint: otelcol:4317

extensions:
  health_check:
  pprof:
  zpages:

service:
  extensions: [health_check, pprof, zpages]
  pipelines:
    traces:
      receivers: [otlp]
      processors: [batch]
      exporters: [otlp]
    metrics:
      receivers: [otlp]
      processors: [batch]
      exporters: [otlp]
    logs:
      receivers: [otlp]
      processors: [batch]
      exporters: [otlp]

为了知识的完整性, 我们也来看下connectors的配置,下面的配置文件声明了一个count的connector,将trace类型的数据转化成了metric指标数据。

receivers:
  foo:

exporters:
  bar:

connectors:
  count:
    spanevents:
      my.prod.event.count:
        description: The number of span events from my prod environment.
        conditions:
          - 'attributes["env"] == "prod"'
          - 'name == "prodevent"'

service:
  pipelines:
    traces:
      receivers: [foo]
      exporters: [count]
    metrics:
      receivers: [count]
      exporters: [bar]

我应该从哪里去寻找相关的配置以及作用

授人予鱼,不如授人以渔。可以发现,有那么多配置,那么我应该从哪里去寻找这些配置究竟有哪些配置项呢。

除了官网上的文档,还可以使用到上一节讲解Opentelemetry组成时提到的ecosystem系统,它可以查找 OpenTelemetry 相关的的扩展库、插件、和其他有用工具。

其访问地址如下:

https://opentelemetry.io/ecosystem/registry/?s=count&component=all

如下图所示,比如我们搜索batch,点击进去可以看到batch processor相关的配置项以及含义

在这里插入图片描述

  • 20
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

蓝胖子的编程梦

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值