首页 > 其他分享 >手把手教你编写自定义Categraf插件

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

时间:2024-11-05 10:32:43浏览次数:1  
标签:插件 http 自定义 文件夹 go response Categraf

本文分享自天翼云开发者社区《手把手教你编写自定义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中增加需要的配置,如 

8.在代理注册agent文件下的metrics_agent.go中导入自定义插件的路径,如_ "flashcat.cloud/categraf/inputs/http_response"

9.调试插件:可以将不启用插件的conf下的配置文件删除或重命名,或将agent下的注册插件注释即可

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

- github:https://github.com/flashcatcloud/categraf
- gitlink:https://www.gitlink.org.cn/flashcat/categraf

标签:插件,http,自定义,文件夹,go,response,Categraf
From: https://www.cnblogs.com/developer-tianyiyun/p/18527343

相关文章

  • GPT-Academic 其它插件相关使用教程
    一.虚空终端“GPT插件虚空终端”似乎是一个结合了GPT技术和某种终端(可能是命令行或控制台)的插件或工具。以下是一些可能的解释和应用:GPT插件:这可能是一个利用GPT(生成式预训练变换器)技术的插件,用于提供自然语言处理功能,比如文本生成、对话系统等。虚空终端:这个名称可能指的......
  • GPT-Academic 编程类插件区使用教程
    GPT-Academic官网:GPT-Academic官方用户中心一.虚空终端在网络编程中,网络终端可以指一个通过网络连接到远程服务器或服务的终端,用户可以通过它来执行远程命令。二.解析整个python项目GPT(GenerativePre-trainedTransformer)是一种强大的语言模型,能够理解和生成自然语言文本......
  • HarmonyOS 开发实践——基于自定义注解和代码生成实现路由框架
    ......
  • Chrome 插件怎么安装与下载?超详细
    原文链接: https://www.chajianxw.com/tutorial/how-to-install-chrome-plugin.html前言国内因为无法访问Chrome应用商店的缘故,导致很多优秀的扩展程序无法正常下载与安装。本文将手把手教你如何通过离线安装Chrome插件,全文图文讲解,超级详细哟~跟着下面的教程来就行,分分......
  • Chrome 插件怎么安装与下载?超详细
    原文链接: https://www.chajianxw.com/tutorial/how-to-install-chrome-plugin.html前言国内因为无法访问Chrome应用商店的缘故,导致很多优秀的扩展程序无法正常下载与安装。本文将手把手教你如何通过离线安装Chrome插件,全文图文讲解,超级详细哟~跟着下面的教程来就行,分分钟搞......
  • 这款Chrome 插件,帮助我们复制网页上不能复制的内容
    前言最近在上网查找博客时,经常遇到想要复制网页上的内容,但是,一点击复制,就会弹出来各种各样的弹框,导致复制不能继续,非常麻烦。这时,我想到了一个办法,那就是下载安装一个chrome插件,那今天就介绍给大家,让大家上网复制文本时可以任性。如何复制首先,我们需要安装一个插件,SimpleAllow......
  • 「Mac畅玩鸿蒙与硬件23」鸿蒙UI组件篇13 - 自定义组件的创建与使用
    自定义组件可以帮助开发者实现复用性强、逻辑清晰的界面模块。通过自定义组件,鸿蒙应用能够提高代码的可维护性,并简化复杂布局的构建。本篇将介绍如何创建自定义组件,如何向组件传递数据,以及如何在不同页面间复用这些组件。关键词自定义组件复用组件属性传递组件通信组件......
  • swiper插件同屏多个slide时在loop模式下点击切换失效的解决方案
    需求:英雄展示页面提供纵向头像滚动切换功能,需要支持循环滚动、拖动切换、前后按钮切换、点击头像图标切换等功能。  代码:<div:class="$style.swiperBox"><swiperref="heroSwiper":options="swiperOptions":class="$style.swip......
  • IDEA加载通义灵码插件及使用指南
    安装通义灵码插件登录通义灵码IDE插件下载登录参考教程https://help.aliyun.com/zh/lingma/user-guide/download-the-installation-guide本地工程和企业知识库准备请下载本地工程和知识库压缩包,并在本地解压缩,其中包含demoProject和知识库文件两个文件夹。通义灵码测......
  • Android的自定义View和自定义ViewGroup
    Android自定义视图(View)和视图组(ViewGroup)详解在Android开发中,有时候我们需要创建一些标准控件无法满足需求的自定义视图(View)和视图组(ViewGroup)。本文将详细介绍如何创建自定义视图和视图组,包括构造方法、自定义属性、绘制逻辑、测量逻辑、布局逻辑和设置布局参数等内容。1.......