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 返回刷新即可看到

相关推荐
绝知此事几秒前
ELK 从入门到精通:Spring Boot 实战三部曲(一)—— 基础核心与快速上手
spring boot·后端·elk
kuokay12 分钟前
深入理解 LLM 分布式训练全栈:从硬件到 LLaMA-Factory
分布式·llama·deepspeed·fsdp·llama-factory·accelerate
Java 码思客21 分钟前
【Redis分布式缓存实战】第2章 Redis核心数据结构与业务实战场景
redis·分布式·缓存
Rick19931 小时前
Redis 分布式锁 + 部署模式
redis·分布式
phltxy12 小时前
RabbitMQ集群搭——多机多节点与单机多节点
分布式·rabbitmq·ruby
三十..16 小时前
Ceph分布式存储核心技术精要与运维实践指南
运维·分布式·ceph
cfm_291421 小时前
Redis高并发分布式锁了解
redis·分布式
小小编程路1 天前
分布式核心知识
分布式
bukeyiwanshui1 天前
20260528 Ceph 分布式存储 集群配置
分布式·ceph
西安邮电大学1 天前
Kafka保证消息顺序性
java·后端·kafka