热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

从零构建ELK日志分析平台:Logstash7.9安装&解析kafka日志到控制台

1.准备1.1镜像准备下

1. 准备

1.1 镜像准备

  • 下载kibana镜像

    docker pull logstash:7.9.1

    此镜像比较大,如果下载速度过慢,可以配置阿里云docker镜像加速

  • 查看下载的logstash镜像

    docker images |grep logstash

    在这里插入图片描述

2. logstash安装

  • 2.1 创建目录

    目录用途
    /root/docker-compose/logstash存放logstash的docker-compose.yml文件
    /root/docker-compose/logstash/config存放logstash配置文件
    /root/docker-compose/logstash/pipeline存放管道配置文件

    [root@localhost docker-compose]# mkdir -vp /root/docker-compose/logstash/{config,pipeline}
    mkdir: 已创建目录 "/root/docker-compose/logstash"
    mkdir: 已创建目录 "/root/docker-compose/logstash/config"
    mkdir: 已创建目录 "/root/docker-compose/logstash/pipeline"

  • 2.2 创建文件

    文件用途
    /root/docker-compose/logstash/docker-compose.ymllogstash容器编排文件
    /root/docker-compose/logstash/config/pipelines.yml配置一个logstash支持多管道
    /root/docker-compose/logstash/pipeline/log-kafka-dev.conf开发环境管道,处理kafka中log_kafka_dev主题中的消息
    • 2.2.1 docker-compose.yml文件内容

      vim /root/docker-compose/logstash/docker-compose.yml


      version: '2.2'
      services:
      logstash:
      container_name: logstash
      image: logstash:7.9.1
      restart: always
      environment:
      NODE_NAME: ls01
      # 配置文件自动重新加载
      CONFIG_RELOAD_AUTOMATIC: "true"
      # 开启监控
      XPACK_MONITORING_ENABLED: "true"
      XPACK_MONITORING_ELASTICSEARCH_HOSTS: "http://192.168.1.14:9200"
      volumes:
      - ./config/pipelines.yml:/usr/share/logstash/config/pipelines.yml
      - ./pipeline:/usr/share/logstash/pipeline

    • pipelines.yml文件内容

      vim /root/docker-compose/logstash/config/pipelines.yml


      - pipeline.id: log-kafka-dev
      queue.type: memory
      path.config: "/usr/share/logstash/pipeline/log-kafka-dev.conf"
      pipeline.workers: 1
      pipeline.batch.size: 1000
      # - pipeline.id: log-kafka-test
      # queue.type: persisted
      # path.config: "/usr/share/logstash/pipeline/log-kafka-test.conf"
      # pipeline.workers: 2
      # pipeline.batch.size: 3000
      # - pipeline.id: log-kafka-prod
      # queue.type: persisted
      # path.config: "/usr/share/logstash/pipeline/log-kafka-prod.conf"
      # pipeline.workers: 8
      # pipeline.batch.size: 3000

    • log-kafka-dev.conf文件内容

      vim /root/docker-compose/logstash/pipeline/log-kafka-dev.conf


      input{
      kafka{
      bootstrap_servers => "192.168.1.14:9092" #kafka地址
      auto_offset_reset => "earliest" #消息读取位置
      topics => ["log_kafka_dev"] #kafka中topic名称,记得创建该topic
      group_id => "logstash-7.9.1" #默认为“logstash”
      codec => "json" #与Shipper端output配置项一致
      consumer_threads => 3 #消费的线程数
      max_poll_records => "2000"
      decorate_events => true #在输出消息的时候回输出自身的信息,包括:消费消息的大小、topic来源以及consumer的group信息。
      }
      }
      filter {
      #添加字段,kafka分区,偏移,时间戳
      mutate{
      add_field =>{
      kafkaPartition => "%{[@metadata][kafka][partition]}"
      kafkaOffset => "%{[@metadata][kafka][offset]}"
      kafkaTime => "%{[@metadata][kafka][timestamp]}"
      }
      }
      # 将分区,偏移改为数值型(此处integer包含java中long类型)
      mutate{
      convert => ["kafkaPartition", "integer"]
      convert => ["kafkaOffset", "integer"]
      }
      }
      output {
      # 将日志输出到控制台
      stdout { codec => rubydebug }
      }

  • 2.3 启动logstash

# 进入docker-compose.yml文件所在目录
[root@localhost ~]# cd /root/docker-compose/logstash
# 启动logstash
[root@localhost logstash]# docker-compose up -d
Creating network "logstash_default" with the default driver
Creating logstash ... done
# 通过docker ps查看启动情况
[root@localhost logstash]# docker ps |grep logstash
ddce8cdc35aa logstash:7.9.1 "/usr/local/bin/do..." 32 seconds ago Up 30 seconds 5044/tcp, 9600/tcp logstash

3. logstash日志解析

3.1 启动logback-kafka-springboot项目

logback-kafka-springboot项目介绍
运行LogbackKafkaSpringbootApplication类的main方法,将项目启动,用来模拟日志写入kafka的log_kafka_dev主题.
在这里插入图片描述

3.2 通过日志查看日志解析

docker logs -f logstash

在这里插入图片描述
在浏览器中输入http://localhost:8080/log/1进行新日志生成,查看解析情况

在这里插入图片描述
从上图可见,我们生成日志后,会秒级响应到控制台上.


推荐阅读
  • ElasticSearch成功安装完毕。 测试数据添加出现{  error:{    root_cause ... [详细]
  • 本文介绍了在Linux下安装和配置Kafka的方法,包括安装JDK、下载和解压Kafka、配置Kafka的参数,以及配置Kafka的日志目录、服务器IP和日志存放路径等。同时还提供了单机配置部署的方法和zookeeper地址和端口的配置。通过实操成功的案例,帮助读者快速完成Kafka的安装和配置。 ... [详细]
  • mac php错误日志配置方法及错误级别修改
    本文介绍了在mac环境下配置php错误日志的方法,包括修改php.ini文件和httpd.conf文件的操作步骤。同时还介绍了如何修改错误级别,以及相应的错误级别参考链接。 ... [详细]
  • 使用Docker安装和运行Nexus
    本文介绍了使用Docker安装和运行Nexus的方法,包括docker-compose.yml配置和启动时可能出现的权限问题解决方法。同时提供了登录控制台验证安装的地址和登录信息。 ... [详细]
  • Windows简单部署Exceptionless
    部署准备Elasticsearch、Exceptionless.API、Exceptionless.UI、URLRewrite、.NET运行时 1、安装ElasticSearch1 ... [详细]
  • 2019我的金三银四
    先讲一下自己的情况吧,二本学生,17年毕业,目前在一家跨境电商从事Java技术开发工作(不是阿里,没那么厉害),技术栈目前偏向于容器云、持续集成持续交付这一块,也就是SpringBoot、Kuber ... [详细]
  • druid接入kafka indexing service整个流程
    先介绍下我们的druid集群配置Overload1台Coordinator1台Middlemanager3台Broker3台Historical一共12台,其中cold6台,hot ... [详细]
  • 你知道Kafka和Redis的各自优缺点吗?一文带你优化选择,不走弯路 ... [详细]
  • kafka教程基本概念
    kafka教程基本概念 ... [详细]
  • 我这几年踩过的十个坑,每一条都是血泪教训
    “阅读本文大概需要3分钟。”一、不记录程序部署在哪里“我:他妈的,这个程序明明一直在正确产生日志,可它到底运行在哪里?怎么我 ... [详细]
  • 本文介绍了Oracle数据库中tnsnames.ora文件的作用和配置方法。tnsnames.ora文件在数据库启动过程中会被读取,用于解析LOCAL_LISTENER,并且与侦听无关。文章还提供了配置LOCAL_LISTENER和1522端口的示例,并展示了listener.ora文件的内容。 ... [详细]
  • 本文介绍了操作系统的定义和功能,包括操作系统的本质、用户界面以及系统调用的分类。同时还介绍了进程和线程的区别,包括进程和线程的定义和作用。 ... [详细]
  • Centos7搭建ELK(Elasticsearch、Logstash、Kibana)教程及注意事项
    本文介绍了在Centos7上搭建ELK(Elasticsearch、Logstash、Kibana)的详细步骤,包括下载安装包、安装Elasticsearch、创建用户、修改配置文件等。同时提供了使用华为镜像站下载安装包的方法,并强调了保证版本一致的重要性。 ... [详细]
  • 本文介绍了使用postman操作ElasticSearch的步骤,包括下载安装postman、发送http请求给ElasticSearch、添加索引等操作。详细介绍了postman的安装和配置,以及如何使用postman发送http请求给ElasticSearch,并添加索引。通过本文的指导,读者可以快速上手使用postman操作ElasticSearch。 ... [详细]
  • ElasticSerach初探第一篇认识ES+环境搭建+简单MySQL数据同步+SpringBoot整合ES
    一、认识ElasticSearch是一个基于Lucene的开源搜索引擎,通过简单的RESTfulAPI来隐藏Lucene的复杂性。全文搜索,分析系统&# ... [详细]
author-avatar
restVerify
这个人,怎么说呢,有上进,有头脑
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有