ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

记录一次SpringCloud微服务集成ELK日志管理,docker部署过程

2021-09-23 17:02:37  阅读:217  来源: 互联网

标签:7.14 ELK SpringCloud kibana logstash elasticsearch docker 日志


简介:

ELK是一个基于浏览器页面的ElasticSearch 的前段展示工具,也是一个开源和免费的工具,Kibana 可以为Logstash 和ElasticSearch 提供的日志分析友好的web 界面,可以汇总、分析、搜索重要的数据日志。

1ElasticSearch

  (弹性搜索)一个分布式搜索服务器,提供了一个分布式多用户能力的全文搜索引擎,自动发现,索引自动分片,索引副本机制,多数据源,自动搜索负责等功能。

2Logstash

  (日志存储)部署在产生日志的应用服务器上,用于收集日志。是一个开源工具,可以对日子进行收集,过滤,分析,并将其存储以后使用(比如搜索)。

3Kibana

  (日志信息web 展示)是一个基于浏览器的ElasticSearch 的前段展示工具,也是一个开源和免费的工具,可以为ElasticSearch 和Logstash 提供的日志分析进行友好的Web 界面,可以汇总,分析,搜索重要的数据日志。

部署:

1)镜像拉取

  # docker pull elasticsearch:7.14.0

  # docker pull kibana:7.14.0 (kibana必须和elasticsearch版本一致)

  # docker pull logstash:7.14.0

2)启动容器

  ① 先启动 es:

  # docker run --name es -d -p 19200:9200 -p 19300:9300 -e "discovery.type=single-node" elasticsearch:7.14.0

  ② 启动 kibana:

  # docker run -it -d --name kibana --restart=always --link es:es -p 15601:5601 kibana:7.14.0

  进入容器 # docker exec-it kibana bash , 修改配置文件 # vi /config/kibana.yml 修改elasticsearch.hosts中的 ip + port ,重启容器 # docker restart kibana 

  ③ 启动 logstash:

  # docker run -it -p 14560:4560 --name logstash -d logstash:7.14.0

  进入容器 # docker exec-it logstash bash ,进行两次修改。

    1、修改配置文件 # vi /usr/share/logstash/config/logstash.yml 修改elasticsearch.hosts中的 ip + port

    2、修改配置文件 # vi /usr/share/logstash/pipeline/logstash.conf ,替换里面内容    

    input {
      tcp {
        mode => "server"
        port => 4560
        codec => json_lines
      }
    }
    filter{
      date {
        match => ["timestamp", "dd/MMM/yyyy:HH:mm:ss Z"] #匹配timestamp字段
        target => "@timestamp" #将匹配到的数据写到@timestamp字段中
      }

    }
    output {
      elasticsearch {
        action => "index"
        hosts => "192.168.000.000:19200"
        index => "lcbd_log_%{+YYYY.MM.dd}"
        }
    }

    3、 重启容器 # docker restart kibana

3)cloud 项目 logback.xml 编辑

<appender name="log_stash" class="net.logstash.logback.appender.LogstashTcpSocketAppender">
<destination>192.168.0.000:14560</destination>
<encoder class="net.logstash.logback.encoder.LoggingEventCompositeJsonEncoder">
<providers>
<timestamp>
<timeZone>UTC</timeZone>
</timestamp>
<pattern>
<pattern>
{
"module_name":"lcbd-modules-pos",
"timestamp": "%date{\"yyyy-MM-dd'T'HH:mm:ss,SSSZ\"}",
"log_level":"%level",
"service": "%contextName",
"pid": "${PID:-}",
"thread": "%thread",
"class_name": "%class",
"line_number": "%line",
"message": "%message",
"stack_trace": "%exception{5}",
"elapsed_time": "#asLong{%X{elapsedTime}}"
}
</pattern>
</pattern>
</providers>
</encoder>
</appender>
<root level="info">
<appender-ref ref="log_stash" />
</root>

标签:7.14,ELK,SpringCloud,kibana,logstash,elasticsearch,docker,日志
来源: https://www.cnblogs.com/learnercheng/p/15324950.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有