部署ELK日志分析系统1-架构

文章目录

  • 1. ELK简介
    • Elasticsearch
    • Logstash
    • Kibana
    • Beats
  • 2. ELK架构图
    • ELK平台架构图V1
    • ELK平台架构图V2
    • ELK平台架构图V3

1. ELK简介

ELK是三个开源软件的缩写,分别表示:Elasticsearch , Logstash, Kibana 。现在新增了一个轻量级的日志收集处理工具FileBeat,Filebeat占用资源少,适合于在各个服务器上搜集日志后传输给Logstash,官方也推荐此工具。

Elasticsearch

Elasticsearch是开源分布式搜索引擎,提供搜集、分析、存储数据三大功能。它的特点有:分布式,零配置,自动发现,索引自动分片,索引副本机制,restful风格接口,多数据源,自动搜索负载等。

Logstash

Logstash 是用于日志的搜集、分析、过滤日志的工具,支持大量的数据获取方式。一般工作方式为c/s架构,client端安装在需要收集日志的主机上,server端负责将收到的各节点日志进行过滤、修改等操作再一并发送至elasticsearch。

Kibana

Kibana可以为 Logstash 和 ElasticSearch 提供日志分析友好的 Web 界面,可以帮助汇总、分析和搜索重要数据日志。

Beats

  1. Packetbeat:网络数据包分析器,搜集应用程序服务器之间交换的信息。
  2. Topbeat:服务器监视代理程序,搜集系统、进程和文件系统级别的 CPU 和内存使用情况等数据
  3. Filebeat:搜集文件数据,比Logstash消耗资源小,现在代替Logstash用于应用日志文件数据收集
  4. Winlogbeat:搜集 Windows 事件日志数据

2. ELK架构图

ELK平台架构图V1

部署ELK日志分析系统1-架构_第1张图片

  • 日志获取:Logstash用于获取日志文件中的数据,APP应用使用TCP链接传输日志数据
  • 日志处理:使用Logstash对日志数据进行过滤、转换等处理,并传输至Elasticsearch集群中
  • 日志存储:将日志数据存储在Elasticsearch中,分应用按日期进行索引
  • 日志查看:使用Kibana可以方便的在WEB端查看应用日志,汇总图表展示

ELK平台架构图V2

部署ELK日志分析系统1-架构_第2张图片

  • 使用Filebeat代替Logstash读取日志文件数据,消耗资源小对应用服务器影响较小
  • 使用Topbeat、Packetbeat、Winlogbeat可以针对性的获取服务器性能数据,用于服务预警
  • 启用多个Logstash来负载均衡,避免单点故障

ELK平台架构图V3

部署ELK日志分析系统1-架构_第3张图片

  • 将日志传输至消息队列中,防止因网络原因导致日志丢失,也可以缓解日志处理压力
  • 增加Nginx做WEB负载均衡

[1]: Filebeat https://www.elastic.co/guide/en/beats/filebeat/6.2/index.html
[2]: Logstash https://www.elastic.co/guide/en/logstash/6.2/index.html
[3]: Kibana https://www.elastic.co/guide/en/kibana/6.2/index.html
[4]: Elasticsearch https://www.elastic.co/guide/en/elasticsearch/reference/6.2/index.html

你可能感兴趣的:(ELK)