SPL:为日志分析而生的低代码开发语言
随着众多企业发布低代码平台,“低代码开发”已成为当下技术市场热门话题。Gartner预测,到2024年,低代码应用程序开发将占所有应用程序开发活动的65%。其实,日志易平台的搜索处理语言(SPL,Search Processing Language)就是一种典型的低代码开发语言。
【图一:日志易SPL的输入编辑界面】
SPL的低代码开发特性
数据库查询有SQL语言(Structured Query Language),但SQL适用于结构化数据的查询,日志是非结构化数据,SQL不适用。SPL是专为实现对日志这种非结构化数据进行搜索、分析而开发的处理语言,比SQL更强大、更灵活。
日志分析面临数据源繁多,分析场景多样的挑战。业内传统做法是把各类日志的各种分析场景都在软件代码里实现,类似以前的功能手机,不够灵活,可扩展性差;日志易的做法是通过SPL来实现各类日志的各种分析场景,就像数据库只需要支持SQL,上面的各种业务分析通过SQL来实现一样,日志易的做法更像智能手机,非常强大、灵活,可扩展性非常好。智能手机上有数以万计的第三方应用,SPL也让日志易成为一个低代码开发平台,第三方通过SPL和日志易的API,可以开发第三方应用,类似微信小程序,目前日志易平台上已经有数百个第三方应用。
日志易SPL语言在设计上,借鉴了运维人员熟悉的Linux Shell、数据库查询SQL、Excel公式函数等语言和工具,充分复用运维人员原有知识技能,降低运维人员的学习成本,具有使用门槛低,开发效率高等优势,具体体现在:
(1)上手快。只需要几天的培训,运维人员即可掌握SPL的基本使用,对于新手,SPL还提供了类似Java语言的语法提示功能。
(2)开发快。日志易平台完成了所有日志数据源的实时采集及结构化处理,一项复杂的日志分析任务,原本可能需要数小时甚至数天的时间才能完成,现在用SPL只需几分钟。此外,SPL还提供了 “宏”功能,可以减少重复性输入工作。
(3)运行快。SPL是一种实时搜索处理语言,不需要编译、构建、发布,编写完成提交到执行出结果,仅需要数秒延迟。
低代码让工作更高效、更从容
我们知道运维人员的大部分工作内容都与故障排查和统计分析有关,众多企业通过日志易SPL,实现了日志分析工作效率的提升。目前,日志易已成功实现了数百个SPL函数及指令,全面覆盖日常运维分析和安全分析工作需求,对接了后台多种机器学习算法,实现了智能运维AIOps。在2021年1月发布的日志易平台3.5版本中,搜索页中新增了输入项功能,极大地降低用户学习编写 SPL 语言的难度,普通用户使用已存搜索+输入项即可实现快速检索,充分发挥低代码平台特性,让您的工作更高效、更从容。
【图二:日志易自研SPL语法周期表】
以农信银资金清算中心为例,在使用日志易之前,日志分析只能做到搜索日志和告警,现在通过日志易SPL还可以对数据进行统计分析,使得整个团队的运维效率大幅提升。
平安好学安全负责人林敏表示,“日志易SPL高级搜索功能在实时事件处理和数据分析等环节让安全工程师工作更加从容,同时丰富的SPL接口也极大地提升了系统的可扩展性。”