logstash kafka 同步日志

在这里插入图片描述

前言

微服务情况下,通常会有一台日志服务器,专门存放日志,我们在查看日志的时候,通过指定的目录加上项目名称为路径,就可以找到我们想找的目录。

环境

步骤

安装及配置logstash

  1. 从官网上下载logstashhttps://artifacts.elastic.co/downloads/logstash/logstash-7.5.2.tar.gz
  2. 解压,使用 tar -xzvf [file]文件解压
  3. 创建logstash的配置文件目录
mkdir -p /etc/logstash/
cd /etc/logstash
mkdir conf.d
touch logstash.yml
cd conf.d
touch kafka.yml

在这里插入图片描述 配置logstash.yml文件

path.config: /usr/share/logstash/conf.d/*.conf
path.logs: /var/log/logstash

配置kafka.yml文件

input {
    
    
  kafka {
    
    
      bootstrap_servers => "192.168.56.124:9092"
      topics_pattern => ".*"
      group_id => "logstash2_servivce"
      consumer_threads => 10
      auto_offset_reset => "earliest"
      decorate_events => "true"
  }
}


filter {
    
    
  mutate {
    
    
    remove_field => ["@version", "@timestamp"]
  }

}

output {
    
    
    file {
    
    
	  path => "/data/log/kafka/%{[@metadata][kafka][topic]}/%{[@metadata][kafka][topic]}.log"
      codec => line {
    
     format => "%{message}"}
	}
}
  1. 启动logstash
/root/elk-a/logstash-7.5.2/bin/logstash --path.settings /etc/logstash/ -f /etc/logstash/conf.d/

在这里插入图片描述

安装kafka

  1. 这是使用docker-compose.yml部署,这里只需要替换下ip即可。
version: '2'
services:
  zookeeper:
    image: wurstmeister/zookeeper   ## 镜像
    ports:
      - "2181:2181"                 ## 对外暴露的端口号
  kafka:
    image: wurstmeister/kafka       ## 镜像
    volumes:
      - /etc/localtime:/etc/localtime ## 挂载位置(kafka镜像和宿主机器之间时间保持一直)
    ports:
      - "9092:9092"
    environment:
      KAFKA_ADVERTISED_HOST_NAME: 192.168.56.124   ## 修改:宿主机IP
      KAFKA_ZOOKEEPER_CONNECT: 192.168.56.124:2181       ## 卡夫卡运行是基于zookeeper的
      KAFKA_ADVERTISED_LISTENERS: PLAINTEXT://192.168.56.124:9092
  kafka-manager:
    image: sheepkiller/kafka-manager                ## 镜像:开源的web管理kafka集群的界面
    environment:
      ZK_HOSTS: 192.168.56.124                    ## 修改:宿主机IP
    ports:
      - "9000:9000"
  1. 启动
docker-compose up -d

在这里插入图片描述

搭建java服务

这里可以直接查看源码, demo项目

测试

  1. 可以看到已经生成日志文件
    在这里插入图片描述
  2. 访问http://localhost:8080/hello?name=aa

在这里插入图片描述
3. 查看生成的日志文件,日志生成成功。

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/qq_37362891/article/details/114074768