日志管理与分析(第2版)
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

第2版序言

2021年年初,我们出版了《日志管理与分析》一书后,获得不少好评。过去两年时间,日志管理与分析领域又有了新的发展,本书也与时俱进,将出版第2版。第2版除了完善第1版的一些章节,还增加了6章,分别是第8章“搜索处理语言SPL”、第12章“运维数据治理”、第14章“可观测性”、第16章“UEBA”、第17章“安全编排、自动化与响应”、第18章“行业解决方案”。

为了对日志这种复杂的数据进行分析,需要一个强大、灵活、专门针对日志的领域专用语言(Domain Specific Language, DSL)。一种路径是继续沿用数据库查询语言SQL。SQL已经在IT行业广泛应用,掌握SQL的IT工程师比较多,无须专门学习,就可以把熟悉的SQL语法用于日志分析。但SQL是专门针对数据库的结构化查询语言,把它迁移到日志这种非结构化数据上并不合适,特别是多层嵌套查询增加了脚本的难度与可读性。Splunk、日志易等产品采用新的路径,使用专门针对日志的领域专用语言——搜索处理语言(Search Processing Language, SPL)。SPL与SQL有一定相似度,但增加了管道符,类似Unix、Linux命令,通过管道符把不同命令串联,每个命令解决一个简单问题,多个命令通过管道符串联,解决复杂的问题。由于日志字段的多样性,有时我们需要在分析日志的时候抽取日志字段,也称作“读时建模”(Schema on Read),通过SPL命令可以完成“读时建模”。另外,智能运维(AIOps)把各种机器学习、人工智能算法用于日志分析,除了在产品中内置算法,还可以通过SPL命令调用外部用Python程序实现的各种算法,使产品的可扩展性大大增强。实践证明,安全分析师掌握了SPL命令后,结合自己的安全分析领域知识,使用SPL命令,可以很方便地从日志里挖掘各种攻击、渗透信息。基于SPL的安全事件分析,比传统的内置安全分析规则可扩展性更强,可以让安全分析师根据安全攻击的发展变化,随时随地使用SPL进行分析,比内置规则更及时、更灵活,也使产品在应对新的安全攻击的时候,能够不断演进,对客户也是一种投资保护,不至于因为产品过时而需要定期购买新的安全事件分析产品。SPL让日志分析产品更加强大、灵活,可扩展性更好,成为一个平台,能够支撑运维、安全、运营等不同场景。Splunk、日志易等产品都有数百个SPL命令,因此我们在第8章介绍了一些常用的SPL命令及使用场景和案例。

一些大企业在做基于日志的运维分析和安全分析时,发现首先需要做好日志数据治理。只有在做好数据治理的基础上,才能对日志进行有效分析,充分挖掘日志的价值。2021年年初,吴恩达(Andrew Ng)等人工智能、机器学习的专家就力挺机器学习运营(MLOps),认为要发挥人工智能、机器学习的价值,80%在数据,20%在算法,只有在完善数据治理的基础上,才能通过数据验证算法、训练好算法模型,发挥人工智能、机器学习的价值。数据的价值也充分体现在人脸识别、智能驾驶等人工智能领域。数据正在成为企业越来越重要的资产,数据治理相当于企业资产的管理与优化配置,因此我们增加了第12章“运维数据治理”。

随着IT系统的发展,过去的系统可用性监控(发现故障、定位故障根因)已经无法满足不断提升的需求,更多的企业采用应用性能监控,在性能下降时就及时预警,而不是等到系统不可用了才告警。容器、微服务等云原生技术的普及,导致IT系统复杂度大幅度增加,对IT系统的观测、度量也提出了更高要求。容器、微服务等云原生技术对基础资源(CPU、内存、网络、存储)的管理、调度颗粒度更细,应用资源(API、消息队列、数据库)的更新迭代更频繁,更加依赖对这些资源的观测、度量来做调度决策及衡量调度的效果,从而做出优化。除了观测、度量应用和基础资源的指标数据,还需要结合日志、链路追踪等数据一起实时分析。2016年硅谷诞生了第一家专注可观测性(Observability)的创业公司,把日志、指标、链路追踪结合在一起分析。云原生计算基金会(Cloud Native Computing Foundation, CNCF)也发布了OpenTelemetry这一可观测性开源项目和相关标准、框架。经过几年的市场培育,可观测性已经在美国等发达国家市场普及,在中国正被逐步接受。过去的可用性监控如同人生病了才去医院做检查、查找病因,而可观测性则24小时不间断地对IT系统进行全面体检,实时全面掌握IT系统的健康度。可观测性正在替代传统的运维监控,变得越来越重要。因此我们增加了第14章“可观测性”。

日志在安全领域的应用,除了做安全信息事件管理(Security Information and Event Management, SIEM),还可以用在用户实体行为分析(User and Entity Behavior Analysis, UEBA)。SIEM主要用于发现来自外部的攻击,UEBA主要用于发现内部违规行为及IT系统被渗透后来自内部的攻击。在通过SIEM或者UEBA发现了安全攻击之后,需要进行阻断,安全编排、自动化与响应(Security Orchestration Automation and Response, SOAR)可根据SIEM、UEBA的分析结果,执行事先编排好的安全响应剧本,阻断攻击。SIEM、UEBA、SOAR是安全运营中心(Security Operation Center, SOC)的核心模块。因此,我们增加了第16章“UEBA”与第17章“安全编排、自动化与响应”。

日志管理与分析已经在各行各业获得广泛应用,我们增加了第18章“行业解决方案”,介绍了日志分析在银行、证券、保险、基金、电力、石油、运营商、广电、汽车等行业的应用案例与解决方案。这些行业解决方案来自日志易工程师、客户及合作伙伴的最佳实践,在此对他们表示感谢。其中,第18.8节特别收录了日志易重要客户中移动信息技术有限公司撰写的运营商行业解决方案,在此特别鸣谢中国移动“十百千”高级专家、信息技术中心架构师左金虎等专家对本书的认可与支持,向业界提供了宝贵的实践思路与经验,供读者品读。希望这些解决方案能够帮助读者解决工作中遇到的日志管理与分析的问题。

近年来,基于自主可控的IT信创开展得如火如荼。信创改变了IT系统的底层架构,大量核心组件逐步从原来国外大厂的成熟产品替换为新开发的信创产品,这些信创新产品的稳定性还有待提升,给IT系统的运维监控和排障都带来新的挑战。x86服务器替换为ARM服务器导致计算节点增加,也增加了运维的工作量。对这些信创系统进行监控,“信创运维”由此诞生。另外,运维监控产品本身也需要做信创替换,从Splunk或者基于Elasticsearch的二次开发替换为国产日志产品。越来越多客户要求全栈信创,要求所有组件都必须是信创产品。

随着技术的发展,日志将有更多价值被挖掘出来,近年兴起的业务流程挖掘,也是基于日志进行分析的。未来日志分析可能还会用在更多场景,带来更多价值。希望《日志管理与分析(第2版)》能够给读者带来价值。

陈军

日志易CEO

2022年末于北京