美文网首页
ASP.NET Core分布式日志系统ELK实战演练

ASP.NET Core分布式日志系统ELK实战演练

作者: 跟着阿笨一起玩NET | 来源:发表于2020-07-10 20:18 被阅读0次

    一、ELK简介

     ELK是Elasticsearch、Logstash和Kibana首字母的缩写。这三者均是开源软件,这三套开源工具组合起来形成了一套强大的集中式日志管理平台。

    •  Elasticsearch

    分布式搜索和分析引擎。具有高可伸缩、高可靠和易管理等特点。基于 Apache Lucene 构建,能对大容量的数据进行接近实时的存储、搜索和分析操作。

    •  Logstash

    日志收集器。搜集各种数据源,并对数据进行过滤、分析、格式化等操作,然后存储到 Elasticsearch。

    •  Kibana

    数据分析和可视化平台。与 Elasticsearch 配合使用,对其中数据进行搜索、分析、图表展示。

    •  Filebeat

    一个轻量级开源日志文件数据搜集器,Filebeat 读取文件内容,发送到 Logstash 进行解析后进入 Elasticsearch,或直接发送到 Elasticsearch 进行集中式存储和分析。

    ELK + Filebeat 搭建日志系统 - 简书
     https://www.jianshu.com/p/4c853f80892b

    二、ELK原理介绍

    基于ELK的使用方式,Logstash 作为日志搜集器,Elasticsearch 进行日志存储,Kibana作为日志呈现。

    三、ELK架构介绍

    基于ELK的使用方式,Logstash 作为日志搜集器,Elasticsearch 进行日志存储,Kibana作为日志呈现,大致以下几种架构。

    •  架构一

    Logstash 多个的原因是考虑到程序是分布式架构的情况,每台机器都需要部署一个 Logstash,如果确实是单服务器的情况部署一个 Logstash 即可。

    前面提到 Logstash 会对数据进行分析、过滤、格式化等操作,这一系列操作对服务器的 CPU 和内存资源的消耗都是比较高的,所以这种架构会影响每台服务器的性能,所以并不推荐采用。

    •  架构二

    相比于架构一,增加了一个MQ 和 Logstash, Logstash 的输出和输入支持 Kafka、Redis、RabbitMQ 等常见消息队列, MQ 前的 Logstash 只作为日志收集和传输,并不解析和过滤,先将日志加入队列,由 MQ 后面的

    Logstash 继续解析和过滤,这样就不至于每台服务器消耗资源都很多。

    •  架构三

    这种架构是基于架构二简化来的,实际在使用过程中也是可以采取的,日志直接进入 MQ,Logstash 消费 MQ 数据即可。

    四、ELK简易环境安装

    ES和kibana的版本要一致,不然的话,可能就一步小心的话就会出现掉坑了。

    五、分布式日志解决方案ELK在ASP.NET Core中运用

    六、总结

    6.1、使用ELK必要性(解决运维痛点)

    •  开发人员不能登录线上服务器查看详细日志

    •  各个系统都有日志,日至数据分散难以查找

    •  日志数据量大,查询速度慢,或者数据不够实时

    腾讯课堂 网易云课堂 不信的话,扫一扫

    相关文章

      网友评论

          本文标题:ASP.NET Core分布式日志系统ELK实战演练

          本文链接:https://www.haomeiwen.com/subject/oxbrmhtx.html