【Z投稿】Zabbix性能数据实时对接kafka

2021-02-03 11:04:30 浏览数 (1)

杨帆

广州证券信息中心Zabbix监控系统建设与大数据日志分析系统管理负责人

Zabbix4.0认证ZCS专家

Zabbix大会优秀讲师

新版本Zabbix server 4.0 支持把性能数据实时输出到文本文件,我们只要结合一些文件采集工具就可以轻松把Zabbix产生的数据和其他平台对接起来。下面介绍一下如何通过filebeat把Zabbix实时的性能数据推送kafka消息队列中。

1. Kafka安装

a.Java环境检查

在开始安装之前检查一下系统的java环境,保证版本还是JDK1.8以上:

b.下载kafka 安装包

wget http://mirror.bit.edu.cn/apache/kafka/2.1.0/kafka_2.12-2.1.0.tgz

c.解压

tar xvf kafka_2.12-2.1.0.tgz

d.配置kafka监听的地址

vim kafka_2.12-2.1.0/config/server.properties

增加以下配置:

listeners=PLAINTEXT://服务器IP:9092

e.启动zookeeper

cd kafka_2.12-2.1.0/bin/

./zookeeper-server-start.sh-daemon ../config/zookeeper.properties

f. 启动kafka

cd kafka_2.12-2.1.0/bin/

./kafka-server-start.sh-daemon ../config/server.properties

g.新建一个Zabbix性能数据专用的topic

./kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic Zabbix

注意:上面介绍安装kafka是单节点的方式,更详细配置请参考kafka官方文档。

点击查看

2.修改Zabbix server配置文件

修改Zabbix server配置文件,开启实时生成文本数据的功能。

vim /etc/Zabbix_server.conf

加入以下配置:

重启Zabbix server

systemctl restart Zabbix_server

A

参数说明

ExportDir

以换行符分隔的JSON格式实时导出事件, 历史数据和趋势数据到这个目录。如果设置,则启用实时导出数据到这个目录。

ExportFileSize

每个导出文件的最大限制,单位为字节。仅当ExportDir参数设置后才使用。

3. 配置filebeat

a.下载 filebeat

wget https://artifacts.elastic.co/downloads/beats/filebeat/filebeat-6.4.2-linux-x86_64.tar.gz

b.解压filebeat

tar xvf filebeat-6.4.2-linux-x86_64.tar.gz

c.编辑filebeat配置文件

vim Zabbix.yml

加入以下配置:

filebeat.prospectors:

- input_type: log

paths:

- /data/*.ndjson

output.kafka:

enabled: true

hosts: ["Kafka的IP:9092"]

topic: 'Zabbix'

d.启动filebeat

./filebeat -c Zabbix.yml

4. 查看kafka的数据

命令行启动一个消费者,看下推送过去的数据。

./kafka_2.12-2.1.0/bin/kafka-console-consumer.sh --bootstrap-server Kafka的IP:9092 --topic Zabbix

可以kafka看到这样的数据:

我们把数据送到kafka之后,就可以在此基础实现很多功能。例如对接流计算工具(storm,spark)对数据进行实时处理,或者通过logstash把数据解析送到elasticsearch集群中获取更高性能查询,或者通过flume把数据送到hadoop用于数据计算分析等等。

0 人点赞