win10 下elk 日志分析系统对接springBoot总结教程

elk系统搭建过程 本节不做过多累赘 后续如果有需要 再补。直接对接项目日志分析。

先建立springBoot项目,当然传统的ssm也是可以的,这里为了简单,用springBoot 做例子。

pom.xml 添加logstash依赖支持 完整的依赖如下 


		
			org.springframework.boot
			spring-boot-starter-web
		

		
			org.springframework.boot
			spring-boot-starter-tomcat
			provided
		
		
			org.springframework.boot
			spring-boot-starter-test
			test
		
		
           net.logstash.logback
           logstash-logback-encoder
            5.1
       
		
	

在resource下新建logback-spring.xml文件 内容:
 




	
	       127.0.0.1:9601
	       
	           {"appname":"springboot-log-elk"}
	       
	
	
        
    

注意了,解释一下配置。

 127.0.0.1:9601:这个是你自己向logstash提供的源文件,也就是项目的日志输出地址,输出端口号

{"appname":"springboot-log-elk"}:这个东西会在logstash中的建立的 .conf文件中用到,也就是 elasticsearch中的索引前缀。后面会用到

在application.properties中 加入logback-spring.xml配置

logging:
  config: classpath:logback-spring.xml

在项目中建立测试类 代码如下

@RunWith(SpringRunner.class)
@SpringBootTest
public class ElkApplicationTests {

    private final static Logger log = LoggerFactory.getLogger(Test.class);

    @Before
    public void setUp() {
    }
    
    @org.junit.Test
    public void test() {
    	log.warn("我是一个warn");
    	log.info("我是一个info");
    	log.error("我是一个error");
    	log.trace("我是一个trace");
        log.debug("我是一个debug");
    }

}

好了 这样 简单的springBoot就搭建起来了。再来说elk.

启动顺序 elasticsearch ,如果elasticsearch版本高于5.x elasticsearch 的elasticsearch-head 插件安装比较复杂。在启动elasticsearch-head

之后,需要做一个配置了。在logstash下自己建立的 .conf 文件中作如下改动

input {
    tcp {  
        host => "localhost"  
        port => 9601   
        mode => "server"  
        tags => ["tags"]  
        codec => json_lines         
    }  

} 

output {
        elasticsearch {
                hosts => "127.0.0.1:9200"
                index => "%{[appname]}-%{+YYYY.MM.dd}"
        }
        stdout { codec => rubydebug}
}

 切记 这里的input 为logstash的输入源,也就是日志的输出源,所以host是localhost,port为自己配置的9601

output 为logstash的输出源,即elasticsearch 的输入源 所以hosts要与elasticsearch.yml中设置的一样

这里所提到的appname就是在logback-spring.xml中配置的那个名称 ,配置完毕

启动logstash 这里的启动我是在cmd 命令行里启动的 服务启动也是可以的 区别在于 cmd启动 可以直接看 输出内容 系统服务启动 就需要去logstash下的log文件夹下查找日志。

最后启动kibana 

这样elk系统启动 启动springBoot 

执行test,这个时候logstash的控制台会输出东西,log的日志里也可以查看

类似于

win10 下elk 日志分析系统对接springBoot总结教程_第1张图片

这时 在elasticsearch中查看

win10 下elk 日志分析系统对接springBoot总结教程_第2张图片

发现了一致 这时我们打开kibana界面 添加 Index Patterns  取名为 springboot-log* 创建 

在discover中选择刚刚的springboot-log*

会出现以下界面

win10 下elk 日志分析系统对接springBoot总结教程_第3张图片

则表示成功。搜索 我是一个info

命中

win10 下elk 日志分析系统对接springBoot总结教程_第4张图片

搭建对接成功。到此结束。

不喜勿喷,如有瑕疵,请多指教,谢谢。

你可能感兴趣的:(心得)