专栏首页InvQ的专栏window下通过ELK框架进行大型日志线下的可视化分析

window下通过ELK框架进行大型日志线下的可视化分析

window下通过ELK框架进行大型日志线下的可视化分析

###1.ELK简介

  • E 就是Elasticsearch,分布式的、Restful风格的搜索和分析的搜索服务器
  • L 就是Logstash,吸收、转化、丰富、最后输出的完全开源的工具
  • K 就是Kibana,让分析结果数据可视化的框架前端开源展示工具

###2.工作流程 这里我们还采用了一个与logstash配合的小插件,filebeat,可通过连接点过去了解下,可以动态监测日志文件的变化。 所以整个过程是

  • 1.filebeat 对日志文件监测,然后作为日志源
  • 2.整合filebeat和logstash,logstash中有一个过滤器,将日志源进行过滤,将过滤结果输送给elastsearch服务器进行文
  • 3.整合kibana,通过前端配置筛选、然后在elasticsearch中进行搜索并返回结果给前端。

###3.关键配置及整合配置文件

  • 1.filebeat的日志源配置filebeat.yml
#=========================== Filebeat prospectors =============================

filebeat.prospectors:

# Each - is a prospector. Most options can be set at the prospector level, so
# you can use different prospectors for various configurations.
# Below are the prospector specific configurations.

- type: log

  # Change to true to enable this prospector configuration.
  enabled: true

  # Paths that should be crawled and fetched. Glob based paths.
  paths:
    #- /var/log/*.log
    - D:\ELK\sampleLog\*.log

filebeat.config.modules:
  # Glob pattern for configuration loading
  path: ${path.config}/modules.d/*.yml

  # Set to true to enable config reloading
  reload.enabled: true

  # Period on which files under path should be checked for changes
  #reload.period: 10s

#==================== Elasticsearch template setting ==========================

setup.template.settings:
  index.number_of_shards: 3
  #index.codec: best_compression
  #_source.enabled: false

#----------------------------- Logstash output --------------------------------
output.logstash:
  # The Logstash hosts
  hosts: ["localhost:5044"]
  • 2.logstash中的过滤器配置
input {
    beats {
        port => "5044"
    }
}
filter {
        grok {
                match => { 
                "message" => "%{COMBINEDAPACHELOG}"
                 "message1" => "(?<remoteUer>=[A-Z]+[0-9]+)
        (?<request>Begin\sRequest\[(\/[a-zA-Z]*)+\.do)
        (?<time>[0-9]+\/[0-9]+ [0-9]+:[0-9]+:[0-9]+)" }
    }
}
output {
        elasticsearch { 
            hosts => "localhost:9200"     
            index => "aa-%{+YYYY.MM.dd}" 
            document_type => "wjb_log" 
        }
}
  • 3.elasticsearch中elasticsearch.yml配置
cluster.name: elasticsearch
node.name: "lcc_node"
node.master: true
# 指定该节点是否存储索引数据,默认为true。
node.data: true
network.host: 127.0.0.1
http.port: 9200

http.cors.enabled: true
http.cors.allow-origin: "*"

# 单个命令来删除所有数据可能会导致可怕的后果。这个设置使删除只限于特定名称指向的数据, 而不允许通过指定 _all 或通配符来删除指定索引库。
action.destructive_requires_name: true
  • 3.依次启动服务 先启动elasticsearch,再启动logstash,再启动fileBeat,然后再次看logstash的日志输出,会发现filebeat的输入监听以及对elasticsearch的服务状态监测 通过在浏览器中输入如下路径观察elasticsearch服务,看到经典的 you know ,for search 说明启动成功 在浏览器中输入:http://localhost:5601/app/kibana 打开elasticsearch 页面

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Spring之IOC篇章详解

    a.结构设计中,分清层次以及调用关系,每层只向外(或者上层)提供一组功能接口,各层间仅依赖接口而非实现类这样做的好处是,接口实现的变动不影响各层间的调用,这一点...

    MickyInvQ
  • 线上工程启动日志不滚动了——通过查看堆栈信息排查的过程(ES批量插入)

    线上工程启动日志,跑着跑着突然不动了,也没报错,看起来一切正常 日志中的循环有4次,但是只执行了几次就停止了,根据日志来看,执行到第3次循环的时候,就没有日志...

    MickyInvQ
  • springBoot 入门(六)—— 整合Spring框架开启自带的任务调度器执行任务(注解方式)

    MickyInvQ
  • ELK 集群,腾讯云上的日志监控不用愁

    公司项目,越来越多的系统在计划上云。如何监控云上的系统运行,是每个系统上云的过程中都会碰到的一个问题。在这里,我们以公司的某个项目为例,向大家详细阐述该项目上云...

    Fortress
  • 游戏优化系列三:Unity游戏的黑屏问题解决方法

    大家好,我叫Jack冯; 本人20年硕士毕业于广东工业大学,于2020年6月加入37手游安卓团队;目前主要负责海外游戏发行安卓相关开发。

    37手游安卓团队
  • 什么鬼 ?你刚撤回了个啥 ?(附赠书结果)

    本节分享文章 ,微信撤回的消息如何通过python程序找回来 ?下方是我录制的一个GIF动图 ,发送了五条消息 ,并且撤回 ,撤回的消息我转发到文件传输助手 ,...

    小小詹同学
  • window 版本的安装

    1 先解压 elasticsearch-7.3.0-windows-x86_64 安装包

    用户5927264
  • K8s核心概念入门

    新的一年还是要学习一些新技术的,先从k8s开始吧。 作为一个想成为“微服务技术专家”,除了上层类spring cloud的解决方案,服务治理方案之外,k8s作为...

    春哥大魔王
  • 流处理与消息队列------《Designing Data-Intensive Applications》读书笔记16

    在流处理之中,当输入是文件时,第一个处理步骤通常是将其解析为一连串的记录。在流处理之中,记录通常被称为事件,每个事件都是一个小的、独立的、不可变的对象,通常每个...

    HappenLee
  • 命令行执行 ModuleNotFoundError: No module named '...'

    在一个项目中如果我们使用类似pycharm这样的软件来写项目,项目中有些文件需要单独执行的时候,我们通常会使用软件自带的执行按钮来运行python脚本,但是有时...

    于小勇

扫码关注云+社区

领取腾讯云代金券