日志易 V3.1 正式发布,版本亮点抢“鲜”看
新年伊始,日志易团队正式发布了 3.1 版本,相信大家伙儿翘首已久,3.1 版对很多功能模块进行了重构或升级,以下是一些重要更新:
Agent 采集支持更多数据类型:新增 Trace 监控系统数据、Docker 容器指标数据等十多种数据源的接入;
SPL 新增两个指令:gentimes 指令用于生成指定范围的时间戳数据,streamstats 用于对数据的连续性变化进行累积统计;
Cruxee 告警应用:统一多平台产生的告警信息,进行告警归并,解决告警风暴问题,实现智能告警;
Galaxee 大屏:新增交易状态监控、安全态势感知、双十一监控等内置模板,增加搜索控件;
权限模块重构和优化,让权限控制更灵活、更精准。
下面小编将对这些重点更新做逐一解读,公众号读者们先尝个鲜!
1、Agent 微服务监控数据采集
日志分析的第一步是数据采集,日志易 Agent 是平台的重要组成部分。此次 3.1 版本新增了针对微服务应用场景的数据采集,值得重点关注。
Trace 监控数据
随着微服务架构的流行,一些微服务架构下的问题也日益突出,服务之间的依赖性和复杂的调用链使得异常定位非常困难,因此催生了众多 APM(应用性能管理)工具,用于分布式追踪、性能指标分析、服务依赖分析等。日志易 V3.1 新增接入 SkyWalking、Zipkin、Pinpoint、Jaeger 四款主流监控系统的数据,实现微服务架构下业务调用链可视化与分析,以及高效的问题溯源。
Docker 指标数据
V3.1 新增接入 Docker 的指标数据,如容器的超时时间(timeout)、CPU(或者每个核心)等,对这些数据进行分析,结合日志易的异常智能检测,做到提前预知故障。
2、SPL:指令家族再添新成员
还记得之前给大家介绍过的 SPL 元素周期表(谁说 BUG、加班才是“程序猿”的标配?NO ! 技术人员也能这样玩)吗?V3.1 又新增了两个实用的指令。
gentimes 指令
该指令可以生成指定范围的时间戳数据,其作用类似 bucket 指令,不同在于 gentimes 不会跳过空数据。它只有一个必要参数 start ,即指定开始时间。
gentimes 指令的一个应用场景是给仪表盘添加动态过滤项,比如按周选择搜索时间范围。
streamstats 指令
该指令对数据的连续性变化进行累积性的统计,并将统计结果以新字段的方式添加在原始数据中。
3、Cruxee:告警风暴终结者
随着网络的发展,大数据时代的到来,运维工程师经常被告警风暴困扰,告警风暴的形成主要有这几个原因:
- 告警重复度高,告警策略执行周期计算,会持续产生重复报警。
- 告警关注度不足,尤其是夜间告警的关注率低至25% 。
- 告警接收人冗余,报警策略的接收人往往填写了运维团队中的所有人,但实际值班人只有一个,大家按周期轮转。因此,对于一个特定的报警,大部分同学是不需要即时关注的。
- 告警时效性不足,40% 以上告警只需要简单的处理即可恢复,比如磁盘打满或者内存泄露等。
日志易 V3.1 提供的 Cruxee 应用,即事件合并处理应用,可以把若干描述同一故障的报警合并在一起,让值班工程师可以快速捕捉到故障本质,甚至故障根因,而并非一味地削减报警量。
Cruxee 工作原理图
Cruxee 的特点
- 多平台告警统一。不仅可以处理日志易平台发出的告警,来自不同平台的告警都可以进入合并系统,进行进一步的分析和使用。
- 事件流模式,实时接收告警。
- 提取本质信息。解决告警冗余并不是简单删除重复的告警,而是保留告警信息,并进行合理的合并。Cruxee 提供默认归并策略,同时支持用户自定义归并策略。告警的周期时间短,告警 A 和告警 B 有关联等应用情景都会产生告警冗余的问题,实际上运维人员并不需要处理那么多的告警,只需要处理归并后的事件。
此外,日志易监控原有的最新状态,处理状态,分组统计等功能,在 Cruxee 都能找到入口哦。
4、Galaxee:内置多个监控大屏模版
在 V3.1 中,Galaxee 大屏应用增加了交易状态监控、安全态势感知、双十一业务监控几个常用模板。此外还新增了 9 类实用控件,这里值得一提的是搜索控件,它可以将一组数据绑定到多个图表上,减少不必要的重复搜索。
5、权限管理重构与优化
V3.1 中权限管理模块进行了大量功能优化和重构,包括内置 admin、user 角色、新增角色的授权管理、取消资源分组约束、新增数据集、新增资源转授权限等十多项更新。
关于数据集
数据集是为特定业务目的定义和维护的数据集合,它是一种新的资源类型,能够更灵活地控制数据操作范围。用户可以使用数据集的别名属性构建树状结构,使用汇聚或继承构建不同的父子行为,进而得到不同的数据集合。
创建一个数据集相当于定义一个约束语句,如果两个数据集是继承式父子关系,则子数据集继承父数据集的约束条件,最终得到的是父数据集合的子集,类似于面向对象编程中类与子类的关系。如果多个数据集是汇聚式父子关系,则父数据集得到的是各子数据集的合集。