ELK-Logstash知识点总结-DX的笔记

1.ELK介绍

1.1.什么是ELK?

ELK是Elasticsearch、Logstash、Kibana的简称(也称为 ELK Stack),是elastic公司提供的一套完整的日志收集以及展示的解决方案,能够安全可靠地获取任何来源、任何格式的数据,然后实时地对数据进行搜索、分析和可视化。
在这里插入图片描述

  • Elasticsearch:是开源的分布式全文检索服务器。

  • Logstash:是一个具有实时传输能力的数据收集引擎,用来进行数据收集(如:读取文本文件)、过滤、解析,并将数据发送给ES。

  • Kibana:数据分析与可视化平台,对Elasticsearch存储的数据进行可视化分析,通过表格的形式展现出来。

    在这里插入图片描述

1.2.为什么要用 ELK?

一般大型系统都采用分布式架构,不同的模块部署在不同的服务器上,大规模分布式项目的日志面临的问题如下:

  1. 文本搜索太慢怎么办?
  2. 分布式环境下的日志如何查询?
  3. 如何多维度查询?

2.安装logstash

2.1.下载

下载地址:https://artifacts.elastic.co/downloads/logstash/logstash-6.2.3.tar.gz

2.2.安装

解压即安装:

tar -zxvf logstash-6.2.3.tar.gz -C /usr/local/logstash

2.3.修改配置

在 logstash 的主目录下:

vim config/log_to_es.conf

内容如下:

# For detail structure of this file  
# Set: https://www.elastic.co/guide/en/logstash/current/configuration-file-structure.html  
input {
  # For detail config for log4j as input,   
  # See: https://www.elastic.co/guide/en/logstash/current/plugins-inputs-log4j.html  
  tcp {
    mode => "server"
    host => "0.0.0.0"
    port => 9250
  }
}
filter {
  ##过滤、格式化数据.  
}
output {
  # For detail config for elasticsearch as output,
  # See: https://www.elastic.co/guide/en/logstash/current/plugins-outputs-elasticsearch.html
  elasticsearch {
    action => "index"          #The operation on ES  
    hosts  => "192.168.204.131:9200"   #ElasticSearch host, can be array.  
    index  => "applog"         #The index to write data to.  
  }
}

2.4.启动

启动命令:

./bin/logstash -f config/log_to_es.conf
#或后台运行守护进程 
./bin/logstash -f config/log_to_es.conf &

启动成功:
在这里插入图片描述

3.Spring Cloud集成ELK

3.1.power_shop_item

3.1.1.pom.xml
<dependency>
    <groupId>net.logstash.logback</groupId>
    <artifactId>logstash-logback-encoder</artifactId>
</dependency>
3.1.2.logback.xml
    <!-- 为logstash输出的JSON格式的Appender -->
    <appender name="logstash"
              class="net.logstash.logback.appender.LogstashTcpSocketAppender">
        <destination>192.168.233.136:9250</destination>
        <!-- 日志输出编码 -->
        <encoder class="net.logstash.logback.encoder.LoggingEventCompositeJsonEncoder">
            <providers>
                <pattern>
                    <!--格式化输出:%d表示日期,%thread表示线程名,%-5level:级别从左显示5个字符宽
					  度,logger是class的全名,%msg:日志消息-->
                    <pattern>{"message":"%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg" }</pattern>
                </pattern>
            </providers>
        </encoder>
    </appender>

    <!-- 日志输出级别 -->
    <root level="DEBUG">
        <appender-ref ref="Stdout" />   
        <appender-ref ref="RollingFile" />
        <appender-ref ref="logstash" />
    </root> 

3.2.测试

head插件:
在这里插入图片描述

kibana分析日志:

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值