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

相关推荐
xiao-xiang8 分钟前
kafka-集群缩容
分布式·kafka
比花花解语11 分钟前
Kafka在Windows系统使用delete命令删除Topic时出现的问题
windows·分布式·kafka
解决方案工程师13 分钟前
【Kafka】Kafka高性能解读
分布式·kafka
yellowatumn16 分钟前
RocketMq\Kafka如何保障消息不丢失?
分布式·kafka·rocketmq
python资深爱好者36 分钟前
什么容错性以及Spark Streaming如何保证容错性
大数据·分布式·spark
HeartRaindj2 小时前
【中间件开发】kafka使用场景与设计原理
分布式·中间件·kafka
明达技术3 小时前
探索分布式 IO 模块网络适配器
分布式
Ray.19983 小时前
优化 Flink 消费 Kafka 数据的速度:实战指南
大数据·flink·kafka
爬山算法4 小时前
Zookeeper(58)如何在Zookeeper中实现分布式锁?
分布式·zookeeper·云原生
明达技术7 小时前
分布式 IO 模块:造纸设备的降本增效利器
分布式