Filebeat+Kafka+ELK

架构:

部署:

bash 复制代码
#配置nginx,部署filebeat
systemctl stop firewalld
setenforce 0
systemctl restart nginx

#解压filebeat
tar -xf filebeat-6.7.2-linux-x86_64.tar.gz
mv filebeat-6.7.2-linux-x86_64 filebeat

#日志收集
cd firebeat
vim filebeat.yml

type: log
enabled: true
paths:
  - /usr/local/nginx/logs/access.log
tags: ["access"]

type: log
enabled: true
paths:
  - /usr/local/nginx/logs/error.log
tags: ["error"]

#output.elasticsearch 添加注释
output.kafka: 取消注释
  enabled: true
  hosts: ["192.168.230.21:9092","192.168.230.22:9092","192.168.230.23:9092"]
  topic: "xy102"

#开启filebeat
./filebeat -e -c filebeat.yml

#配置logstash
cd /etc/logstash/conf.d
vim kafka.conf

input {
   kafka {
     bootstrap_servers => "192.168.230.21:9092,192.168.230.22:9092,192.168.230.23:9092"
     topics => "xy102"
     type => "nginx_kafka"
     codec => "json"
     auto_offset_reset => "latest"
     #拉取最新数据,从尾部开始拉,从头开始earliest
     decorate_events => true
     #传递给es数据库时,额外的添加kafka的属性数据
   }
}
output {
   if "access" in [tags] {
    elasticsearch {
       hosts => ["192.168.230.10:9200","192.168.230.20:9200"]
       index => "nginx_access-%{+YYYY.MM.dd}"
      
    }
   }
   if "error" in [tags] {
    elasticsearch {
       hosts => ["192.168.230.10:9200","192.168.230.20:9200"]
       index => "nginx_error-%{+YYYY.MM.dd}"
    }
  }
}

#开启logstash
logstash -f kafka.conf --path.data /opt/test20 &

#浏览器访问192.168.230.30:5601登录kibana,添加索引,查看日志信息
相关推荐
RestCloud1 小时前
如何用ETL做实时风控?从交易日志到告警系统的实现
数据库·数据仓库·kafka·数据安全·etl·数据处理·数据集成
技术破壁人7 小时前
Kafka 的自动提交机制详解:Spring Boot 中如何正确使用?
kafka
树下水月7 小时前
kafka的topic积压的问题汇总
分布式·kafka
妮妮喔妮8 小时前
Kafka的死信队列
分布式·kafka
小坏讲微服务8 小时前
Spring Boot 4.0 整合 Kafka 企业级应用指南
java·spring boot·后端·kafka·linq
❀͜͡傀儡师8 小时前
docker一键部署kafka
docker·容器·kafka
Chasing__Dreams9 小时前
kafka--基础知识点--3.2--消息的磁盘存储文件结构
分布式·kafka
脸大是真的好~9 小时前
Kafka相关面试题
分布式·kafka
怪侠Kevin9 小时前
seata事务集成kafka
数据库·分布式·kafka
技术破壁人9 小时前
如何防止 Kafka 消息在提交过程中丢失?Spring Boot 实战指南
kafka