elk+filebeat+kafka集群部署

EFK实验架构图:

实现高并发,无需指定logstash

bash 复制代码
3台es+file,3台kafka
20.0.0.10 es+file
20.0.0.20 es+file
20.0.0.30 es+file
20.0.0.11 kafka
20.0.0.12 kafka
20.0.0.13 kafka

在es1主机上解压filebeat
cd filebeat
安装nginx服务
vim /usr/local/nginx/html/index.html
this is nginx
到浏览器测试一下页面访问
cp filebeat.yml filebeat.yml.bak
#做一个备份
vim filebeat.yml
- type: log
  enabled: true
  paths:
    - /usr/local/nginx/logs/access.log
    - /usr/local/nginx/logs/error.log
  tags: ["nginx"]
  fields:
    service_name: 20.0.0.10_nginx
    log_type: nginx
    from: 20.0.0.10

output.kafka:
  enabled: true
  hosts: ["20.0.0.11:9092","20.0.0.12:9092","20.0.0.13:9092"]
  topic: "nginx"
  
nohup ./filebeat -e -c filebeat.yml > filebeat.out &
#运行filebeat.yml
tail -f filebeat.out
#查看日志
在es1主机上配置logstash
cd /opt/log
vim kafka.conf
input {
  kafka {
    bootstrap_servers => "20.0.0.11:9092,20.0.0.12:9092,20.0.0.13:9092"
    topics => "nginx"
    type => "nginx_kafka"
    codec => "json"
    #解析json格式的代码
    auto_offset_reset => "earliest"
    #从头拉取,latest
    decorate_events => true
    #传递给es实例中的信息包含kafka的属性数据
    }
  }
output {
  if "nginx" in [tags] {
   elasticsearch {
     hosts => ["20.0.0.20:9200","20.0.0.30:9200"]
     index => "%{[fields][service_name]}-%{+YYYY.MM.dd}"
   }
  }
}
配置完成

使用logstash拉起kafka.conf
logstash -f kafka.conf --path.data /opt/nginx1
启动后到web页面查看是否生成节点文件
生成节点文件后到kibana页面创建索引
访问nginx的页面后到kibana页面查看数据是否同步

时间同步成功,实验完成。

elk和kafka如何配置可以去我的首页搜索即可

相关推荐
qq_2975746711 小时前
第十四篇:RabbitMQ监控与日志分析——快速排查线上问题
分布式·rabbitmq·ruby
小的~~12 小时前
CentOS7安装CDH6.3.2
hive·hdfs·kafka
2401_8401922714 小时前
k8s的crd、operator、cr分别是什么?
运维·分布式·kubernetes·prometheus
covco15 小时前
星链引擎矩阵系统:分布式任务调度与万级账号批量作业自动化技术实践
分布式·矩阵·自动化·批量作业
Little Tomato18 小时前
深入浅出高并发:从 JVM 锁竞争到分布式事务的性能博弈
jvm·分布式
zshs00018 小时前
从 Raft 到 MySQL:我是怎么推导出半同步复制原理的
数据库·分布式·mysql
凯瑟琳.奥古斯特18 小时前
页面置换算法详解与对比
开发语言·分布式·职场和发展
KANGBboy19 小时前
hadoop冷热数据分离
大数据·hadoop·分布式
skilllite作者19 小时前
Evotown——开启本地化、可验证的AI智能体进化新时代
人工智能·分布式·安全·搜索引擎·agentskills
敏君宝爸20 小时前
RabbitMQ多线程消费与死信队列方案
分布式·rabbitmq