zabbix历史版本中,会使用python脚本,把zabbix的告警发送到kafka进行二次处理,或者使用filebeat把zabbix的Export的njson指标数据发送到kafka进行二次处理,然而在zabbix7中新增了新功能connector简化了操作并且可以根据tag进行区分。
文章目录
一、connector是什么?
二、编译安装kafka-connector
1.下载并解压
2.编译
3. 配置
4. 启动
5. zabbix配置
6.效果
编辑
总结
一、connector是什么?
connector可以通过HTTP将监控项值和事件从Zabbix流式传输到外部系统,可以通过标签筛选流式传输监控项值或事件。
二、编译安装kafka-connector
1.下载并解压
wget https://git.zabbix.com/rest/api/latest/projects/ZT/repos/kafka-connector/archive?format=zip
mkdir test
mv 'archive?format=zip' test/kafka-connector.zip
unzip kafka-connector.zip
2.编译
编译前准备,需要安装go和make命令,go版本 1.20 或更高版本,仅在编译时需要
yum install make go -y
配置go加速
go env -w GO111MODULE=on
go env -w GOPROXY=https://goproxy.cn,direct
编译
make build
3. 配置
配置文件,在wget获取源码解压的时候已经存在当前目录中了,很简单的修改一下
# Connector监听端口
Connector.Port=8080
# 哪些ip可以连接Connector
Connector.AllowedIP=127.0.0.1,::1
# kafka地址
Kafka.URL=127.0.0.1
# kafka端口
Kafka.Port=9092
# 输出事件到kakfa的topic名称
Kafka.Events=events
# 输出监控值到kakfa的topic名称
Kafka.Items=items
4. 启动
./kafka-connector -c ./kafka_connector.conf
5. zabbix配置
登录zabbix,点击管理-常规-连接器
点击新建连接器,这里url需要注意,/api/v1/events是事件的接口,/api/v1/items是监控项值的接口。另外标签过滤器也可以不添加,则所有的监控项采集到数据后都会最后写到kafka中,这里为了防止数据过多,添加了一个标签。
6.效果
总结
这个功能大大减少了我之前日常使用的配置,也可以少维护一套filebeat+python,直接维护kafka-connector即可。