Category - IT技术

java logback EFK 日志    2017-05-26 13:07:45    296

此篇文章主要讲述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
java ws.rs restful    2017-04-28 16:21:43    390

错误信息

  1. Java.lang.AbstractMethodError: javax.ws.rs.core.UriBuilder.uri(Ljava/lang/String;)Ljavax/ws/rs/core/UriBuilder;
  2. at javax.ws.rs.core.UriBuilder.fromUri(UriBuilder.java:119)
  3. at com.sun.jersey.spi.Container.servlet.ServletContainer.service(ServletContainer.java:669)
  4. at javax.servlet.http.HttpServlet.service(HttpServlet.java:723)
  5. at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
  6. at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
  7. at org.apache.shiro.web.servlet.AbstractShiroFilter.executeChain(AbstractShiroFilter.java:449)
  8. at org.apache.shiro.web.servlet.AbstractShiroFilter$1.call(AbstractShiroFilter.java:365)
  9. at org.apache.shiro.subject.support.SubjectCallable.doCall(SubjectCallable.java:90)
  10. at org.apache.shiro.subject.support.SubjectCallable.call(SubjectCallable.java:83)
  11. at org.apache.shiro.subject.support.DelegatingSubject.execute(Delega
windows git    2017-04-28 16:19:44    14

解决办法

  1. 找到项目目录中的隐藏文件夹“.git”
  2. 找到“.git”目录下的config并编辑
  3. 其中url修改为如下模式,保存即可
  1. https://username:password@git.net/username/test.git

by 刘迎光@萤火虫工作室
OpenBI交流群:495266201
MicroService 微服务交流群:217722918
mail: liuyg#liuyingguang.cn
博主首页(==防止爬虫==):http://blog.liuyingguang.cn

alpine linux crontab BusyBox    2017-04-01 17:21:10    41

首先alpine内嵌的是BusyBox,使用alpine的crontab实际就是使用BusyBox的crond服务,那么下来就简单介绍下如何使用吧,网上教程还是比较多的:

配置文件存放位置:

配置文件是在如下目录中的

  1. /var/spool/cron/crontabs/root

使用方式

  1. 向crontab的配置文件中添加配置
  1. vi /var/spool/cron/crontabs/root
  2. # 或者
  3. crontab -e
  4. # 填入如下内容,最后一行为我添加的测试任务
  5. # do daily/weekly/monthly maintenance
  6. # min hour day month weekday command
  7. */15 * * * * run-parts /etc/periodic/15min
  8. 0 * * * * run-parts /etc/periodic/hourly
  9. 0 2 * * * run-parts /etc/periodic/daily
  10. 0 3 * * 6 run-parts /etc/periodic/weekly
  11. 0 5 1 * * run-parts /etc/periodic/monthly
  12. * * * * * echo "test" >> /app/test.log
  1. 启动crond
  1. crond
  1. 查看状态
  1. ps
  2. PID USER TIME COMMAND
  3. ·····
  4. 82 root 0:00 crond
  5. 292 root 0:00 ps
  1. 查看/app/test.log是否有输入内容
  1. cat test.log
  2. test
  3. test
  4. test
  5. test
  6. test

OK,至此对于c

java jetty Docker maven    2017-03-26 23:38:30    26

1. 准备好一个非常简单点的web项目(maven项目)

2. 准备好maven环境,并配置pom文件,关于jetty内容如下:

  1. <!-- jetty dependecies begin -->
  2. <dependency>
  3. <groupId>org.eclipse.jetty</groupId>
  4. <artifactId>jetty-server</artifactId>
  5. <version>9.1.4.v20140401</version>
  6. </dependency>
  7. <dependency>
  8. <groupId>org.eclipse.jetty</groupId>
  9. <artifactId>jetty-webapp</artifactId>
  10. <version>9.1.4.v20140401</version>
  11. </dependency>
  12. <dependency>
  13. <groupId>org.eclipse.jetty</groupId>
  14. <artifactId>jetty-continuation</artifactId>
  15. <version>9.1.4.v20140401</version>
  16. </dependency>
  17. <dependency>
  18. <groupId>org.eclipse.jetty</groupId>
  19. <artifactId>jetty-jsp</artifactId>
  20. <version>9.1.4.v20140401</version>
  21. </dependency>
  22. <!-- jetty dependecies end -->

3. 使用eclipse对maven项目进行build,获取build后的项目目录(或者将项目达成war包)

4. 创建运行配置jetty的Server类

运行war包的类

  1. public class WebAppWarServer {
  2. public static void main(String[] args) throws Exception {
  3. Server server = new Server(8080);
13/14