前言

elk日志系统用法此篇文章不做描述,一般来说elk是elastic、logstash、kibana,但是小编所在公司不是大公司,logstash如果和elastic放在一台服务器中,一般的服务器拖不动,按照之前的经验如果数据量大,内存至少在8g之上,那么就不配置logstash了,elastic内置的解析器能实现一般的业务要求了

具体操作

elastic配置ingest(解析器)

ingest 文档地址
最重要的是其中的Processors
下面是小编的配置

{// 描述"description": "java spring boot common parse","processors": [{// grok 解析器"grok": {// 需要处理的字段名"field": "message",// 解析方式(和logstash一样配置)"patterns": ["%{TIMESTAMP_ISO8601:time}  %{LOGLEVEL:level} %{NUMBER:pid} --- \\[%{MYSELF:thread}\\] %{JAVACLASS:class}  %{MYSELF:message}","%{MYSELF:message}"],"pattern_definitions": {"MYSELF": "[\\s\\S]*"}}}]
}

可以发送请求测试
POST /_ingest/pipeline/_simulate

{"pipeline": {"description": "java spring boot common parse","processors": [{"grok": {"field": "message","patterns": ["%{TIMESTAMP_ISO8601:time}  %{LOGLEVEL:level} %{NUMBER:pid} --- \\[%{MYSELF:thread}\\] %{JAVACLASS:class}  %{MYSELF:message}","%{MYSELF:message}"],"pattern_definitions": {"MYSELF": "[\\s\\S]*"}}}]
},"docs": [{"_source": {"message": "2019-04-25 11:12:31.740  INFO 4013 --- [-8081-exec-1247] c.e.i.framework.aspect.ValidationAspect  : 接受请求并返回 ====> {\"controllerName\":\"com.eco.ipad.controller.MessageController\"}"}}]
}#返回结果如下
{"docs": [{"doc": {"_index": "_index","_type": "_type","_id": "_id","_source": {"level": "INFO","pid": "4013","time": "2019-04-25 11:12:31.740","thread": "-8081-exec-1247","message": ": 接受请求并返回 ====> {\"controllerName\":\"com.eco.ipad.controller.MessageController\"}","class": "c.e.i.framework.aspect.ValidationAspect"},"_ingest": {"timestamp": "2020-03-21T08:01:38.605Z"}}}]
}

测试成功后请求elastic ingest api
PUT /_ingest/pipeline/java_log
其中java_log 是自定义的名字

{// 描述"description": "java spring boot common parse","processors": [{// grok 解析器"grok": {// 需要处理的字段名"field": "message",// 解析方式(和logstash一样配置)"patterns": ["%{TIMESTAMP_ISO8601:time}  %{LOGLEVEL:level} %{NUMBER:pid} --- \\[%{MYSELF:thread}\\] %{JAVACLASS:class}  %{MYSELF:message}","%{MYSELF:message}"],"pattern_definitions": {"MYSELF": "[\\s\\S]*"}}}]
}

配置filebeat

output.elasticsearch:# Array of hosts to connect to.hosts: ["172.17.0.107:9092"]index: "callback-%{[fields.project]}-%{+yyyy.MM.dd}"# 刚刚配置的名字pipeline: java_log

接下来启动测试即可

删除无用字段

实际使用的时候有个事情看不顺眼,就是kibana字段太多了

我还没截完。。。我看着就受不了
这次需要用到process中的remove processor
继续改造

{"description": "java spring boot common parse","processors": [{"grok": {"field": "message","patterns": ["%{TIMESTAMP_ISO8601:time}  %{LOGLEVEL:level} %{NUMBER:pid} --- \\[%{MYSELF:thread}\\] %{JAVACLASS:class}  %{MYSELF:message}","%{MYSELF:message}"],"pattern_definitions": {"MYSELF": "[\\s\\S]*"}},"remove": {"field": ["beat.version","host.architecture","host.containerized","offset","host.id","host.os.family","host.os.codename","host.os.name","host.os.platform","host.os.version","input.type","meta.cloud.region","meta.cloud.provider","meta.cloud.instance_id","meta.cloud.availability_zone"],// 忽略失败"ignore_failure" : true}}]
}

注意
ignore_failure和on_failure 我都试过,相比之下前者稍微好点
测试发现如果设置的删除字段如果实际中不存在,又设置了on_failure结果会导致日志丢失,设置前者的话会按照顺序删除出现异常之后后续哪些需要删除的字段还是存在,但是日志不会丢

elasticsearch+kibana 日志系统配置java日志解析和过滤无用字段相关推荐

  1. ELK收集java日志

    转载来源:ELK收集java日志 https://www.jianshu.com/p/957e8ead3f8d 由于elasticsearch本身产生的日志就是java日志,所以我们可以通过ELK平台 ...

  2. Java中的记录器 - Java日志示例

    Java中的记录器 - Java日志示例 今天我们将研究Java中的Logger.Java Logger提供了java编程的日志记录. 目录[ 隐藏 ] 1 Java中的记录器 1.1 Java Lo ...

  3. 使用Log-Pilot + logstash+Elasticsearch + Kibana 收集 kubernetes 日志

    开发者在面对 Kubernetes 分布式集群下的日志需求时,常常会感到头疼,既有容器自身特性的原因,也有现有日志采集工具的桎梏,主要包括: 容器本身特性: 采集目标多:容器本身的特性导致采集目标多, ...

  4. Elasticsearch,Kibana,Logstash,NLog实现ASP.NET Core 分布式日志系统

    Elasticsearch,Kibana,Logstash,NLog实现ASP.NET Core 分布式日志系统 原文:Elasticsearch,Kibana,Logstash,NLog实现ASP. ...

  5. ELK学习3_使用redis+logstash+elasticsearch+kibana快速搭建日志平台

    日志的分析和监控在系统开发中占非常重要的地位,系统越复杂,日志的分析和监控就越重要,常见的需求有: 根据关键字查询日志详情 监控系统的运行状况 统计分析,比如接口的调用次数.执行时间.成功率等 异常数 ...

  6. 企业日志分析ELK(Logstash+Elasticsearch+Kibana)介绍及搭建

    目录 一.ELK概述 1.ELK日志分析系统 2.ELK中日志处理步骤 二.Elasticsearch介绍 1.Elasticsearch的基础核心概念 2.分片和副本 三.LogStash概述 1. ...

  7. Filebeat+Kafka+Logstash+Elasticsearch+Kibana 构建日志分析系统

    文章目录 一.前言 二.背景信息 三.操作流程 四.准备工作 1.Docker 环境 2.Docker Compose 环境 3.版本准备 4.环境初始化 5.服务安装 6.服务设置 五.配置 Fil ...

  8. Elasticsearch:ingest pipeline 使用示例 - 解析常用日志格式

    在本示例教程中,你将在索引之前使用 ingest pipeline 以通用日志格式解析服务器日志. 在开始之前,请检查摄取管道的先决条件. 你要解析的日志类似于以下内容: 127.0.0.1 user ...

  9. 小白玩大数据日志分析系统经典入门实操篇FileBeat+ElasticSearch+Kibana 实时日志系统搭建从入门到放弃

    大数据实时日志系统搭建 距离全链路跟踪分析系统第二个迭代已经有一小阵子了,由于在项目中主要在写ES查询\Storm Bolt逻辑,都没有去搭建实时日志分析系统,全链路跟踪分析系统采用的开源产品组合为F ...

  10. 【转】Filebeat+Kafka+Logstash+ElasticSearch+Kibana 日志采集方案

    前言 Elastic Stack 提供 Beats 和 Logstash 套件来采集任何来源.任何格式的数据.其实Beats 和 Logstash的功能差不多,都能够与 Elasticsearch 产 ...

最新文章

  1. C ++变量,文字和常量
  2. php mysql备份脚本_MySQL备份脚本,mysql脚本
  3. 风之语.我看苏州511房产新政
  4. 活动社交产品怎么设计排序算法?
  5. linux文件系统添加pcm,嵌入式linux中PCM音频编程实践
  6. 8.8 正睿暑期集训营 Day5
  7. python 手势检测和追踪_用kinect和python进行手势识别:嗯学习
  8. 对hashMap中的value进行排序
  9. SQLiteDev与.NET日期格式,该字符串未被识别为有效的 DateTime
  10. ctf-希尔伯特曲线隐写
  11. python 绝对值_Python绝对值– abs()
  12. 锁存器,触发器,寄存器关系及区别
  13. 达尔优EM915镜面板游戏鼠标拆机教程
  14. 文本框插入表情和图片
  15. java网课|Iterator接口
  16. -2岁的产品经理学习日记2020/2/15
  17. VIC运行笔记2019.05.01
  18. 华为操作系统鸿蒙 hms生态系统,华为HMS生态系统服务是什么 鸿蒙操作系统机会来...
  19. 基于DEM的降雨淹没算法
  20. [CF3B]Lorry

热门文章

  1. 1t硬盘怎么分区最好_新买的固态硬盘该不该分区?分区后性能如何?真是后悔知道晚了!...
  2. python爬虫 同花顺_python Flask+爬虫制作股票查询、历史数据、股评词云网页
  3. PyTricks : Python is Cool
  4. 翻译:YOLOv5 新版本——改进与评估
  5. 易筋SpringBoot 2.1 | 第六篇:JdbcTemplate访问MySQL
  6. 利用octave求矩阵的转置
  7. The General Framework Of Signal ProcessingOTFS Modulation Scheme(信号处理的一般框架OTFS调制)(4)
  8. 提交不了_领导嘲讽程序员代码太过整洁,网友:太矫情,这种代码提交不了
  9. 贝叶斯公式和共轭分布
  10. mysql loader_Mysql的批量导入类 MySqlBulkLoader