Elastic Streams 中的 Log Processing UX 设计

日志处理中的设计问题

我们很少谈项目究竟是如何开始的。

如何设计尚未完全存在的功能?

如何将 AI 能力、系统限制、真实用户痛点整合成一个连贯的体验?

Streams 就给了我们这样的挑战。

日志是 observability 中最丰富的信号之一——但也是最混乱的之一。Streams 是一个 agentic AI 驱动的解决方案,重新思考团队如何处理日志,以支持快速的 incident 调查和解决。

Streams 使用 AI 对原始日志进行分区和解析,提取相关字段,减少 schema 管理开销,并突出关键事件,如 critical errors 和 anomalies。

这让日志从一开始就可以直接用于调查,而无需 Site Reliability Engineer 与数据斗争。但为了实现这种体验,我们必须仔细重新思考流程中的核心概念和步骤 —— Processing。

Elastic Streams 中的 Processing UX 设计

日志强大,但前提是它们结构正确。今天,用户通过 Elastic Agent 上线日志,使用自定义 integration,提取像 IP 字段这样简单的信息需要:

  • 编写 GROK patterns
  • 创建 pipelines
  • 管理 mappings
  • 测试 transformation
  • 反复迭代

听起来简单的步骤实际上需要 20+ 个步骤 —— 而且大多数团队不应该需要如此深厚的专业知识。我们的目标很简单:让这一过程大幅简化。

我们早期的设计问题是:

“我们能否将这个体验从 20 个技术步骤缩减到 2 个有意义的步骤?”

这个问题塑造了我们对 Streams UX 的设计方法。

基础

在我们开始设计 Kibana 中的 UI 之前,我们先定义了一个核心心理模型。

一个 Stream 是一组存储在一起的 documents,它们共享:

  • Retention
  • Configuration
  • Mappings
  • Processing rules
  • Lifecycle behaviour

关键设计原则:

“一个 Stream 应该包含行为一致的数据。”

为什么数据一致性重要?

我们从一个示例开始来测试我们的想法。以 Nginx 的 access 和 error logs 为例。

Access logs 描述请求/响应事件:

192.168.1.10 - - [16/Feb/2026:12:32:10 +0000] "GET /api/orders/123 HTTP/1.1" 200 532 "-" "Mozilla/5.0"

Error logs 描述诊断事件:

2026/02/16 12:32:10 [error] 2719#2719: *342 connect() failed (111: Connection refused) while connecting to upstream…

如果两者都存在于同一个 Streams 中,可能导致:

  • Processing logic 冲突
  • Field divergence
  • Mapping 冲突
  • 调查工作将变得更困难

这个洞察明确了一点关键:

“Processing 不仅仅是提取字段。它是为了保护一致性。”

让复杂性可管理

Ingest 生态系统并不小、简单或假设性。真实的 pipelines 使用数十种 processors —— 从常见的 rename、set、convert 和 append,到小众类型如 urldecode 和 network_direction。

UI 必须同时支持高频操作和长尾边缘案例,同时保持结构完整。目前 Elasticsearch 支持40 多种不同的 ingest processors。我们必须确保界面能够处理这些不同类型。

我们引入了清晰的、嵌套的 pipeline 步骤结构。用户可以自信地创建、重新排序、编辑或删除单个步骤或分组步骤。嵌套的拖放功能也作为模式被加入到我们的 EUI 库中。

这为我们提供了上下文和基础,使我们能够将这些概念整合到一个对 Streams 中所有内容都具有决定性的模型中。

页面原型

Processing 功能强大 —— 但也有风险。更改解析条件或步骤可能影响:

  • Field 可用性
  • Search 行为
  • Alerts
  • AI Insights
  • 调查工作

因此我们问自己:如何让这样强大且重要的功能对用户安全?答案引出了一个核心页面原型:

Create > Preview > Confirm

这不是后期添加的 UI 模式。它直接源自我们的概念设计工作,以及对用户需要处理内容的理解。

为了支持这个原型和核心理念,我们还引入了分屏结构。

左侧:Build

这里用户可以:

  • 添加 processing 步骤
  • 定义条件
  • 应用规则
  • 利用 AI 建议,无论是整个 pipeline 创建,还是单个步骤如 GROK processor

界面保持专注、有意图且结构化。

右侧:Preview

这里用户可以:

  • 查看真实日志样本
  • 查看上下文中的提取字段
  • 对更改立即反馈,包括文档匹配和未匹配比例的洞察
  • 可选的右侧 drilldown 面板

Preview 面板成为了信心的锚点。这不仅仅是为了视觉上的对称,而是为了强化实验、控制错误并减少失误。考虑到用户可能希望在交互与详细 preview 之间切换焦点,我们为两个面板引入了可调整大小功能,从而解锁了更多的灵活性和对使用场景的控制。

AI 自动化

Streams 是智能 agent 驱动的 AI 解决方案。这为设计增加了复杂性,但也提供了从用户日志数据中解锁更多能力和洞察的机会。

AI 引入了新的矛盾:如何加速处理,同时不让它变成一个黑箱?

我们建立了几个 guardrails:

  • 清晰、简明的建议
  • 通过匹配文档指标可见的影响
  • 可检视性
  • 与 Create → Preview → Confirm 模型保持一致

Processing UX 成为 automation 与 human in the loop 之间的桥梁。日志数据是最强大的调查信号之一。每一个设计决策都强化了这一信念。

我们学到的

为未来设计并不是从屏幕开始。它从以下内容开始:

  • 边缘案例测试
  • 清晰的 mental models
  • 强有力的指导原则
  • 行为一致性
  • 可扩展且经过压力测试的 archetypes

我们知道,为了让用户能够从日志中发现有价值的洞察,他们需要有效地处理和管理数据。我们清楚自己在塑造他们整个 observability 基础。

Processing 关乎 trust、control 和可扩展的数据管理。

  • Trust 促进调查速度。
  • 调查速度促进韧性。
考虑阶梯碳交易 - 绿证联合机制的虚拟电厂多时间尺度优化调度研究(Matlab代码实现)内容概要:本文研究了考虑阶梯碳交易与绿证联合机制的虚拟电厂多时间尺度优化调度问题,并提供了基于Matlab的代码实现。研究构建了涵盖电能、碳排放权及绿色证书多重市场机制的综合调度模型,通过多时间尺度(如日前、日内、实时)协调优化虚拟电厂内部多种分布式能源(如风电、光伏、储能、可控负荷等)的出力计划,旨在实现经济收益最大化与碳排放最小化的双重目标。文中详细阐述了阶梯碳交易机制的设计,即碳排放成本随排放量增加呈阶梯式上升,激励更深层次减排;同时融合绿证交易机制,促进可再生能源消纳。通过算例仿真验证了所提模型在降低成本、减少碳排放和提升可再生能源利用率方面的有效性。; 适合人群:具备电力系统、能源经济或优化理论基础,从事综合能源系统、虚拟电厂、碳交易机制等相关领域研究的研究生、科研人员及工程技术人员。; 使用场景及目标:① 学习和复现考虑复杂市场机制(阶梯碳价+绿证)的虚拟电厂优化调度模型;② 研究多时间尺度协调优化算法在能源系统中的应用;③ 获取Matlab代码实现,用于教学演示、科研验证或进一步开发。; 阅读建议:读者应结合文中模型公式与提供的Matlab代码对照学习,重点关注目标函数和约束条件的代码实现逻辑,建议自行调整参数和场景进行仿真,以深入理解阶梯碳交易和绿证机制对调度结果的影响。
TMS FNC UI Pack v7.2.0.0 是一个为希望高效开发跨平台、跨框架应用的 Delphi/C++Builder 开发者准备的、包含完整源代码的“重型”UI 控件库。它最大的特点是基于 TMS 的 FNC (Framework Neutral Components) 架构。这意味着,你只需要学习一套组件 API,就可以在多种框架和操作系统上使用,实现“一次编码,多处部署”。 支持的操作系统:Windows、macOS、iOS、Android、Linux 等。 支持的框架:VCL (Windows原生)、FireMonkey (FMX, 跨平台)、Lazarus LCL 以及 TMS WEB Core (Web应用) 该控件包包含了极其丰富的 UI 组件,可以满足绝大多数桌面及移动应用开发需求。主要组件包括: TTMSFNCGrid: 功能强大、高性能的数据网格,支持列持久化、固定单元格、多种单元格类型、导出 PDF/Excel 等。 TTMSFNCPlanner: 用于日程管理、任务规划和资源调度的 Planner 组件。 TTMSFNCKanban: 看板组件,适用于敏捷项目管理等场景。 TTMSFNCRibbon: 仿 Office 风格的 Ribbon 工具栏组件。 TTMSFNCTreeView: 树形视图组件。 TTMSFNCRichEditor: 富文本编辑器。 TTMSFNCTabSet: 多样的页签和面板控件。 v7.2.0.0 版本主要亮点 v7.2.0.0 版本的核心亮点是对 TTMSFNCDataGrid 的重大增强,引入了 RendererSource 机制。 这个新特性允许你为单个 TTMSFNCDataGrid 控件预先准备多个独立的“渲染层” (Renderer Layer)。每个层都拥有自己独立的数据、列定义、样式和滚动状
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值