广州证券信息中心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
参数说明
以换行符分隔的JSON格式实时导出事件, 历史数据和趋势数据到这个目录。如果设置,则启用实时导出数据到这个目录。
每个导出文件的最大限制,单位为字节。仅当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用于数据计算分析等等。