不积跬步,无以至千里

个人博客地址:https://lewky.cn

ELK系列(7) - 测试环境下Logstash异常退出:block in multi_receive_encoded

问题与分析 在本地测试无误后将ELK部署到了测试环境,结果第二天发现Logstash挂掉了,一开始以为是自动部署之类导致的问题。之后几天时间里Logstash总是会down掉,查看了下日志文件,发现报错如下: [2019-06-28T07:56:13,148][FATAL][logstash.ru...

2019-08-14 00:11:22

阅读数 25

评论数 0

Log4j2 - 日志框架中isDebugEnabled()的作用

为什么要使用isDebugEnabled() 之前在系统的代码中发现有时候会在打印日志的时候先进行一次判断,如下: if (LOGGER.isDebugEnabled()) { LOGGER.debug("Search parameters: " + searchPar...

2019-08-13 23:55:49

阅读数 11

评论数 0

ELK系列(5) - Logstash怎么分割字符串并添加新的字段到Elasticsearch

问题 有时候我们想要在Logstash里对收集到的日志等信息进行分割,并且将分割后的字符作为新的字符来index到Elasticsearch里。假定需求如下: Logstash收集到的日志字段message的值是由多个字段拼接而成的,分隔符是;,;,如下: { "mess...

2019-05-13 00:16:43

阅读数 150

评论数 0

ELK系列(4) - Elasticsearch cannot write xcontent for unknown value of type class java.math.BigDecimal

java.lang.IllegalArgumentException: cannot write xcontent for unknown value of type class java.math.BigDecimal at org.elasticsearch.common.xcontent...

2019-05-12 17:33:44

阅读数 355

评论数 0

ELK系列(3) - Elasticsearch修改jvm参数

方法 Elasticsearch默认会配置1G的JVM堆的初始值和最大值,该jvm参数被配置在/config/jvm.options里: -Xms1g -Xmx1g 如果只是个人开发小项目,可以把参数改小些,比如: -Xms512m -Xmx512m 这个jvm.options用来配置各种jv...

2019-05-12 17:20:03

阅读数 183

评论数 0

ELK系列(2) - Kibana怎么修改日期格式Date format

问题 Kibana在创建Index Patterns的时候,可以选择某个date类型的field作为排序字段。之后在Discover里打开对应的index,会发现这个date类型的field的格式显示如下: April 10th 2019, 17:40:32.359 这是Kibana默认的日期格...

2019-05-12 16:56:28

阅读数 287

评论数 0

ELK系列(1) - Elasticsearch + Logstash + Kibana + Log4j2快速入门与搭建用例

前言 最近公司分了个ELK相关的任务给我,在一边学习一边工作之余,总结下这些天来的学习历程和踩坑记录。 首先介绍下使用ELK的项目背景:在项目的数据库里有个表用来存储消息队列的消费日志,这些日志用于开发者日后的维护。每当客户端生产一条消息并发送到消息队列后,就会插入一条对应的记录到数据库里。当这条...

2019-05-12 16:46:58

阅读数 62

评论数 0

Log4j2 - 动态生成Appender

功能需求 项目里将User分成了各个区域(domain),这些domain有个标志domainId,现在要求在打印日志的时候,不仅将所有User的日志都打印到日志文件logs/CNTCore.log中,还需要另外再打印到对应domain的日志文件logs/{domainId}/CNTCore.l...

2019-01-03 22:45:53

阅读数 1193

评论数 0

Log4j2 - Unable to invoke factory method in class org.apache.logging.log4j.core.appender.RollingFile

问题与分析 在使用Log4j2时,虽然可以正确读取配置文件并生成log文件,但偶然发现控制台打印了异常信息如下: 2018-12-31 17:28:14,282 Log4j2-TF-19-ConfiguratonFileWatcher-6 ERROR Unable to invoke factor...

2019-01-02 22:07:17

阅读数 3294

评论数 0

Log4j2 - java.lang.NoSuchMethodError: com.lmax.disruptor.dsl.Disruptor

问题 项目使用了log4j2,由于使用了全局异步打印日志的方式,还需要引入disruptor的依赖,最后使用的log4j2和disruptor的版本依赖如下: <dependency> <groupId&gt...

2019-01-02 22:00:50

阅读数 1161

评论数 0

log4j和log4j2怎么动态加载配置文件

应用场景与问题 当项目在运行时,我们如果需要修改log4j 1.X或者log4j2的配置文件,一般来说我们是不能直接将项目停止运行再来修改文件重新部署的。于是就有这样一个问题:如何在不停止当前项目的运行的情况下,让系统能够自动地监控配置文件的修改状况,从而实现动态加载配置文件的功能?而log4j...

2018-12-26 01:37:00

阅读数 2013

评论数 0

log4j2中LevelRangeFilter的注意点

LevelRangeFilter的注意点 在log4j2中,LevelRangeFilter的minLevel,maxLevel的配置是和log4j 1.x相反的;minLevel需要配置的是高级别,maxLevel配置的是低级别,如下: <LevelRangeFilter ...

2018-12-22 23:10:49

阅读数 694

评论数 0

log4j.xml中Filter的用法

前言 log4j中常用的Filter分为四种:DenyAllFilter、LevelMatchFilter、LevelRangeFilter、StringMatchFilter。 当appender匹配了某个Filter的时候,就不会继续匹配下一个filter,所以当需要配置多个filter时需要...

2018-12-20 22:30:49

阅读数 1076

评论数 1

Dubbox - 入门小Demo

Dubbox简介 Dubbox 是一个分布式服务框架,其前身是阿里巴巴开源项目Dubbo ,被国内电商及互联网项目中使用,后期阿里巴巴停止了该项目的维护,当当网便在Dubbo基础上进行优化,并继续维护,为了与原有的Dubbo区分,故将其命名为Dubbox。 Dubbox 致力于提供高性能和透明...

2018-10-10 22:57:47

阅读数 333

评论数 0

Spring(一)框架学习

Spring是什么Spring是一个轻量级的控制反转(IoC)和面向切口(AOP)的容器框架,它横跨三层架构,用来创建对象和管理这些对象之间的依赖关系。 轻量级和重量级? 以启动程序需要的资源来决定。比如,EJB启动的时候,需要消耗大量的资源,内存,CPU等,所以是重量级。而Spring则不,...

2017-10-15 14:42:56

阅读数 379

评论数 0

Spring事务传播行为和隔离级别

link http://www.cnblogs.com/yangy608/archive/2011/06/29/2093478.html http://www.cnblogs.com/yangy608/archive/2010/12/15/1907065.html http://blog....

2017-10-11 11:25:35

阅读数 321

评论数 0

@ResponseBody注解的使用

@ResponseBody注解的作用是将Controller的方法返回的对象通过适当的转换器转换为指定的格式之后,写入到Response对象的Body区,通常用来返回JSON数据或者是XML数据,需要注意的是,在使用此注解之后不会再走视图处理器,而是直接将数据写入到输入流中,他的效果等同于通过Re...

2017-10-07 14:22:51

阅读数 804

评论数 0

Spring的XML配置文件的头部文件

Spring的XML配置文件的头部文件<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans...

2017-10-04 11:58:59

阅读数 2519

评论数 0

springMVC框架的运行流程

第一步:发起请求到前端控制器(DispatcherServlet) 第二步:前端控制器请求HandlerMapping查找 Handler 可以根据xml配置、注解进行查找 第三步:处理器映射器HandlerMapping向前端控制器返回Handler 第四步:前端控制器调用处理器适配器去...

2017-09-18 18:40:23

阅读数 488

评论数 0

struts运行流程

1.项目启动时加载web.xml,自动加载并初始化控制器ActionServlet,ActionServlet会从struts-config.xml文件中读取配置信息,把他们存放到ActionMappings对象中。   2.用户发送请求,请求被ActionServlet接收,并根据配置文件(...

2017-08-09 22:28:00

阅读数 101

评论数 0

提示
确定要删除当前文章?
取消 删除