ELK+KAFKA

ELK+KAFKA

数据流向

在这里nginx是生产者 logstash是消费者

filebeat就是小型的收集日志工具

1、通过nginx安装filebeat

1.1、修改filebeat的配置文件 filebeat.yml添加源码 安装的收集日志的路径和错误日志的路径

bash 复制代码
/usr/local/nginx/logs/access.log
/usr/local/nginx/logs/error.log

1.2、添加启动kafka输出并指向kafka的集群

2、在logstash设置脚本用于监控kafka集群

2.1在将kafka集群收集到的日志文件转发到logstash的两个实例当中 然后通过kabana页面展示

步骤

先查看页面是否可以正常访问

重启一下logstash

查看 KAFKA 9092 端口

nginx安装 filebeat

修改配置文件

这是二进制源码包安装的路径

注释

指向KAFKA集群

回到logstash

创建一个脚本 指向KAFKA集群 KAFKA

topics

指向两台实例手机的机器

第二个为error

bash 复制代码
input {
    kafka {
        bootstrap_servers => "20.0.0.40:9092,20.0.0.41:9092,20.0.0.42:9092"
                #kafka集群地址
        topics  => "nginx"
                #拉取的kafka的指定topic
        type => "nginx_kafka"
                #指定 type 字段
        codec => "json"
                #解析json格式的日志数据
                auto_offset_reset => "latest"
                #拉取最近数据,earliest为从头开始拉取
                decorate_events => true
                #传递给elasticsearch的数据额外增加kafka的属性数据
    }
}
output {
  if "access" in [tags] {
    elasticsearch {
      hosts => ["20.0.0.13:9200","20.0.0.14:9200"]
      index => "nginx_access-%{+YYYY.MM.dd}"
    }
  }

  if "error" in [tags] {
    elasticsearch {
      hosts => ["20.0.0.13:9200","20.0.0.14:9200"]
      index => "nginx_error-%{+YYYY.MM.dd}"
    }
  }

}

在后台启动 Logstash,并使用 kafka.conf 作为配置文件,同时设置了一个特定的路径来处理日期相关的文件或数据

bash 复制代码
logstash -f kafka.conf --path.date /opt/test10 &
bash 复制代码
./filebeat -e -c filebeat.yml

页面访问nginx 返回刷新即可看到

相关推荐
koping_wu7 小时前
【RabbitMQ】架构原理、消息丢失、重复消费、顺序消费、事务消息
分布式·架构·rabbitmq
吹晚风吧8 小时前
从0开始了解kafka《第二篇 kafka的安装、管理和配置》
kafka·kafka配置
Jabes.yang8 小时前
Java面试场景:从Spring Web到Kafka的音视频应用挑战
大数据·spring boot·kafka·spring security·java面试·spring webflux
板凳坐着晒太阳8 小时前
Flink-Kafka 连接器的 Checkpoint 与 Offset 管理机制
flink·kafka·offset·checkpoint
喵桑..8 小时前
kafka源码阅读
分布式·kafka
酷ku的森10 小时前
RabbitMQ的概述
分布式·rabbitmq
程序员小凯12 小时前
Spring MVC 分布式事务与数据一致性教程
分布式·spring·mvc
Yeats_Liao12 小时前
Go语言技术与应用(二):分布式架构设计解析
开发语言·分布式·golang
2301_7683502315 小时前
RabbitMq快速入门程序
分布式·rabbitmq·ruby