每当项目上线时,因为项目是集群部署的,所以,来回到不同的服务器上查看日志会变得很麻烦,你是不是也碰到这样类似的问题,那么ELK将能解决你遇到的问题!
01、ELK Stack 简介ELK 不是一款软件,而是 Elasticsearch、Logstash 和 Kibana 三种软件产品的首字母缩写 。这三者都是开源软件,通常配合使用,而且又先后归于 Elastic.co 公司名下,所以被简称为 ELK Stack 。根据 google Trend 的信息显示,ELK Stack 已经成为目前最流行的集中式日志解决方案 。
- Elasticsearch:分布式搜索和分析引擎,具有高可伸缩、高可靠和易管理等特点 。基于 Apache Lucene 构建,能对大容量的数据进行接近实时的存储、搜索和分析操作 。通常被用作某些应用的基础搜索引擎,使其具有复杂的搜索功能;
- Logstash:数据收集引擎 。它支持动态的从各种数据源搜集数据,并对数据进行过滤、分析、丰富、统一格式等操作,然后存储到用户指定的位置;
- Kibana:数据分析和可视化平台 。通常与 Elasticsearch 配合使用,对其中数据进行搜索、分析和以统计图表的方式展示;
- Filebeat:ELK 协议栈的新成员,一个轻量级开源日志文件数据搜集器,基于 Logstash-Forwarder 源代码开发,是对它的替代 。在需要采集日志数据的 server 上安装 Filebeat,并指定日志目录或日志文件后,Filebeat 就能读取数据,迅速发送到 Logstash 进行解析,亦或直接发送到 Elasticsearch 进行集中式存储和分析 。
文章插图
这种架构非常简单,使用场景也有限 。初学者可以搭建这个架构,了解 ELK 如何工作 。
2.2、Logstash 作为日志搜集器这种架构是对上面架构的扩展,把一个 Logstash 数据搜集节点扩展到多个,分布于多台机器,将解析好的数据发送到 Elasticsearch server 进行存储,最后在 Kibana 查询、生成日志报表等 。
文章插图
这种结构因为需要在各个服务器上部署 Logstash,而它比较消耗 CPU 和内存资源,所以比较适合计算资源丰富的服务器,否则容易造成服务器性能下降,甚至可能导致无法正常工作 。
2.3、Beats 作为日志搜集器这种架构引入 Beats 作为日志搜集器 。目前 Beats 包括四种:
- Packetbeat(搜集网络流量数据);
- Topbeat(搜集系统、进程和文件系统级别的 CPU 和内存使用情况等数据);
- Filebeat(搜集文件数据);
- Winlogbeat(搜集 windows 事件日志数据) 。
文章插图
这种架构解决了 Logstash 在各服务器节点上占用系统资源高的问题 。相比 Logstash,Beats 所占系统的 CPU 和内存几乎可以忽略不计 。另外,Beats 和 Logstash 之间支持 SSL/TLS 加密传输,客户端和服务器双向认证,保证了通信安全 。
因此这种架构适合对数据安全性要求较高,同时各服务器性能比较敏感的场景 。
2.4、引入消息队列机制的架构Beats 还不支持输出到消息队列,所以在消息队列前后两端只能是 Logstash 实例 。这种架构使用 Logstash 从各个数据源搜集数据,然后经消息队列输出插件输出到消息队列中 。目前 Logstash 支持 Kafka、redis、RabbitMQ 等常见消息队列 。然后 Logstash 通过消息队列输入插件从队列中获取数据,分析过滤后经输出插件发送到 Elasticsearch,最后通过 Kibana 展示 。
文章插图
这种架构适合于日志规模比较庞大的情况 。但由于 Logstash 日志解析节点和 Elasticsearch 的负荷比较重,可将他们配置为集群模式,以分担负荷 。引入消息队列,均衡了网络传输,从而降低了网络闭塞,尤其是丢失数据的可能性,但依然存在 Logstash 占用系统资源过多的问题 。
说了这么多理论,对于喜欢就干的小编来说,下面我将以Beats 作为日志搜集器的架构,进行详细安装介绍!
推荐阅读
- 网店的转让 店铺转让费用是怎么算的
- 梦见几个棺材放在一起 梦见三个棺材放在一起两黑一红是什么征兆
- 整个银河系的恒星都在绕着银河系的什么运动 在浩淼的银河系中,有一颗小行星
- 第二次世界大战后很快形成的东西方 这是一个发生在第二次世界大战中期
- 更改硬件后如何重新激活Windows10,详细答案在这里
- 3招教你win10提速,解决80%电脑卡慢问题,值得收藏
- 在家洗羽绒服的小窍门 羽绒服味道大用清水洗一下可以吗
- 无锡梅村是不是很穷 终极笔记是在无锡梅村拍摄的吗
- 真皮背包怎么清洗 户外背包怎么清洗
- 同一网络中如何配置多个路由器?