使用logstash,filebeat结合elasticsearch,kafka采集日志

需要在多个服务器上采集日志然后统一到一个地方去查看;

主要流程:每个服务器上都安装一个filebeat,读取各自的服务器上的日志文件存到kafka中,在日志服务器上安装logstash,logstash去kafka中读取数据存到elasticsearch中,最后在kibana上查看。

一,filebeat

1,filebeat安装:
下载地址:https://www.elastic.co/cn/downloads/past-releases#filebeat。

最好下载与elasticsearch版本一致,比如:filebeat-6.8.13-x86_64.rpm,elasticsearch版本也是6.8.13。

yum install filebeat-6.8.13-x86_64.rpm -y

2,filebeat启动与关闭

systemctl start filebeat

systemctl stop filebeat

systemctl status filebeat //查看状态

ps -ef |grep filebeat

3,修改配置文件,将读取的内容存到kafka中,vim /etc/filebeat/filebeat.yml

修改:enabled: true #改为true

paths:
- /opt/test.log #要读取的文件路径
新增:

output.kafka:
hosts: [“10.10.21.175:9092”] #kafka地址
topic: “filebeat-systemlog-7-103” # 与filebeat的配置文件对应Kafka的topic名称

注释:

#-------------------------- Elasticsearch output ------------------------------
#output.elasticsearch: #注释掉此行
#Array of hosts to connect to.
#hosts: [“192.168.7.100:9200”] # 注释掉此行

4,改完记得重启一下

二:logstash

1,logstash安装:

wget https://artifacts.elastic.co/downloads/logstash/logstash-6.8.13.rpm
yum -y localinstall logstash-6.8.13.rpm

注意与elasticsearch版本一致

2,logstash重启

systemctl restart logstash

3,logstash从kafka上面采集日志数据
/etc/logstash/conf.d/目录下创建一个收集kafka配置文件,比如叫kafka-to-es.conf
内容为:

input {
kafka {
topics => “filebeat-systemlog-7-103” # 与filebeat的配置文件对应topic名称
bootstrap_servers => “10.10.21.175:9092” # kafka的地址
codec => “json”
}
}

output {
elasticsearch {
hosts => [“localhost:9200”] #es的地址
index => “kafka-%{+YYYY.MM.dd}” #es的索引名称
#user => “elastic”
#password => “changeme”
}
}

4,改完记得重启

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值