Categraf 下载、安装和使用
下载
国内用户可以直接去 下载中心下载,国外用户推荐去categraf releases 页面,下载编译好的二进制,也可自行编译,编译只需要一条命令:go build
当然,前提是机器上有 Go 环境。
categraf release包的命名规则遵循{project}-{version}-{os}-{arch}.tar.gz
(windows后缀是zip),例如 categraf-v0.3.21-linux-amd64.tar.gz
表示 categraf 的版本是 v0.3.21,运行在 linux 系统上,架构是 amd64。
categraf v0.3.47(企业版v0.3.74)及以后版本oracle插件不依赖cgo,不用下载with-cgo版本了
categraf-v0.3.21-linux-amd64-with-cgo-plugin.tar.gz # 带 cgo 插件的版本,目前cgo插件有两个 dcgm 和 arp
categraf-v0.3.21-linux-amd64.tar.gz # linux + amd64 环境下运行的版本
categraf-v0.3.21-linux-arm64.tar.gz # linux + arm64 环境下运行的版本
categraf-v0.3.21-windows-amd64.zip # windows + amd64 环境下运行的版本
categraf-v0.3.21-windows-arm64.zip # windows + arm64 环境下运行的版本
categraf-slim-v0.3.21-linux-amd64.tar.gz # linux+amd64 环境下运行,不包含 ibex-agent/prometheus-agent/logs-agent 不包含arp和 oracle 插件,只采集metrics的用户可以尝试 不了解区别的不推荐使用这个包
categraf-slim-v0.3.21-linux-arm64.tar.gz #linux+arm64 环境下运行,不包含 ibex-agent/prometheus-agent/logs-agent 不包含arp 和 oracle 插件,只采集metrics的用户可以尝试 不了解区别的不推荐使用这个包
如果是从老版本升级,也是建议大家查看 下载中心 或者 categraf releases 页面,每个版本改动了什么,升级时注意什么,都会在这里写清楚。
部署
在目标机器部署,只需要 categraf 二进制、以及 conf 目录,conf 下有一个主配置文件:config.toml,定义机器名、全局采集频率、全局附加标签、remote write backend地址等;另外就是各种采集插件的配置目录,以input.打头,如果某个采集器 xx 不想启用,把 input.xx 改个其他前缀(或者删除这个目录),比如 bak.input.xx,categraf 就会忽略这个采集器。
conf 目录下还提供了 categraf.service 文件样例,便于大家使用 systemd 托管 categraf。如果对 systemd 不熟悉,建议学习一下课程:Linux进阶知识
启停
linux systemd 托管 (推荐)
v0.3.35 版本及以上支持
# 以service方式安装, 相当于添加service文件+systemctl daemon-reload
sudo ./categraf --install
# 以service方式卸载, 相当于systemctl stop categraf + 删除service文件
sudo ./categraf --remove
# 以service方式启动categraf ,相当于systemctl start categraf
# 如果之前有nohup启动的categraf进程,需要先人工停掉原来的categraf进程
sudo ./categraf --start
# 以service方式停止categraf,相当于systemctl stop categraf
sudo ./categraf --stop
# 以service方式查看categraf,相当于systemctl status categraf
sudo ./categraf --status
v0.3.35 版本以下
sudo cp categraf.service /etc/systemd/system/
sudo systemctl daemon-reload
# 以服务方式启动
systemctl start categraf
# 停止服务
systemctl stop categraf
windows 服务方式启动
v0.3.35版本及以上支持
# windows 安装服务
categraf.exe --install
# 启动服务
categraf.exe --start
# 停止服务
categraf.exe --stop
# 查看服务状态
categraf.exe --status
# windows 卸载服务
categraf.exe --remove
v0.3.35版本以下
# windows 安装服务
categraf.exe --win-service-install
# 启动服务
categraf.exe --win-service-start
# 停止服务
categraf.exe --win-service-stop
windows 后台方式启动
# 后台启动
win_run.bat start
# 停止后台进程
win_run.bat stop
注:以服务方式启动或者后台方式启动二选一(如果有session限制,需要以后台方式启动)
测试
我们经常会需要测试某个采集器的行为,临时看一下这个采集器输出哪些监控指标,比如配置好了 conf/input.mysql/mysql.toml
想要看看采集了哪些 mysql 指标,可以执行命令:./categraf --test --inputs mysql
如果要一次性测试、查看多个插件的输出,可以执行命令:./categraf --test --inputs mysql:cpu:mem
, 注意使用冒号来分割多个插件。
这个命令会去连接你配置的 mysql 实例,执行SQL收集输出,将输出的内容做格式转换,最终打印到 stdout,如果我们在 stdout 正常看到了 mysql 相关监控指标,则说明一切正常,否则就是哪里出了问题,大概率是 conf/input.mysql/mysql.toml
配置的有问题。
重启
如果修改了某个采集器的配置,需要重启 categraf 或者给 categraf 进程发送HUP信号,发送HUP信号的命令,如下:
kill -HUP `pidof categraf`
注:windows下不支持发送HUP信号,需要重启categraf。
另外,categraf 支持哪些命令行参数,可以通过 ./categraf --help
查看
自升级
linux下v0.3.36版本及以上支持通过 --update --update_url
升级文件来进行升级 ,例如
./categraf --update --update_url https://download.flashcat.cloud/categraf-v0.3.36-linux-amd64.tar.gz
自升级的前提就是: 已经通过 --install
安装了服务,如果没有安装服务,需要先安装服务,然后再执行自升级命令。
categraf --install
v0.3.36 及以上版本,会自动做以下3件事情
- 创建一个categraf.service文件
- 把categraf所在目录指定为WorkingDirectory
- 指定
-configs categraf所在目录下的conf
作为启动参数
非systemd托管方式启动自升级
如果你之前使用nohup方式/supervisord方式启动categraf,想升级到v0.3.36及以上版本,
- 需要先停止之前启动的categraf进程
- 用新版本替换原有的categraf版本,保持categraf和conf目录放在同一个父目录下
- 执行
sudo ./categraf --install
安装服务 - 执行
sudo ./categraf --start
或者sudo systemctl start categraf
启动服务
systemd托管方式启动自升级
如果你的unit文件恰好也叫 categraf.service
- 需要先停止之前启动的categraf进程
- 用新版本替换原有的categraf版本,保持categraf和conf目录放在同一个父目录下
- 执行
sudo ./categraf --remove
删除旧service - 执行
sudo ./categraf --install
创建新的service - 执行
sudo ./categraf --start
或者systemctl start categraf
启动服务
如果你的unit文件不叫 categraf.service
- 需要先停止之前启动的categraf进程
- 用新版本替换原有的categraf版本,保持categraf和conf目录放在同一个父目录下
- 执行
sudo ./categraf --install
创建新的service - 执行
sudo ./categraf --start
或者systemctl start categraf
启动服务
无论是上面哪种方式, 后续升级categraf只需执行sudo ./categraf --update --update_url=https://download.flashcat.cloud/categraf-v0.3.37-linux-amd64.tar.gz
升级到v0.3.37版本