javascript
springboot非官方教程 | 第二十六篇: sprinboot整合elk,搭建实时日志平台 -凯发k8官方网
转载请标明出处:
原文首发于https://www.fangzhipeng.com/springboot/2017/07/11/sprinboot25-elk/
本文出自方志朋的博客
这篇文章主要介绍springboot整合elk.
elk 简介
-
elasticsearch是个开源分布式搜索引擎,它的特点有:分布式,零配置,自动发现,索引自动分片,索引副本机制,restful风格接口,多数据源,自动搜索负载等。
-
logstash是一个完全开源的工具,他可以对你的日志进行收集、过滤,并将其存储供以后使用(如,搜索)。
-
kibana 也是一个开源和免费的工具,它kibana可以为 logstash 和 elasticsearch 提供的日志分析友好的 web 界面,可以帮助您汇总、分析和搜索重要数据日志。
elk下载安装
elk下载地址:https://www.elastic.co/downloads/
建议在 linux上运行,elk在windows上支持得不好,另外需要jdk1.8 的支持,需要提前安装好jdk.
下载完之后: 安装,以logstash为栗子:
cd /usr/local/
mkdir logstash
tar -zxvf logstash-5.3.2.tar.gz
mv logstash-5.3.2 /usr/local/logstash
配置、启动 elasticsearch
打开elasticsearch的配置文件:
vim config/elasticsearch.yml修改配置:
network.host=localhost network.port=9200它默认就是这个配置,没有特殊要求,在本地不需要修改。
启动elasticsearch
./bin/elasticsearch启动成功,访问localhost:9200,网页显示:
{"name" : "56irtcm","cluster_name" : "elasticsearch","cluster_uuid" : "e4ja7vs2tiki1bsggeaa6q","version" : {"number" : "5.2.2","build_hash" : "f9d9b74","build_date" : "2017-02-24t17:26:45.835z","build_snapshot" : false,"lucene_version" : "6.4.1"},"tagline" : "you know, for search" }配置、启动 logstash
在 logstash的主目录下:
vim config/log4j_to_es.conf修改 log4j_to_es.conf 如下:
input {log4j {mode => "server"host => "localhost"port => 4560} } filter {#only matched data are send to output. } output {elasticsearch {action => "index" #the operation on eshosts => "localhost:9200" #elasticsearch host, can be array.index => "applog" #the index to write data to.} }修改完配置后启动:
./bin/logstash -f config/log4j_to_es.conf终端显示如下:
访问localhost:9600
{"host":"pc-20130412.local","version":"5.3.2","http_address":"127.0.0.1:9600","id":"e6bb985c-c688-49a4- a55b-4d362bb4136f","name":"pc-20130412.local","build_date": "2017-04-24t16:32:22z","build_sha":"242159a5eea55fe213fe5c8 52d36455e24252c82","build_snapshot":false}证明logstash启动成功。
配置、启动kibana
到kibana的安装目录:
./bin/kibana默认配置即可。
访问localhost:5601,网页显示:
证明启动成功。
创建springboot工程
起步依赖如下:
log4j的配置,/src/resources/log4j.properties如下:
log4j.rootlogger=info,console# for package com.demo.elk, log would be sent to socket appender. log4j.logger.com.forezp=debug, socket# appender socket log4j.appender.socket=org.apache.log4j.net.socketappender log4j.appender.socket.port=4560 log4j.appender.socket.remotehost=localhost log4j.appender.socket.layout=org.apache.log4j.patternlayout log4j.appender.socket.layout.conversionpattern=%d [%-5p] [%l] %m%n log4j.appender.socket.reconnectiondelay=10000# appender console log4j.appender.console=org.apache.log4j.consoleappender log4j.appender.console.target=system.out log4j.appender.console.layout=org.apache.log4j.patternlayout log4j.appender.console.layout.conversionpattern=%d [%-5p] [%l] %m%n打印log测试:
@runwith(springrunner.class) @springboottest public class springbootelkapplicationtests {@testpublic void contextloads() {}private logger logger = logger.getlogger(getclass());@testpublic void test() throws exception {for(int i=0;i<100;i ) {logger.info("输出info ");logger.debug("输出debug skkkw嗡嗡嗡kw");logger.error("输出error 嗡嗡嗡我");}}}在kibana 实时监控日志
打开localhost:5601:
management=>index pattrns=>add new:
点击discovery:
参考资料
https://my.oschina.net/itblog/blog/547250
源码下载
https://github.com/forezp/springbootlearning
优秀文章推荐:
- 更多springboot 教程:springboot非官方教程 | 文章汇总
- 更多springcoud 教程:史上最简单的 springcloud 教程 | 文章汇总
扫码关注公众号有惊喜
(转载本站文章请注明作者和出处 方志朋的博客)
转载于:https://www.cnblogs.com/forezp/p/9852120.html
总结
以上是凯发k8官方网为你收集整理的springboot非官方教程 | 第二十六篇: sprinboot整合elk,搭建实时日志平台的全部内容,希望文章能够帮你解决所遇到的问题。
- 上一篇:
- 下一篇: