ELK日志采集和查询方法

编程入门 行业动态 更新时间:2024-10-07 02:28:04

ELK日志采集和查询<a href=https://www.elefans.com/category/jswz/34/1771314.html style=方法"/>

ELK日志采集和查询方法

我是个目录

  • 回顾
  • logstash日志采集
    • codec插件
    • grok插件
    • 完整的配置文件
  • kibana操作
  • 总结

回顾

前两篇文章简单的介绍了JAVA通过代码如何使用MDC进行日志打印,去查看log4j MDC用户操作日志追踪配置,以及ELK平台的搭建,去查看log4j MDC用户操作日志追踪配置。接下来将结合实际案例,简单介绍生产服务器的日志如何被logstash进行采集,并统一汇总,使得我们能够快速、方便、高效的查询日志,并且可以方便定位到该条日志是哪台服务器产生的,再也不用盲目的翻遍所有的生产服务器,只为找到出问题的那一台机器。

logstash日志采集

因为我们打印的日志各种各样,为了使我们能够方便的通过kibana进行检索,我们需要在logstash配置对应的搜集规则,如果你啥也不做,只是简单的搜集,可能会出现一些意想不到的错误。

  1. 日志收集是按行来收集的,当你的日志发生了换行,这时候换行的那几行就被认为是独立的一行,这样采集到的日志可读性很差
  2. 如果你使用了MDC,配置了log4j的日志格式输出,不配规则的话一整行都会被采集到message字段,此时你要根据某个字段快速搜索的话基本也是不可能的事情了

基于以上可能出现的“错误”,我们需要针对当前项目的日志配置文件制定一套属于自己的收集规则。
其实logstash的配置文件很简单,基本就以下的套路,日志源从哪里来(input输入插件),通过什么样的规则(filter过滤插件),最终将日志输出到什么地方(output输出插件)

# 输入
input {...
}# 过滤器
filter {...
}# 输出
output {...
}

因为我们这里介绍的是项目日志的采集,所以input当然是从file文件中来,配置如下:

input {file {type => "wechat-log"path => ["/usr/local/tomcat/logs/wechat/*.log"]codec => multiline{pattern => "^\[%{TIMESTAMP_ISO8601}\]"what => "previous"negate => true}start_position => "beginning"}
}

其中path是日志采集的地方,从日志文件的第一行开始采集,定义一个type(一般最后它就是kibana的索引)。

codec插件

这里codec的出场能够解决诸如我们前面提到的日志换行的问题。在logstash读入的时候,通过codec编码解析日志为相应格式,从logs

更多推荐

ELK日志采集和查询方法

本文发布于:2024-02-27 18:33:45,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1765317.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:方法   日志   ELK

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!