发布日期:2022-08-14 13:37:50
分享到
近年来,it系统逐渐呈现海量化和异构化的趋势,企业每天可能会产生上百gb甚至tb级的日志数据,如何实现日志数据的集中化接入,以及保障日志管理的持续拓展性,成为企业日志管理的一大难点。
01. elk 日志管理系统
集中化收集和管理所有设备上的日志的常见解决思路是建立日志管理系统,将所有设备上的日志统一收集、管理、查看。elk是目前主流的一种日志管理系统,由三个开源工具组合而成,elasticsearch logstash kibana。
① elasticsearch:是一个开源的实时分布式搜索和分析引擎,在apache lucene的基础上开发而成,可用于搜索、分析、存储数据,具有可水平扩展、高可用、易维护等特点。
② logstash:是一种具有实时传输能力的数据收集管道,用于数据收集、解析,并将数据发送给elasticsearch。
③ kibana:是一个开源、免费的可视化组件,可以为logstash和elasticsearch提供友好的日志分析web界面,将日志数据转化为各种图表。
传统的elk的架构如下所示,在需要收集日志的所有服务上部署logstash,收集、过滤日志数据,将过滤后的内容统一发送给elasticsearch,用户可以用elasticsearch进行自定义搜索日志数据,也可以通过kibana展示、分析日志数据。
elk日志管理系统不仅能够采集多种来源的日志数据,还可以集中存储数据,以界面化的方式实时检索和分析日志数据。但由于logstash占用资源大,且需要在每一个终端上都部署logstash,故elk日志管理系统新增了一个工具——filebeat,它是一个轻量级的日志收集处理工具,占用资源少,适合于在各个终端收集日志数据,然后将日志传输给logstash。
elk日志管理系统的优点如下:
即使elk日志管理系统已经如此强大,但实际上仍存在以下不足:
如果想解决以上不足,企业可以在elk的基础上自行建设一套日志管理系统,或直接购买市面上成熟的日志管理系统。
下图为可参考的一种日志管理系统的架构,先在各类终端上批量部署agent(一种轻量级的数据收集处理工具),agent实时采集日志数据,并将采集到的数据上报到kafka。
kafka作为日志管理系统的缓冲层,具备海量数据堆积、高吞吐读写的特性,可以为后面的分布式日志消费服务提供异步解耦、削峰填谷的能力。
接着,transfer作为kafka的消费者客户端,通过订阅topic实现日志数据的接收,并将非结构化、复杂难懂的日志数据解析成结构化数据。
最后,transfer将解析后的日志数据写入elasticsearch的索引中,完成日志的最终落地。
上图这种日志管理系统的架构优势是:
同时,企业可以通过搭建web界面,开发自定义功能,实现更多诉求,例如:
这套改进后的日志系统虽说能够解决很多企业管理上的痛点问题,但对于中小型企业以及主营业务并非信息技术的企业而言,建设这样一套日志管理系统的成本及资源投入往往是难以估量和接受的,毕竟一个靠谱工程师的人力成本至少是50w/年起步。
02. 嘉为蓝鲸-日志管理中心
其实在国内已经有不少优秀的日志产品,它们会专精这一领域不断优化。
如果希望快速搭建起一套企业级日志平台,注意是企业级的平台,那完全可以尝试国内成熟厂商的日志产品,这样反而能带来巨大成本上的节省,不失为一种好的选择。
例如我们的嘉为蓝鲸-日志管理中心:
1)日志统一管理
一站式提供日志全生命周期管理服务,大幅降低用户日志管理的成本,让用户能够专注于日志数据价值的挖掘。
2)日志全文检索
提供灵活、高效、方便的日志全文检索功能,帮助运维人员快速定位问题。
3)日志运维监控
通过日志关键字监控和日志指标监控,协助运维人员实时保障业务稳定。
4)日志统计分析
可灵活的构建可视化仪表盘,帮助用户实现业务日志数据统计分析。
基于业界主流的全文检索引擎,以日志数据为中心,实现了基于多源日志采集、日志清洗、日志存储和日志检索的日志统一管理,帮助用户解决分布式架构下日志收集和查询困难的问题;并使用索引集概念作为产品中的数据单元,通过对日志的监控告警和可视化分析,帮助用户深入挖掘日志数据的价值。
如果想快速搭建起一套企业级日志平台,可以考虑,若想试用,来我们凯发K8网页登录官网申请即可。
微信扫码登录
申请演示
请登录后在查看!