手把手教你编写自定义Categraf插件

天翼云开发者社区
• 阅读 82

本文分享自天翼云开发者社区《手把手教你编写自定义Categraf插件》,作者:任****佳

Categraf 是一个监控采集 Agent,类似 Telegraf、Grafana-Agent、Datadog-Agent,希望对所有常见监控对象提供监控数据采集能力,采用 All-in-one 的设计,不但支持指标采集,也希望支持日志和调用链路的数据采集。相比于其他采集器,Categraf 的优势在于:支持 remote_write 写入协议,支持将数据写入 promethues、M3DB、VictoriaMetrics、InfluxDB;指标数据只采集数值,不采集字符串,标签维持稳态结构;采用 all-in-one 的设计,所有的采集工作用一个 agent搞定;未来也可以把日志和 trace 的采集纳入 agent;纯 Go 代码编写,静态编译依赖少,容易分发,易于安装。

教你编写自定义Categraf插件: 下面以自定义http_response插件为例; http_response插件作用:解析http响应,该响应可以是获取的监控数据,再将响应写入指定的监控数据库,如promethues、VictoriaMetrics、InfluxDB等;

http_response插件编写思路: 1.拉取官方代码仓库项目,在插件目录input文件夹下建http_response文件夹,在http_response文件夹下建立http_response.go 2.http_response.go以任意一个官方已有插件go文件为模板粘贴,此处以tomcat插件为例,先将涉及插件名称的地方改为http_response 3.在解释器目录parser文件夹下httpresponse文件夹,在httpresponse文件夹下建立parser.go 4.parser.go中解析的http响应数据的方法,并调用SampleList类的PushSample或PushSamples方法推送监控数据 5.在http_response.go中将初始化方法func (ins *Instance) Init() 中调用解释器即可 6.在配置文件目录conf下建立inputs.http_response文件夹,在inputs.http_response文件夹下增加http_response.toml 7.http_response.toml中增加需要的配置,如

手把手教你编写自定义Categraf插件

8.在代理注册agent文件下的metrics_agent.go中导入自定义插件的路径,如_ "flashcat.cloud/categraf/inputs/http_response" 9.调试插件:可以将不启用插件的conf下的配置文件删除或重命名,或将agent下的注册插件注释即可

Categraf的官方代码托管在两个地方:

点赞
收藏
评论区
推荐文章
亚瑟 亚瑟
3年前
云原生监控系统 Prometheus 入门
Prometheus介绍主要特性之所以Prometheus现在这么受欢迎,主要是因为它具备如下特性:多维度数据模型灵活的查询语言不依赖任何分布式存储常见方式是通过拉取方式采集数据也可通过中间网关支持推送方式采集数据通过服务发现或者静态配置来发现监控目标支持多
Stella981 Stella981
3年前
SkyWalking 权限认证
版本:7.0.0描述为了数据传输安全,确保网络连接是安全的。采用Token认证确保采集的应用数据是被信任的。当前版本,仅支持简单的字符串Token配置1.代理端配置文件agent.config设置Authenticationactiveisbasedonbac
Stella981 Stella981
3年前
BeeAPM无侵入分布式全链路监控&追踪
BeeAPM是一个分布式跟踪和应用性能监控系统。该系统应用JavaAgent技术,使用bytebuddy(基于ASM的框架)进行字节码植入,从而对java应用程序进行相关数据采集和性能监控,对应用无侵入。部署agent部署server部署UI部署介绍采集端(age
Wesley13 Wesley13
3年前
IP地址定位技术中基础数据采集怎么做?
IP地理位置定位技术,包含基础数据采集、硬件系统搭建、应用场景划分和定位系统研发四项关键技术。基础数据采集为IP地理位置定位技术的研究提供基础数据支撑,是IP地址定位的基础性工作和关键技术。首先,按照不同的数据采集规则,针对不同数据源的数据格式,研究并实现一套自动化的智能化的数据采集技术;其次,对采集到的数据进行筛选、清洗和挖掘,形成基础数据库,为系统提
Wesley13 Wesley13
3年前
UAVStack功能上新:新增JVM监控分析工具
UAVStack推出的JVM监控分析工具提供基于页面的展现方式,以图形化的方式展示采集到的监控数据;同时提供JVM基本参数获取、内存dump、线程分析、内存分配采样和热点方法分析等功能。引言作为AllInOne的智能化服务技术栈,UAVStack提供了非常全面的监控数据采样功能,同时支持数据监控与预警。近期,我们整合了原有的数据采集展示功能,新
Stella981 Stella981
3年前
Qt编写气体安全管理系统8
一、前言曲线监控模块用的很少,主要就是用来观察某个设备的实时采集的数据和历史采集的数据,可以回放数据,在右侧可以选择对应的通信端口和控制器,然后选择指定的探测器进行观察,从选择的时候开始计时,每个数据都对应一个数据点,至于采集间隔,这个在端口管理中设定的,一般来说都是1秒钟采集一次。显示曲线图表控件,个人强烈推荐开源的qcustomplot
Stella981 Stella981
3年前
Qt编写数据可视化大屏界面电子看板12
一、前言数据采集是整个数据可视化大屏界面电子看板系统核心功能,没有数据源,这仅仅是个玩具UI,没啥用,当然默认做了定时器模拟数据,产生随机数据,这个可以直接配置文件修改来选择采用何种数据采集方法,总结了一下基本上会有这样几种数据源,timer模拟数据db数据库采集tcp网络采集httppost请求,大量的web会选择采用http作
Wesley13 Wesley13
3年前
IP地址定位技术之一:基础数据采集
IP地理位置定位技术,包含基础数据采集、硬件系统搭建、应用场景划分和定位系统研发四项关键技术。基础数据采集为IP地理位置定位技术的研究提供基础数据支撑,是IP地址定位的基础性工作和关键技术。首先,按照不同的数据采集规则,针对不同数据源的数据格式,研究并实现一套自动化的智能化的数据采集技术;其次,对采集到的数据进行筛选、清洗和挖掘,形成基础数据库,为系统提
邢德全 邢德全
11个月前
数据采集才是MES系统中的核心功能
万界星空MES系统数据自动采集主要指对车间加工数据的采集,其中包括人员、工时、设备、工作中心、场地、加工参数、检验数据、加工状态、返修次数等等所有的与加工有关的数据集合。除此之外还有其他模块的数据采集,如成本信息,质量信息等。
万界星空科技 万界星空科技
7个月前
MES系统解决方案,MES系统主要能解决什么问题
MES系统配合一定的数据采集硬件和采集技术,可实现数据的采集的自动化,自动化,大大提升人工数据采集的效率,甚至有些人工无法采集的数据,也可以采集出来,提升了数据采集的全面性,准确度。
天翼云开发者社区
天翼云开发者社区
Lv1
天翼云是中国电信倾力打造的云服务品牌,致力于成为领先的云计算服务提供商。提供云主机、CDN、云电脑、大数据及AI等全线产品和场景化解决方案。
文章
722
粉丝
15
获赞
40