首页 > 其他 > 详细

系统庞大却没有日志收集?多LOW啊(一)

时间:2020-10-10 14:23:40      阅读:32      评论:0      收藏:0      [点我收藏+]

前言

当你做过代码冗余却没有注释没有日志的系统,你就越发明白日志的重要性!一个完善的日志体系应该是如下这样:

大型互联网公司后端日志收集系统架构
技术分享图片

 

FileBeat是一个日志文件托运工具,在你的服务器上安装客户端后,filebeat会监控日志目录或特定的日志文件,追踪读取这些文件

Kafka是一种高吞吐量的分布式发布订阅消息系统,它可以消费者规模的网站中所有动作流量

Logstash是一根具备实时数据传输能力的管道,负责将数据信息从管道的输入端传输到管道的输出端;与此同时,这根管道还可以让你根据自己的需求在中间加上滤网,logstash提供很多功能强大的滤网

ElasticSearch提供了一个分布式多用户能力的全文搜索引擎,基于REESTful web接口

Kibana是elasticSearch的用户界面

在实际场景下,为了满足大数据实时检索的场景,利用filebeat去监控日志文件,将Kafka作为filebeat的输出端,Kafka实时接收filebeat后以logstash作为输出端输出,到logstash的数据也许还不是我们想要的格式或特定的业务数据,这时可以通过logstash的一些过滤插件对数据进行过滤最后达到想要的数据格式以elasticSearch作位输出端输出,数据到elasticSearch就可以进行丰富的分布式检索了。kibana可以将elasticSearch里的数据很好地展示给用户使用。

正文

Docker一键安装ELK(博主提示:请注意修改安装目录,与下文docker compose文件种的配置的volumes一致)

转载连接:https://mp.weixin.qq.com/s/bvmKAIMhljL3z8vqOeIsAQ

 

安装配置ELK日志收集系统

ELK即Elasticsearch、Logstash、Kibana,组合起来可以搭建线上日志系统,本文主要讲解使用ELK来收集SpringBoot应用产生的日志。 
即Elasticsearch、Logstash、Kibana,组合起来可以搭建线上日志系统,本文主要讲解使用ELK来收集SpringBoot应用产生的日志。
Elasticsearch:用于存储收集到的日志信息;
Logstash:用于收集日志,SpringBoot应用整合了Logstash以后会把日志发送给Logstash,Logstash再把日志转发给Elasticsearch;
Kibana:通过Web端的可视化界面来查看日志。
 
使用Docker Compose 搭建ELK环境,docker compose文件内容如下: 
 1  version: ‘3‘ 
 2  services: 
 3  elasticsearch: 
 4  image: elasticsearch:6.4.0 
 5  container_name: elasticsearch 
 6  environment: 
 7  ‐ "cluster.name=elasticsearch" #设置集群名称为elasticsearch 
 8  ‐ "discovery.type=single‐node" #以单一节点模式启动 
 9  ‐ "ES_JAVA_OPTS=‐Xms512m ‐Xmx512m" #设置使用jvm内存大小,稍微配置大点,不然有可能启动不成功 
10  volumes: 
11  ‐ /mydata/elasticsearch/plugins:/usr/share/elasticsearch/plugins #插件文件挂载 
12  ‐ /mydata/elasticsearch/data:/usr/share/elasticsearch/data #数据文件挂载 
13  ports: 
14  ‐ 9200:9200 
15  ‐ 9300:9300 
16  kibana: 
17  image: kibana:6.4.0 
18 container_name: kibana 
19  links: #同一个compose文件管理的服务可以直接用服务名访问,如果要给服务取别名则可以用links实现,如下面的es就是elasticsearch 服务的别名
20 
21  ‐ elasticsearch:es #可以用es这个域名访问elasticsearch服务 
22  depends_on: 
23  ‐ elasticsearch #kibana在elasticsearch启动之后再启动 
24  environment: 
25  ‐ "elasticsearch.hosts=http://es:9200" #设置访问elasticsearch的地址 
26  ports: 
27  ‐ 5601:5601 
28  logstash: 
29  image: logstash:6.4.0 
30  container_name: logstash 
31  volumes: 
32  ‐ /mydata/logstash/logstash‐springboot.conf:/usr/share/logstash/pipeline/logstash.conf #挂载logstash的配置文件,dock er对单个文件的挂载需要先在宿主机建好对应文件才能挂载成功 
33  depends_on: 
34  ‐ elasticsearch #kibana在elasticsearch启动之后再启动 
35  links: 
36  ‐ elasticsearch:es #可以用es这个域名访问elasticsearch服务 
37  ports: 
38  ‐ 4560:4560

 

系统庞大却没有日志收集?多LOW啊(一)

原文:https://www.cnblogs.com/powerZhangFly/p/13791723.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!