汇总:一文搞懂指标采集利器 Telegraf

优采云 发布时间: 2022-12-24 20:20

  汇总:一文搞懂指标采集利器 Telegraf

  作者|姜有名

  来源|尔达公众号

  的

  导读:为了让大家更好的理解MSP中APM系统的设计与实现,我们决定写一个系列文章《微服务观察详解》,深入APM系统的产品、架构设计和基础技术。 文章是本系列的第三篇文章。 主要介绍Telegraf数据处理链路的实现原理和插件的实现方法。

  《浅谈微服务观察》系列文章:

  Telegraf 是 InfluxData 开源的一款非常流行的指标采集软件,在 GiHub 上拥有数万个 Star。 借助社区,它拥有200多种采集插件和40多种导出插件,涵盖几乎所有监控项目,机器监控、服务监控甚至硬件监控。

  的

  架构设计流水线并发编程

  的

  在 Go 中,Pipeline 并发编程模式是一种常用的并发编程模式。 简单来说,它由一系列的stage组成一个整体,每个stage由一组运行相同功能的goroutine组成,stage之间通过channel相互连接。

  在每个阶段,goroutines 负责:

  的

  通过入口通道,接收上游阶段产生的数据。 数据处理,如格式转换、数据过滤聚合等。将处理后的数据通过导出通道发送给下游阶段。

  其中,除第一阶段和最后阶段分别只有退出通道和进入通道外,每一阶段同时有一个或多个出入通道。

  的

  在 Telegraf 中的实现

  的

  

  Telegraf采用这种编程模型,主要有四个阶段,分别是Inputs、Processors、Aggregators和Outputs。

  的

  而且它们之间也是通过通道相互联系的,它们的架构图如下:

  可以看出它整体上采用了流水线并发编程方式。 下面简单介绍一下它的运行机制:

  的

  Fan-in:多个函数向一个通道输出数据,一个函数读取通道直到关闭。

  的

  Fan-out:多个函数从同一个通道读取直到关闭。插件式设计

  的

  Telegraf 有这么多的输入、输出和处理器插件,那么它是如何高效地管理这些插件的呢? 以及如何设计插件系统以应对不断增长的扩展需求? 别担心,请允许我详细说明。

  的

  其实这里的插件并不是通常意义上的插件(即运行时动态加载绑定动态链接库),而是基于工厂模式的变种。 首先我们看一下Telegraf的插件目录结构:

  plugins

├── aggregators

│ ├── all

│ ├── basicstats

│ ├── registry.go

...

<p>

├── inputs

│ ├── all

│ ├── cpu

│ ├── registry.go

...

├── outputs

│ ├── all

│ ├── amqp

│ ├── registry.go

...

├── processors

│ ├── all

│ ├── clone

│ ├── registry.go

...</p>

  的

  从上面可以看出,目录结构是有规律的(下面以Inputs的Plug-in为例,其他模块的实现类似)。

  的

  解决方案:青岛条码打印机_青岛条码扫描器批发_青岛数据采集器厂家_青岛德领智能科技

  TDK信息页面

  标题

  36个字符(一般不超过80个字符)

  

  青岛条码打印机_青岛条码扫描*敏*感*词*批发_青岛数据采集器厂家_青岛德灵智能科技

  关键词(KeyWords)

  35个字符(一般不超过100个字符)

  青岛条码打印机,青岛条码打印机厂家,青岛条码扫描器批发,青岛数据采集器

  

  描述

  174个字符(一般不超过200个字符)

  青岛德灵智能科技*敏*感*词*主要经营:条码打印机、条码扫描器、数据采集器、证卡打印机、视觉扫描模块、条码打印软件、RFID电子标签、不干胶标签纸、吊牌、碳带及其他产品批发,我们拥有专业的销售和技术团队,项目经验丰富,完整的条码产品线,完善的服务体系,创新的系统集成,为新老客户提供全面灵活的技术支持服务,使公司在行业在用户中享有良好的声誉和较高的知名度。

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线