Fork me on GitLab

ELK使用

ELK简介

ELK是三个开源软件的缩写,分别表示:Elasticsearch , Logstash, Kibana , 它们都是开源软件。新增了一个FileBeat,它是一个轻量级的日志收集处理工具(Agent),Filebeat占用资源少,适合于在各个服务器上搜集日志后传输给Logstash,官方也推荐此工具。
Elasticsearch是个开源分布式搜索引擎,提供搜集、分析、存储数据三大功能。它的特点有:分布式,零配置,自动发现,索引自动分片,索引副本机制,restful风格接口,多数据源,自动搜索负载等。主要负责将日志索引并存储起来,方便业务方检索查询。
Logstash 主要是用来日志的搜集、分析、过滤日志的工具,支持大量的数据获取方式。一般工作方式为c/s架构,client端安装在需要收集日志的主机上,server端负责将收到的各节点日志进行过滤、修改等操作在一并发往elasticsearch上去。是一个日志收集、过滤、转发的中间件,主要负责将各条业务线的各类日志统一收集、过滤后,转发给 Elasticsearch 进行下一步处理。
Kibana 也是一个开源和免费的工具,Kibana可以为 Logstash 和 ElasticSearch 提供的日志分析友好的 Web 界面,可以帮助汇总、分析和搜索重要数据日志。

ELK安装

修改logstash配置信息

根据自己的需要写就行了,input输入,filter过滤,output输出

input {
    tcp {
        mode => "server"
        port => 4560
    }
}
filter {
}
output {
    elasticsearch {
        action => "index"
        hosts => "127.0.0.1:9200"
        index => "test_log"
    }
}

logback配置

在logback.xm中添加

<appender name="logstash" class="net.logstash.logback.appender.LogstashTcpSocketAppender">
        <destination>127.0.0.1:4560</destination>
        <encoder charset="UTF-8" class="net.logstash.logback.encoder.LogstashEncoder"/>
    </appender>

<root level="${LOG_LEVEL}">
        <appender-ref ref="CONSOLE" />
        <appender-ref ref="DEBUG_FILE" />
        <appender-ref ref="INFO_FILE" />
        <appender-ref ref="WARN_FILE" />
        <appender-ref ref="ERROR_FILE" />
        <appender-ref ref="logstash" />
    </root>

添加一个控制器访问测试下

@Slf4j
@RestController
public class UserController {

    @GetMapping("/s")
    public String getAuthCode() {
        log.info("lagstash测试");

        return "111111111111111sout";
    }
}

在kibana中index management点击create Index patterns选中logstash.config中的索引名称不过滤索引信息(项目上使用是需要filter的)

 

 

在Discover中搜索发现已经将console中打印的日志导入到es中了

 

 

 
 
posted @ 2022-06-29 14:54  隐琳琥  阅读(206)  评论(0编辑  收藏  举报