Logstash集成log4j
2016-07-19 16:26
323 查看
1. 配置log4j.properties
2. 修改logstash input组件(favblog-log4j.conf),将日志输出到Elasticsearch
3.启动Logstash
4. 查询Log4j输出日志
log4j.rootLogger=INFO,DEBUG,logstash log4j.appender.logstash=org.apache.log4j.net.SocketAppender log4j.appender.logstash.Port=4560 log4j.appender.logstash.RemoteHost=10.0.0.5 log4j.appender.logstash.ReconnetionDelay=60000 log4j.appender.logstash.LocationInfo=true
2. 修改logstash input组件(favblog-log4j.conf),将日志输出到Elasticsearch
input{ log4j{ host => "10.0.0.5" mode => "server" type => "log4j-json" port => 4560 } } output{ stdout{ codec => rubydebug } elasticsearch { hosts => ["10.0.0.5:9200"] } }
3.启动Logstash
[root@Server bin]# ./logstash -f favblog-log4j.conf Settings: Default pipeline workers: 4 log4j:WARN No appenders could be found for logger (org.apache.http.client.protocol.RequestAuthCache). log4j:WARN Please initialize the log4j system properly. log4j:WARN See http://logging.apache.org/log4j/1.2/faq.html#noconfig for more info. Pipeline main started { "message" => "*************************************Hello test!", "@version" => "1", "@timestamp" => "2016-05-31T07:24:34.989Z", "timestamp" => 1464679190253, "path" => "com.favccxx.favblog.platform.interceptor.FavInterceptor", "priority" => "INFO", "logger_name" => "com.favccxx.favblog.platform.interceptor.FavInterceptor", "thread" => "http-bio-8080-exec-2", "class" => "com.favccxx.favblog.platform.interceptor.FavInterceptor", "file" => "AppAuthorityInterceptor.java:65", "method" => "intercept", "host" => "10.0.0.115:54930", "type" => "log4j-json" } { "message" => "** errorInvokeKey:[MBGL-S]QemI2gBhHC", "@version" => "1", "@timestamp" => "2016-05-31T07:24:35.000Z", "timestamp" => 1464679190264, "path" => "com.favccxx.favblog.platform.interceptor.FavInterceptor", "priority" => "ERROR", "logger_name" => "com.favccxx.favblog.platform.interceptor.FavInterceptor", "thread" => "http-bio-8080-exec-2", "class" => "com.favccxx.favblog.platform.interceptor.FavInterceptor", "file" => "AppAuthorityInterceptor.java:140", "method" => "intercept", "host" => "10.0.0.115:54930", "type" => "log4j-json" } { "message" => "Exception occurred during processing request: Cannot create a session after the response has been committed", "@version" => "1", "@timestamp" => "2016-05-31T07:24:35.023Z", "timestamp" => 1464679190280, "path" => "org.apache.struts2.dispatcher.DefaultDispatcherErrorHandler", "priority" => "ERROR", "logger_name" => "org.apache.struts2.dispatcher.DefaultDispatcherErrorHandler", "thread" => "http-bio-8080-exec-2", "class" => "com.opensymphony.xwork2.util.logging.commons.CommonsLogger", "file" => "CommonsLogger.java:42", "method" => "error", "stack_trace" => "java.lang.IllegalStateException: Cannot create a session after the response has been committed\n\tat org.apache.catalina.connector.Request.doGetSession(Request.java:3013)\n\tat org.apache.catalina.connector.Request.getSession(Request.java:2385)\n\tat org.apache.catalina.connector.RequestFacade.getSession(RequestFacade.java:897)\n\tat javax.servlet.http.HttpServletRequestWrapper.getSession(HttpServletRequestWrapper.java:229)\n\tat org.apache.struts2.dispatcher.SessionMap.put(SessionMap.java:182)\n\tat org.apache.struts2.interceptor.MessageStoreInterceptor.after(MessageStoreInterceptor.java:297)\n\tat org.apache.struts2.interceptor.MessageStoreInterceptor.intercept(MessageStoreInterceptor.java:198)\n\tat com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:244)\n\tat org.apache.struts2.impl.StrutsActionProxy.execute(StrutsActionProxy.java:54)\n\tat org.apache.struts2.dispatcher.Dispatcher.serviceAction(Dispatcher.java:564)\n\tat org.apache.struts2.dispatcher.ng.ExecuteOperations.executeAction(ExecuteOperations.java:81)\n\tat org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter.doFilter(StrutsPrepareAndExecuteFilter.java:99)\n\tat org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)\n\tat org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)\n\tat org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:220)\n\tat org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:122)\n\tat org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:505)\n\tat org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:169)\n\tat org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)\n\tat org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:956)\n\tat org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116)\n\tat org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:423)\n\tat org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1079)\n\tat org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:625)\n\tat org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:316)\n\tat java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)\n\tat java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)\n\tat org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)\n\tat java.lang.Thread.run(Unknown Source)", "host" => "10.0.0.115:54930", "type" => "log4j-json" }
4. 查询Log4j输出日志
http://10.0.0.5:9200/logstash-2016.05.31/_search?q=*&pretty%27在elasticsearch中查询到输出的log4j日志。
相关文章推荐
- 使用ElasticSearch+LogStash+Kibana+Redis搭建日志管理服务
- logstash mysql slow
- logback日志交给logstash处理
- LogStash 安装配置初体验
- logStash收集日志并存储到Elasticsearch
- #研发解决方案#基于Apriori算法的Nginx+Lua+ELK异常流量拦截方案
- Logstash 与Elasticsearch整合使用示例
- ELK(ElasticSearch, Logstash, Kibana)搭建实时日志分析平台
- ELK(ElasticSearch, Logstash, Kibana)搭建实时日志分析平台
- centos 7安装jdk和elk
- 企业级日志收集系统——ELKstack
- logstash
- logstash,elasticsearch,kibana三件套
- 用Kibana和logstash快速搭建实时日志查询、收集与分析系
- logstash
- 开源分布式搜索平台ELK+Redis+Syslog-ng实现日志实时搜索
- Loggly:提高ElasticSearch性能的九个高级配置技巧
- elk在centos7安装
- logstash过滤nginx日志
- 配置Logstash(1) — 配置文件的结构