Tag - logback

java logback EFK 日志    2017-07-19 19:56:24    863

此篇文章主要讲述EFK与logback的整合,主要解决docker的log_driver的日志输出的问题:
1. 首先,处理错误栈信息的时候,docker会将错误栈分解成多行,而使用此插件,则可以将错误栈完整的保存在elasticsearch的一条记录中
2. docker内部的服务可以不用写日志文件了(或者有限循环),如果服务还活着,那么日志一定会被写入到elasticsearch

打包日志插件

源码地址:logback-more-appenders

关于此插件的打包,这里不多做说明,相应jar包可以在刘迎光的nexus中找到,搜索“logback-more-appenders”即可

项目引用

pom.xml文件添加依赖

  1. <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  2. xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
  3. <modelVersion>4.0.0</modelVersion>
  4. <groupId>com.firewarm</groupId>
  5. <artifactId>testLogback4Fluentd</artifactId>
  6. <packaging>war</packaging>
  7. <version>0.0.1-SNAPSHOT</version>
  8. <name>testLogback4Fluentd Maven Webapp</name>
  9. <url>http://maven.apache.org</url>
  10. <dependencies>
  11. <dependency>
  12. <grou
docker java logback EFK    2017-07-19 19:53:38    1026

继续上篇文章java logback 向 EFK 写入日志
此篇文章主要讲述在docker环境下EFK与logback的整合,主要解决java项目在docker环境下,向EFK输出日志的问题:
1. 上篇文章中的方法虽然可以向EFK写入日志,但是在集群环境中,无法区分容器,除非自己在日志的msg中写入相关信息,然而往往会被分词器分开,这点比较麻烦
2. 虽然上篇文章中的logback-more-appenders可以使用DataFluentAppender方式来向elasticsearch添加额外的fields,但是这里也同时存在一个问题,就是msg中的部分信息,会被拆分成多个field,导致msg信息不再完整,以及从kibana上面查看日志非常不便

下面来一起看看我是如何解决的(部分内容跟上篇文章同)

打包日志插件(此处有不同)

源码地址:fluentd-logback-appender(此插件是我基于logback-more-appenders源码进行的改进,使得在使用FluentLogbackAppender类的时候,也可以添加额外的fields)

关于此插件的打包,这里不多做说明,相应jar包可以在刘迎光的nexus中找到,搜索“fluentd-logback-appender”即可

项目引用

pom.xml文件添加依赖

  1. <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  2. xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
  3. <modelVersion>4.0.0</modelVersion>
  4. <groupId>com.firewarm</g
java logback EFK 日志    2017-05-26 13:07:45    1735

此篇文章主要讲述EFK与logback的整合,主要解决docker的log_driver的日志输出的问题:
1. 首先,处理错误栈信息的时候,docker会将错误栈分解成多行,而使用此插件,则可以将错误栈完整的保存在elasticsearch的一条记录中
2. docker内部的服务可以不用写日志文件了(或者有限循环),如果服务还活着,那么日志一定会被写入到elasticsearch

打包日志插件

源码地址:logback-more-appenders

关于此插件的打包,这里不多做说明,相应jar包可以在刘迎光的nexus中找到,搜索“logback-more-appenders”即可

项目引用

pom.xml文件添加依赖

  1. <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  2. xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
  3. <modelVersion>4.0.0</modelVersion>
  4. <groupId>com.firewarm</groupId>
  5. <artifactId>testLogback4Fluentd</artifactId>
  6. <packaging>war</packaging>
  7. <version>0.0.1-SNAPSHOT</version>
  8. <name>testLogback4Fluentd Maven Webapp</name>
  9. <url>http://maven.apache.org</url>
  10. <dependencies>
  11. <dependency>
  12. <groupI
Docker java logback EFK    2017-05-26 13:02:56    1147

继续上篇文章java logback 向 EFK 写入日志
此篇文章主要讲述在docker环境下EFK与logback的整合,主要解决java项目在docker环境下,向EFK输出日志的问题:
1. 上篇文章中的方法虽然可以向EFK写入日志,但是在集群环境中,无法区分容器,除非自己在日志的msg中写入相关信息,然而往往会被分词器分开,这点比较麻烦
2. 虽然上篇文章中的logback-more-appenders可以使用DataFluentAppender方式来向elasticsearch添加额外的fields,但是这里也同时存在一个问题,就是msg中的部分信息,会被拆分成多个field,导致msg信息不再完整,以及从kibana上面查看日志非常不便

下面来一起看看我是如何解决的(部分内容跟上篇文章同)

打包日志插件(此处有不同)

源码地址:fluentd-logback-appender(此插件是我基于logback-more-appenders源码进行的改进,使得在使用FluentLogbackAppender类的时候,也可以添加额外的fields)

关于此插件的打包,这里不多做说明,相应jar包可以在刘迎光的nexus中找到,搜索“fluentd-logback-appender”即可

项目引用

pom.xml文件添加依赖

  1. <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  2. xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
  3. <modelVersion>4.0.0</modelVersion>
  4. <groupId>com.firewarm</g