基本介绍
Categraf 是一款 all-in-one 的采集器,由 快猫团队 开源,代码托管在两个地方:
- gitlink: https://www.gitlink.org.cn/flashcat/categraf
- github: GitHub - flashcatcloud/categraf: one-stop telemetry collector for nightingale
Categraf 不但可以采集 OS、MySQL、Redis、Oracle 等常见的监控对象,也准备提供日志采集能力和 trace 接收能力,这是夜莺主推的采集器,相关信息请查阅项目 README
Categraf 采集了监控数据,是如何与夜莺服务端打交道的呢?这个原理是:Categraf 采集了数据之后,可以通过 remote write 协议推给服务端,而夜莺的 n9e-server 提供了多种数据接收的接口,其中就支持 remote write 方式接收数据,所以,二者可以良好整合。支持 remote write 协议的时序库有很多,所以,Categraf 都可以和这些时序库整合使用。
顺便说一下夜莺接收数据的几个接口:
-
/prometheus/v1/write 接收 remote write 协议的数据
-
/datadog/api/v1/series 接收 datadog 协议的数据
-
/opentsdb/put 接收 OpenTSDB 协议的数据
-
/openfalcon/push 接收 Open-Falcon 协议的数据
重点是配置 Categraf 的 conf/config.toml
中的 writer 部分,其中 url 部分配置为 n9e-server 的 remote write 接口:
[writer_opt]
# default: 2000
batch = 2000
# channel(as queue) size
chan_size = 10000
[[writers]]
url = "http://N9E-SERVER: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
安装:
Categraf 的安装包,可以自行编译,也可以去 github、gitlink 的 release 页面下载编译好的二进制:
- https://github.com/flashcatcloud/categraf/releases
- https://www.gitlink.org.cn/flashcat/categraf/releases
#解压tar包
tar -xzvf categraf-v0.2.10-linux-amd64.tar.gz -C /usr/local/
#目录改名
mv /usr/local/categraf-v0.2.10-linux-amd64/ /usr/local/categraf
#调整配置文件连接到server段
vim /usr/local/categraf/conf/config.toml
#找到 32 [[writers]]
33 url = "http://127.0.0.1:19000/prometheus/v1/write"
#修改为:
32 [[writers]]
33 url = "http://192.168.223.111:19000/prometheus/v1/write"
#启动categraf
nohup /usr/local/categraf/categraf &> /usr/local/categraf/stdout.log &
查看输出日志,监控项已经全部开启