本文是关于“全面可观测性时代,如何用好运维大数据”的演讲内容总结,主要探讨了在运维领域中,如何通过有效利用大数据来提升系统的可观测性,从而更好地管理和优化IT系统。文章分为四个部分,分别介绍了可观测性的概念、面临的挑战、具体的技术解决方案以及总结。
可观测性概念 可观测性源自控制理论,指的是能够从系统的外部输出推断其内部状态的程度。它不仅仅是指标、日志和调用链的简单组合,而是涉及到对未知问题的探索,即“未知的未知”。实现可观测性需要正确收集数据并进行有效的数据探索。
可观测性与监控的关系 监控是为了提高系统可观测性而采取的行为,而可观测性是衡量系统属性(如健壮性、性能、扩展性等)的一个指标。监控是实现高可观测性的必要条件,但不是充分条件。
已有的技术基础 目前,运维领域已经具备了一定的技术基础,包括数据采集(指标、日志、调用链)、数据统一标准(OpenTelemetry)、数据管理系统(TSDB、ES、GraphDB、数仓等)、算法(异常检测、日志聚类/异常检测、根因分析、异构数据融合)以及可视化工具(Grafana、Kibana、GraphVis)。
面临的挑战 尽管已有一定的技术基础,但仍面临一些挑战,如数据深度关联、数据灵活探索和数据统一管理。数据深度关联需要解决标签压力和浅层融合问题,目标是实现指标、日志、调用链、告警的语义关联。数据统一管理需要解决异构数据的关系代数和查询优化问题,目标是建立高效的异构数据管理系统。数据灵活探索需要融合查询和算法,目标是提升对复杂对象的查询能力。
技术解决方案 为了解决上述挑战,提出了多种技术解决方案。在数据深度关联方面,通过实体提取、实体图和时序元数据融合以及文本特征和时序特征的融合,实现异构数据的深度关联。在异构数据查询系统方面,支持时间序列、文本、图、键值等异构数据的统一管理和查询。面向关联的查询系统则通过基于时间、属性值和类型的关联查询,以及基于bitmap的数据分块和查询处理,实现指标、日志、调用链的关联查询。基于自然语言的数据探索通过自然语言到SQL的转化引擎,降低学习门槛,提高表达能力和扩展性。交互式数据分析引擎则融合了多种算法,支持不同语言开发的算法和输入数据格式的智能学习。
文章最后总结指出,可观测性着重于解决“未知的未知”问题,面临的三个数据相关挑战是深度关联、统一查询和灵活探索。通过结合异构数据、查询和算法,可以提升运维过程中的数据探索能力,从而更好地应对系统中的未知问题。
|