登录
/
注册
首页
论坛
其它
首页
科技
业界
安全
程序
广播
Follow
关于
导读
排行榜
资讯
发帖说明
登录
/
注册
账号
自动登录
找回密码
密码
登录
立即注册
搜索
搜索
关闭
CSDN热搜
程序园
精品问答
技术交流
资源下载
本版
帖子
用户
软件
问答
教程
代码
写记录
写博客
小组
VIP申请
VIP网盘
网盘
联系我们
发帖说明
道具
勋章
任务
淘帖
动态
分享
留言板
导读
设置
我的收藏
退出
腾讯QQ
微信登录
1
2
/ 2 页
下一页
返回列表
首页
›
业界区
›
业界
›
Categraf 监控采集器常见问题汇总
Categraf 监控采集器常见问题汇总
[ 复制链接 ]
骆贵
2025-12-15 20:35:02
程序园永久vip申请,无限下载程序园所有程序/软件/数据/等
总结一下社区常见的问题,供大家参考。不过在描述具体问题之前,请先了解 Categraf 的核心职能:
采集监控指标
在即时查询里可以看到机器各个指标的历史趋势图,就是 Categraf 采集的监控指标。比如:
如果这个页面查不到机器的历史监控数据,说明采集、上报、存储链路出了问题。
上报机器元信息
机器列表里的机器,会呈现一些字段,比如更新时间、时间偏移、内存、CPU 等字段,都是通过 Categraf 上报的元信息拿到的。
点击某个机器,会展开侧拉板,侧拉板里会呈现机器的元信息:
执行自愈脚本
一些日常运维工作需要批量对一批机器执行脚本,或者某个机器报警了,想要自动去机器上跑一个脚本。
hostname 配置
Categraf 要想达成上面所述的功能,需要有一个唯一标识,用以区分不同的机器。这个唯一标识就是 conf/config.toml 配置文件中的 hostname 配置。
# add label(agent_hostname) to series
# "" -> auto detect hostname
# "xx" -> use specified string xx
# "$hostname" -> auto detect hostname
# "$ip" -> auto detect ip
# "$hostname-$ip" -> auto detect hostname and ip to replace the vars
hostname = ""
复制代码
上面的注释其实也说得很清楚了,我这里也再啰嗦一下。
hostname 字段用户配置成啥,就以啥作为机器标识。所以,不同机器一定要配置为不同的字符串。
但是每个机器都要配置一个不同的字符串,有点费劲,能否自动设置为本机的机器名?可以的,这个字段如果留空,就会自动获取本机的机器名。
有些公司机器名可能会重复,想要自动设置为本机 IP,也可以,那就配置为:
hostname = "$ip"
复制代码
Categraf 发现用户配置的是 $ip,就会自动探测本机 IP 填充进去,不过你要检查一下最终探测到的 IP 是不是对的,怎么检查?测试采集一下指标,看看输出即可:
[root@iZ2ze4oi71k3qgdxwsyn07Z categraf-v0.4.20-linux-amd64]# ./categraf --test --inputs mem 2>/dev/null| grep mem_
1762167444 18:57:24 mem_high_free agent_hostname=10.99.1.107 0
1762167444 18:57:24 mem_huge_pages_free agent_hostname=10.99.1.107 0
复制代码
hostname 的信息会体现为指标里的 agent_hostname 标签,如上,我的本机 IP 自动探测为 10.99.1.107。
有时想从环境变量里获取,也可以,也是使用 $ 符号引用环境变量的名称即可,比如:
[root@iZ2ze4oi71k3qgdxwsyn07Z categraf-v0.4.20-linux-amd64]# export HOST=hello007
[root@iZ2ze4oi71k3qgdxwsyn07Z categraf-v0.4.20-linux-amd64]# grep HOST conf/config.toml
hostname = "$HOST"
[root@iZ2ze4oi71k3qgdxwsyn07Z categraf-v0.4.20-linux-amd64]# ./categraf --test --inputs mem 2>/dev/null| grep mem_
1762167642 19:00:42 mem_active agent_hostname=hello007 1265184768
1762167642 19:00:42 mem_huge_page_size agent_hostname=hello007 2097152
复制代码
如上,我设置了一个环境变量 HOST=hello007,然后在配置文件里通过 hostname="$HOST" 做了引用。最终通过 --test 看到的就是 agent_hostname=hello007 标签。
⚠️ 注意:
如果 config.toml 里配置里 omit_hostname = true 上报的监控数据中就没有 agent_hostname 标签了
Categraf 的监控数据如果发给夜莺,夜莺会把 agent_hostname 标签重命名为 ident
writers 配置
配置段样例如下:
[[writers]]
url = "http://nightingale:17000/prometheus/v1/write"
basic_auth_user = ""
basic_auth_pass = ""
timeout = 5000
dial_timeout = 2500
max_idle_conns_per_host = 100
复制代码
Categraf 采集了监控数据之后,就是推送给 writers 指定的 url,通常是推送给夜莺,所以 url 配置为夜莺的地址。
如果使用了边缘模式,边缘机房的 Categraf 要配置为边缘 n9e-edge 的地址。
如果要做高可用,应该在夜莺前面架设负载均衡,Categraf 这里配置负载均衡的地址。Categraf 这里不支持写多个夜莺的 IP。
⚠️ 如果你们不用夜莺,只用 Categraf,也可以把 writers 的 url 配置为时序库的 remote write 地址。Categraf 使用 Prometheus remote write 协议推送监控数据。
writers 部分是使用双中括号括起来的,这在 toml 语法中表示数组,即可以配置多个 writer 地址,比如:
[[writers]]
url = "http://ip1:17000/prometheus/v1/write"
basic_auth_user = ""
basic_auth_pass = ""
timeout = 5000
dial_timeout = 2500
max_idle_conns_per_host = 100
[[writers]]
url = "http://ip2:17000/prometheus/v1/write"
basic_auth_user = ""
basic_auth_pass = ""
timeout = 5000
dial_timeout = 2500
max_idle_conns_per_host = 100
复制代码
Categraf 会把采集到的数据分别推送给这两个 writer。其中一个 writer 慢了可能也会影响另一个。通常,这个双写的功能应该用不到。
heartbeat 配置
Categraf 采集了机器元信息,推送给 heartbeat 配置的 url。必须配置为夜莺的地址。如果用到了边缘的 n9e-edge,则配置为 n9e-edge 的地址。
如果这个地址配置的不对或没有 enable,机器列表就是空的,或者即便机器列表不为空,机器后面的各个字段都是 unknown,页面上点击机器标识展开的侧拉板里也看不到机器的元信息。
机器的元信息发给夜莺之后,夜莺是存储在 redis 中的。
如果不用夜莺,只用 Categraf 的采集能力,heartbeat 可以关闭,即设置 enable = false。
ibex 配置
ibex 是执行脚本的,告警自愈脚本就是通过 ibex 执行的。如果你们担心安全性,就不要启用 ibex 了。
ibex 下面有个 servers 配置,是配置夜莺的 rpc 地址,默认夜莺 rpc server 会监听在 20090 端口,如果是边缘模式,则配置为边缘 n9e-edge 的 rpc 端口。
注意,这个是走的四层不是七层。如果要做高可用,把多个夜莺 server 的地址配置到 servers 配置里即可,servers 的 value 是个数组,比如:
servers = ["ip1:20090", "ip2:20090"]
复制代码
多个监控目标的问题
Categraf 有很多监控插件,每个监控插件有自己的配置,在 conf 目录下有一堆 input. 打头的目录,就是一个一个的插件配置目录。
比如 mysql 的配置文件:conf/input.mysql/mysql.toml:
[[instances]]
address = "127.0.0.1:3306"
username = "categraf"
password = "XXXXXXXX"
复制代码
但凡你看到插件的配置里有 [[instances]] 就说明,可以配置多个监控目标,比如要监控两个 mysql 实例:
[[instances]]
address = "10.1.2.3:3306"
username = "categraf"
password = "XXXXXXXX"
[[instances]]
address = "10.1.2.4:3306"
username = "categraf"
password = "XXXXXXXX"
复制代码
采集频率问题
在插件里,最开始的位置通常有个 interval = 15 的配置,表示这个插件的所有 instance 都是 15s 采集一次,如果这个配置注释了,那就是复用全局的 interval,全局的 interval 在 conf/config.toml 里。
如果第一个实例希望 15s 采集一次,第二个实例 30s 采集一次,可以这么配置:
interval = 15
[[instances]]
address = "10.1.2.3:3306"
username = "categraf"
password = "XXXXXXXX"
interval_times = 1
[[instances]]
address = "10.1.2.4:3306"
username = "categraf"
password = "XXXXXXXX"
interval_times = 2
复制代码
通过 interval_times 来控制,这个实例的采集频率等于:
interval * interval_times
复制代码
那如果我想更频繁,不是 15s 的倍数怎么办?简单,直接把 interval 设置为 1,1 乘以任何数都是原来的数,那就变相使用 interval_times 来控制了。比如:
interval = 1
[[instances]]
address = "10.1.2.3:3306"
username = "categraf"
password = "XXXXXXXX"
interval_times = 7
[[instances]]
address = "10.1.2.4:3306"
username = "categraf"
password = "XXXXXXXX"
interval_times = 8
复制代码
这个例子里,第一个实例,每 7s 执行一次,第二个实例,每 8s 执行一次。
标签问题
所有监控数据都要附加的标签,配置在 conf/config.toml 的 [global.labels] 中,比如:
[global.labels]
env = "prod"
region = "shanghai"
复制代码
如果只想给部分实例附加标签,就在各个 instances 下面,比如:
interval = 1
[[instances]]
address = "10.1.2.3:3306"
username = "categraf"
password = "XXXXXXXX"
interval_times = 7
[instances.labels]
instance = "a"
env = "prod"
[[instances]]
address = "10.1.2.4:3306"
username = "categraf"
password = "XXXXXXXX"
interval_times = 8
[instances.labels]
instance = "b"
env = "test"
复制代码
或者换个写法:
interval = 1
[[instances]]
address = "10.1.2.3:3306"
username = "categraf"
password = "XXXXXXXX"
interval_times = 7
labels = { instance="a", env="prod"}
[[instances]]
address = "10.1.2.4:3306"
username = "categraf"
password = "XXXXXXXX"
interval_times = 8
labels = { instance="b", env="test"}
复制代码
两种写法在 toml 格式的配置文件中作用相同。
配置文件合并问题
每个插件都有一个目录,有时方便管理,想把插件配置拆成多个文件,也是可以的。Categraf 的处理逻辑是:把插件目录下的所有 toml 文件,按照文件名字排序,拼接成一个大的 toml 文件来处理。
注意,interval 配置是在所有 instances 前面的,所以要拆成多个配置文件的话,只在第一个 toml 文件中配置 interval 即可。其他配置文件的 interval 即便配置了也不生效。所谓的第一个 toml 文件,是把所有 toml 文件按照
文件名的字符序
排序,取第一个。
来源:程序园用户自行投稿发布,如果侵权,请联系站长删除
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
Categraf
监控
采集
常见问题
汇总
相关帖子
Prometheus 和 Grafana 监控 PostgreSQL
prometheus监控windows window_exporter代理安装和配置
prometheus监控Linux Server node_exporter代理安装和配置
prometheus监控Linux Server node_exporter代理安装和配置
架构师必备:灰度方案汇总
大科学装置信号采集处理解决方案
Rust简要汇总(持续更新)
酷监控!一款高颜值的监控工具!
zabbix监控实践:基于Redfish监控HP服务器
实时股票查询接口汇总-A股-沪深-报价-排行-成交
回复
使用道具
举报
提升卡
置顶卡
沉默卡
喧嚣卡
变色卡
千斤顶
照妖镜
相关推荐
安全
Prometheus 和 Grafana 监控 PostgreSQL
16
700
威割
2026-01-28
安全
prometheus监控windows window_exporter代理安装和配置
17
113
坪钗
2026-01-29
安全
prometheus监控Linux Server node_exporter代理安装和配置
11
864
赶塑坠
2026-01-29
安全
prometheus监控Linux Server node_exporter代理安装和配置
11
920
抽厉
2026-01-29
业界
架构师必备:灰度方案汇总
18
734
辈霖利
2026-01-31
业界
大科学装置信号采集处理解决方案
17
121
聊账
2026-02-04
安全
Rust简要汇总(持续更新)
16
1033
扔飒
2026-02-04
安全
酷监控!一款高颜值的监控工具!
4
49
倡粤
2026-02-12
安全
zabbix监控实践:基于Redfish监控HP服务器
0
642
闻成
2026-03-12
安全
实时股票查询接口汇总-A股-沪深-报价-排行-成交
0
668
笃迩讦
2026-03-18
回复
(32)
孜稞
2025-12-18 12:12:53
回复
使用道具
举报
照妖镜
猛犸象科技工作室:
网站开发,备案域名,渗透,服务器出租,DDOS/CC攻击,TG加粉引流
喜欢鼓捣这些软件,现在用得少,谢谢分享!
常士
2026-1-4 10:14:36
回复
使用道具
举报
照妖镜
猛犸象科技工作室:
网站开发,备案域名,渗透,服务器出租,DDOS/CC攻击,TG加粉引流
东西不错很实用谢谢分享
高小雨
2026-1-4 14:00:36
回复
使用道具
举报
照妖镜
猛犸象科技工作室:
网站开发,备案域名,渗透,服务器出租,DDOS/CC攻击,TG加粉引流
这个好,看起来很实用
闻成
2026-1-4 21:00:40
回复
使用道具
举报
照妖镜
程序园永久vip申请,无限下载程序园所有程序/软件/数据/等
新版吗?好像是停更了吧。
请蒂
2026-1-9 17:01:51
回复
使用道具
举报
照妖镜
猛犸象科技工作室:
网站开发,备案域名,渗透,服务器出租,DDOS/CC攻击,TG加粉引流
前排留名,哈哈哈
师悠逸
2026-1-15 02:03:13
回复
使用道具
举报
照妖镜
猛犸象科技工作室:
网站开发,备案域名,渗透,服务器出租,DDOS/CC攻击,TG加粉引流
感谢分享,下载保存了,貌似很强大
碛物
2026-1-15 13:56:26
回复
使用道具
举报
照妖镜
程序园永久vip申请,无限下载程序园所有程序/软件/数据/等
很好很强大 我过来先占个楼 待编辑
稞冀
2026-1-19 01:40:50
回复
使用道具
举报
照妖镜
程序园永久vip申请,无限下载程序园所有程序/软件/数据/等
感谢分享,学习下。
捡嫌
2026-1-23 07:26:34
回复
使用道具
举报
照妖镜
猛犸象科技工作室:
网站开发,备案域名,渗透,服务器出租,DDOS/CC攻击,TG加粉引流
不错,里面软件多更新就更好了
志灿隐
2026-1-27 04:21:02
回复
使用道具
举报
照妖镜
猛犸象科技工作室:
网站开发,备案域名,渗透,服务器出租,DDOS/CC攻击,TG加粉引流
这个有用。
尹心菱
2026-2-3 03:04:30
回复
使用道具
举报
照妖镜
猛犸象科技工作室:
网站开发,备案域名,渗透,服务器出租,DDOS/CC攻击,TG加粉引流
用心讨论,共获提升!
百谖夷
2026-2-5 02:52:48
回复
使用道具
举报
照妖镜
猛犸象科技工作室:
网站开发,备案域名,渗透,服务器出租,DDOS/CC攻击,TG加粉引流
谢谢分享,试用一下
迎脾
2026-2-5 08:42:22
回复
使用道具
举报
照妖镜
猛犸象科技工作室:
网站开发,备案域名,渗透,服务器出租,DDOS/CC攻击,TG加粉引流
收藏一下 不知道什么时候能用到
虹姥
2026-2-5 10:02:31
回复
使用道具
举报
照妖镜
猛犸象科技工作室:
网站开发,备案域名,渗透,服务器出租,DDOS/CC攻击,TG加粉引流
很好很强大 我过来先占个楼 待编辑
袋岖荤
2026-2-7 23:16:01
回复
使用道具
举报
照妖镜
程序园永久vip申请,无限下载程序园所有程序/软件/数据/等
感谢发布原创作品,程序园因你更精彩
梦霉
2026-2-8 00:48:16
回复
使用道具
举报
照妖镜
程序园永久vip申请,无限下载程序园所有程序/软件/数据/等
前排留名,哈哈哈
些耨努
2026-2-8 00:51:02
回复
使用道具
举报
照妖镜
程序园永久vip申请,无限下载程序园所有程序/软件/数据/等
谢谢分享,试用一下
汇干环
2026-2-9 11:59:43
回复
使用道具
举报
照妖镜
程序园永久vip申请,无限下载程序园所有程序/软件/数据/等
yyds。多谢分享
驳嗦
2026-2-9 14:24:37
回复
使用道具
举报
照妖镜
程序园永久vip申请,无限下载程序园所有程序/软件/数据/等
yyds。多谢分享
下一页 »
1
2
/ 2 页
下一页
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
立即注册
回复
本版积分规则
回帖并转播
回帖后跳转到最后一页
浏览过的版块
安全
科技
程序
代码
签约作者
程序园优秀签约作者
发帖
骆贵
2026-2-9 14:24:37
关注
0
粉丝关注
31
主题发布
板块介绍填写区域,请于后台编辑
财富榜{圆}
3934307807
991125
anyue1937
9994892
kk14977
6845359
4
xiangqian
638210
5
神泱
9522
6
韶又彤
9912
7
宋子
9878
8
荪俗
9016
9
闰咄阅
9995
10
刎唇
9995
查看更多
今日好文热榜
0
渐得如意智能自动化办公平台——定义属于你
882
[AI/Agent/社交] AI Agent社交网络产品:Mo
520
C++协程入门
284
TCSSOFTDEPTCOPY.zip Can download source
800
Vue3 + Iframe 实战:打造企业级流程配置中
823
“你用AI,那我也会用AI,我还要你干什么?
621
自感痕迹论:先验意义场域与经验痕迹内外
7
一道KMP统考真题彻底讲透:nextval与滑动距
6
一道KMP统考真题彻底讲透:nextval与滑动距
741
从 Clubhouse 的崛起与陨落,看语聊房 RTC
244
老马失前蹄,竟然在数据库外键上翻车了,重
8
老马失前蹄,竟然在数据库外键上翻车了,重
6
老马失前蹄,竟然在数据库外键上翻车了,重
6
老马失前蹄,竟然在数据库外键上翻车了,重
8
老马失前蹄,竟然在数据库外键上翻车了,重
6
老马失前蹄,竟然在数据库外键上翻车了,重
192
读2025世界前沿技术发展报告19卫星技术
427
使用Microsoft Agent Framework构建C# AI代
470
岐金兰的回答:为什么全球思想界没有及时提
7
岐金兰的回答:为什么全球思想界没有及时提