前言

github仓库文档中对Categraf有很详细的介绍,简单重复一下就是:支持多种数据格式的remote_write;All-in-one的设计理念,指标采集只需要一个agent完成,也计划支持日志和调用链路的数据采集;Go编写,依赖少,容易分发和安装;内置一些监控大盘和告警规则,用户可以直接导入使用;开源项目并由快猫研发团队持续迭代。

特殊目录结构说明

input

采集插件基本都位于input目录下,并且有些采集器提供了通用的大盘(alters-xxx.json)和告警(dashbord.json) 配置可以导入n9e直接使用(例如监控仪表盘中更多操作的批量导入),不过例如mtail插件(轻量的日志提取工具,将日志内容,转换为metrics),此类大盘或告警不通用,需要自行实现;k8s的插件不在input而是在根目录。

conf

除了全局主配置config.toml,每个采集器插件也都有各自的配置,位于input.xxx目录下的xxx.toml,需要注意一个instance一般对应一个采集对象,多个采集对象需要配置多个instance(可以通过 --test 对采集器配置测试 ./categraf --test --debug --inputs xxx, 此时采集数据会被打印出来,不会真正上报给n9e)。

官方文档片段摘抄,主配置文件config.toml说明:

[global]
# 启动的时候是否在stdout中打印配置内容
print_configs = false
# 机器名,作为本机的唯一标识,会为时序数据自动附加一个 agent_hostname=$hostname 的标签
# hostname 配置如果为空,自动取本机的机器名
# hostname 配置如果不为空,就使用用户配置的内容作为hostname
# 用户配置的hostname字符串中,可以包含变量,目前支持两个变量,
# $hostname 和 $ip,如果字符串中出现这两个变量,就会自动替换
# $hostname 自动替换为本机机器名,$ip 自动替换为本机IP
# 建议大家使用 --test 做一下测试,看看输出的内容是否符合预期
# 这里配置的内容,再--test模式下,会显示为 agent_hostname=xxx 的标签
hostname = ""
# 是否忽略主机名的标签,如果设置为true,时序数据中就不会自动附加agent_hostname=$hostname 的标签
omit_hostname = false
# 时序数据的时间戳使用ms还是s,默认是ms,是因为remote write协议使用ms作为时间戳的单位
precision = "ms"
# 全局采集频率,15秒采集一次
interval = 15
# 全局附加标签,一行一个,这些写的标签会自动附到时序数据上
# [global.labels]
# region = "shanghai"
# env = "localhost"
[log]
# 默认的log输出,到标准输出(stdout)
# 如果指定为文件, 则写入到指定的文件中
file_name = "stdout"
# options below will not be work when file_name is stdout or stderr
# 如果是写入文件,最大写入大小,单位是MB
max_size = 100
# max_age is the maximum number of days to retain old log files based on the timestamp encoded in their filename.
# 保留多少天的日志文件
max_age = 1
# max_backups is the maximum number of old log files to retain.
# 保留多少个日志文件
max_backups = 1
# local_time determines if the time used for formatting the timestamps in backup files is the computer's local time.
# 是否使用本地时间
local_time = true
# Compress determines if the rotated log files should be compressed using gzip.
# 是否将老文件压缩(gzip格式)
compress = false
# 发给后端的时序数据,会先被扔到 categraf 内存队列里,每个采集插件一个队列
# chan_size 定义了队列最大长度
# batch 是每次从队列中取多少条,发送给后端backend
[writer_opt]
# default: 2000
batch = 2000
# channel(as queue) size
chan_size = 10000
# 后端backend配置,在toml中 [[]] 表示数组,所以可以配置多个writer
# 每个writer可以有不同的url,不同的basic auth信息
[[writers]]
# 注意端口号
# v5版本端口是19000
# v6版本端口是17000
url = "http://127.0.0.1:19000/prometheus/v1/write"
# Basic auth username
basic_auth_user = ""
# Basic auth password
basic_auth_pass = ""
# timeout settings, unit: ms
timeout = 5000
dial_timeout = 2500
max_idle_conns_per_host = 100
# 是否采用http模式下发配置文件
[http]
enable = false
address = ":9100"
print_access = false
run_mode = "release"
# 是否启用告警自愈agent
[ibex]
enable = false
## ibex flush interval
interval = "1000ms"
## n9e ibex server rpc address
servers = ["127.0.0.1:20090"]
## temp script dir
meta_dir = "./meta"
# 心跳上报(附带资源信息,对象列表中使用)给夜莺v6
# 如果是v5版本,这里不需要保留
[heartbeat]
enable = true
# report os version cpu.util mem.util metadata
url = "http://127.0.0.1:17000/v1/n9e/heartbeat"
# interval, unit: s
interval = 10
# Basic auth username
basic_auth_user = ""
# Basic auth password
basic_auth_pass = ""
## Optional headers
# headers = ["X-From", "categraf", "X-Xyz", "abc"]
# timeout settings, unit: ms
timeout = 5000
dial_timeout = 2500
max_idle_conns_per_host = 100

最后感谢看完,由于作者水平有限,使用很多工具并不熟悉,如有错误和遗漏欢迎指出,感谢谅解。
以上内容来源于官方推出的夜莺黄埔营的免费培训活动,加入 QQ 群查看直播视频,还可以在官方答疑站点获得更多支持 https://answer.flashcat.cloud/

参考资料:

https://github.com/flashcatcloud/categraf
https://flashcat.cloud/blog/monitor-agent-categraf-introduction
https://mp.weixin.qq.com/s/T69kkBzToHVh31D87xsrIg
https://time.geekbang.com/column/article/625436
https://n9e.github.io/docs/usage/mtail/
https://flashcat.cloud/docs/content/flashcat-monitor/categraf/3-configuration/

夜莺初探三·Categraf采集器相关推荐

  1. 02采集器Categraf

    基本介绍 Categraf 是一款 all-in-one 的采集器,由 快猫团队 开源,代码托管在两个地方: gitlink: https://www.gitlink.org.cn/flashcat/ ...

  2. 夜莺监控之Categraf监控VMwareVSphere

    之前一直在使用开源的虚拟化软件PVE(Proxmox VE),突然有一天网桥莫名其妙的出幺蛾子,周末鼓捣了半天,谷歌百度也找不到对应的解决方案,重新安装烦的不行,后来一怒之下就换了VMware的VSp ...

  3. OpenTelemetry系列 (三)| 神秘的采集器 - Opentelemetry Collector

    前言 上个篇章中我们主要介绍了OpenTelemetry的客户端的一些数据生成方式,但是客户端的数据最终还是要发送到服务端来进行统一的采集整合,这样才能看到完整的调用链,metrics等信息.因此在这 ...

  4. java 生成 tar.gz_一文教您如何通过 Java 压缩文件,打包一个 tar.gz Filebeat 采集器包...

    一.背景 最近,小哈主要在负责日志中台的开发工作, 等等,啥是日志中台? 俺只知道中台概念,这段时间的确很火,但是日志中台又是用来干啥的? 这里小哈尽量地通俗的说下日志中台的职责,再说日志中台之前,我 ...

  5. 火车头如何才能设置发布的时候,如果是有html代码就直接的转换掉,互联网上笑话抽取及排重---火车头采集器的使用和MD5算法的应用...

    10011311341 吕涛.10011311356 李红 目的:通过熟悉使用火车头采集器,在网络上采取3万条笑话并进行排重,以此来熟悉web文本挖掘的一些知识. 过程:本次学习,主要分成两个部分.第 ...

  6. 阿里千万实例可观测采集器-iLogtail正式开源

    简介:11月23日,阿里正式开源可观测数据采集器iLogtail.作为阿里内部可观测数据采集的基础设施,iLogtail承载了阿里巴巴集团.蚂蚁的日志.监控.Trace.事件等多种可观测数据的采集工作 ...

  7. 基于Android的rgb七彩环颜色采集器

    代码地址如下: http://www.demodashi.com/demo/11892.html 一.前言. 在大学期间,看到这个rgb灯,蛮好奇的,这么漂亮的颜色采集,并且可以同步到设备rbg灯颜色 ...

  8. php采集器分析功能实现

    php采集器分析功能实现 a)URL地址分析 根据数据库中采集规则的定义字段,分为一页地址,多页地址,**-**页地址三种形式. //流程控制 switch (URL地址形式) { case 1: / ...

  9. php网站采集器,PHP采网址(列表页处理)插件的开发方法

    PHP采网址(列表页处理)插件的开发方法 作者:小文 发布于:2010-9-15 11:12 Wednesday 分类:软件培训 火车采集器中列表页插件是用来处理采网址时采集的网页源代码的.插件可以对 ...

最新文章

  1. Rigidbody.Is Kinematic和碰撞体
  2. 如何向新手程序员介绍编程?
  3. 初识JavaScript———JavaScript注意事项(1)
  4. 操作系统(李治军) L9多进程图像-操作系统最重要的图像
  5. 用js把数据从一个页面传到另一个页面
  6. 【ACM2020】少样本学习综述
  7. 第一个Net+Mysql的例子,比想象的简单很多
  8. 扁平化设计的色彩选择
  9. NOI 2017 滚粗记
  10. es集群状态yellow排查
  11. 什么是抖音小店飞鸽3分钟人工回复率?了解客服回复问题以及解决方案
  12. 单月涨粉30w+,他们掌握引流法宝,小红书1月创作趋势是什么?
  13. 电脑下载软件用什么软件好?安卓手机下载软件用哪个软件好?IDM下载器说:在做的都是弟弟
  14. 灿烂夏日里的翩翩蝴蝶结
  15. Go 学习笔记(83)— 编码规范及常用开发技巧
  16. X Normal使用方法
  17. IDEA跳至行首行末快捷键
  18. 大数据多维分析常用操作图解 OLAP Operations
  19. Unity PS4/PS5开发环境搭建
  20. 什么是BW的TLOGO

热门文章

  1. 汇编 eax test jnz jz 等组合连用的总结
  2. 国标SVAC对飙通行标准,优势何在?
  3. Python 求一元二次方程的解
  4. 【java】求一元二次方程的解
  5. Cesium之粒子---简单粒子特效
  6. Linux 命令(179)—— nice 命令
  7. 优化源于99%的试验和1%的数据决策力
  8. 使用Python库valuequant和利润表历史数据计算股权价值
  9. 淘宝怎么寄东西到日本?如何在日本购买国内淘宝上的物品呢?
  10. Java项目在Linux环境使用aspose把word转pdf乱码问题