Filebeat安装使用
下载
下载地址,这里我们使用7.4.2版本。
配置控制台输出
FileBeat就是一个采集工具,使用起来很简单,只需要指定input和output,也就是指定输入和输出即可,在这里我们简单使用一下
修改配置文件filebeat.yml
在配置文件中指定输入是键盘输入(标准输入),输出是控制台,也就是接收键盘输入,将接收到的内容打印到控制台
......
- type: stdin
.......
#output.elasticsearch:
#hosts: ["localhost:9200"]
......
output.console:
pretty: true
注意:
- 冒号右边的空格不能少:
- 缩进不能使用制表符,直接使用空格,官方建议使用4个空格,使用2个空格也没问题
启动filebeat
./filebeat -c filebeat.yml
验证
在命令行中输入hello,结果如下
{
"@timestamp": "2023-05-08T09:20:24.508Z",
"@metadata": {
"beat": "filebeat",
"type": "_doc",
"version": "7.4.2"
},
"log": {
"offset": 0,
"file": {
"path": ""
}
},
"message": "hello",
"input": {
"type": "stdin"
},
"ecs": {
"version": "1.1.0"
},
"host": {
"os": {
"version": "7 (Core)",
"family": "redhat",
"name": "CentOS Linux",
"kernel": "3.10.0-1160.83.1.el7.x86_64",
"codename": "Core",
"platform": "centos"
},
"name": "bigdata01",
"id": "a3a39080a3bc477a83bd8e102fa402d7",
"containerized": false,
"hostname": "bigdata01",
"architecture": "x86_64"
},
"agent": {
"hostname": "bigdata01",
"id": "3f0c084e-40be-416e-b3ce-dba3d1e860a6",
"version": "7.4.2",
"type": "filebeat",
"ephemeral_id": "aefde128-5137-46f2-b6be-c8070e670e7f"
},
"cloud": {
"instance": {
"id": "a3a39080-a3bc-477a-83bd-8e102fa402d7",
"name": "instance-bbk6ipuw"
},
"machine": {
"type": "2-8192-40-0"
},
"availability_zone": "nova",
"provider": "openstack"
}
}
停止filebeat
按ctrl+c停止filebeat。
配置采集日志文件的filebeat
接下来我们需要继续修改配置文件,因为我们是希望filebeta可以采集日志文件中的数据,将数据采集到Kafka中
删除我们刚才在filebeat.yml中添加的输入组件和输出组件的配置。
配置基于log的输入组件
开启基于log的输入组件,设置监控的日志文件路径,这样输入组件就配置好了。
[root@bigdata04 filebeat-7.4.2-linux-x86_64]# vi filebeat.yml
- type: log
# Change to true to enable this input configuration.
enabled: true
# Paths that should be crawled and fetched. Glob based paths.
paths:
- /data/log/*.log
配置kafka输出组件
然后是输出组件,添加kafka这个输出组件的配置。
注意,如果你只有一个服务器,把多余的hosts配置删了。
output.kafka:
# initial brokers for reading cluster metadata
hosts: ["bigdata01:9092"]
# message topic selection + partitioning
topic: 'all_type_data'
partition.round_robin:
reachable_only: false
required_acks: 1
compression: gzip
max_message_bytes: 1000000
这样就可以实现日志全部采集到kafka中的all_type_data
这个topic中了。