实体探索概述

概述

实体探索(Entity Explorer)是云监控 2.0 中以实体为中心的统一探索与分析入口。通过实体查询,用户可以快速定位、查询和分析在云监控 2.0 中建模的各类可观测实体,实现从全局视角到细节视图的无缝探索。

背景信息

在可观测性领域,实体(Entity)指的是任何可以被独立识别和监控的对象,例如:

  • 基础设施实体:主机、容器、网络设备、存储系统。

  • 应用层实体:微服务、API接口、数据库实例、消息队列。

  • 业务实体:用户会话、业务流程、交易订单。

  • 运维实体:部署环境、代码仓库、运维人员。

实体查询的核心价值在于打破传统监控中按“产品”或“指标”划分的孤岛式视图,构建全景化的实体资产目录。用户可以在实体查询中实现以下目标:

  • 统一盘点:清晰查看UModel中定义的所有实体类型(Entity Type)及具体实体实例,并按域(Domain)和类型进行分类展示。

  • 快速检索:利用USearch查询语言,支持全文检索、精确匹配、条件过滤等多种方式,快速定位所需实体。

  • 关联分析:以任一实体为起点,探索其状态、性能指标、关联日志、链路追踪和拓扑关系,实现一站式问题诊断与分析。

功能入口

登录云监控2.0控制台,选择目标工作空间,在左侧导航栏选择应用中心 > 实体探索

核心功能特性

1. 实体总览

实体探索将 UModel 中定义的所有实体按照域(Domain)和类型(Entity Type)和 云监控 2.0 的 App 关联在一起,已经接入的实体都会分类在所属的 App 下。

  1. 支持查看所有实体的总量。

  2. 支持查看每个实体的实例数量。

  3. 如果是云产品实体,支持查看该云产品下所有实体是否全量接入。

  4. 单击实体后选中改实体的域(Domain)和类型(Entity Type)。

image

2. 实体查询与展示

  1. 查询语言介绍 实体查询支持两种查询语言:USearch 和 SPL,在实体查询页面左上角可以切换语言。 请参考USearch 实体查询语言SPL 数据处理语言

  2. 在 USearch 模式下,实体查询左上角可以选择域(Domain)和类型(Entity Type),SPL 模式不支持。

  3. USearch 查询结果会根据实体的类型(Entity Type)进行展示,包括实体的 Primary Key 和 Name 字段,以及实体的黄金指标。

image

  1. SPL 查询结果不会按照实体的类型(Entity Type)进行展示,而是展示具体字段。

image

3. 拓扑概览视图

概览拓扑将抽象的系统架构转化为可视化的数字模型,展示云环境下已接入的所有实体类别、接入数量以及各类实体的依赖关系,通过全局架构视图支持服务治理与依赖管理,为运维和开发团队提供了直观理解系统架构的有效手段。

1. 主页。

在‘所有实体’的右上角点击‘拓扑’,可以查看当前 Workspace 接入的各类实体的总量以及之间的关系。

image

2. 工具栏(左上角)。

工具栏组件支持‘缩放’及‘居中’操作。

image

3. 迷你图(右下角)。

迷你图支持快速拖动视窗,查看视窗范围。

image

4. 链路聚焦交互。

节点支持‘聚焦’操作,点击聚焦后,拓扑图仅保留以当前节点为中心的所有祖先和后代节点,更清晰的展示依赖关系和传播链路。

image

在聚焦状态下,可通过工具栏的‘取消聚焦’回到原始拓扑图。

image

5. 实体列表展示。

单击实体,右侧弹出当前实体类型下所有已接入的实体列表。

image

6. 查询

支持与 USearch 查询联动,展示所有匹配到字符串的实体的拓扑关联。

image

在 USearch 查询模式下,点击节点会展示当前查询到的所有结果的列表。

image

USearch 实体查询语言

简介

USearch 是专门用于实体查询的 SPL 语法,支持多种查询模式,包括全文检索、精确查找、条件过滤等。USearch 深度集成在云监控 2.0 中,提供全局快速查询、字段快捷下钻、指标下钻等功能。

基础语法

.entity with(
    domain='domain_pattern',     -- 域过滤
    type='type_pattern',         -- 类型过滤
    query='search_query',        -- 查询条件
    topk=10                      -- 最大返回条数
)

核心特性

  • 全文搜索:支持跨所有字段的关键词搜索。

  • 字段限定查询:支持在特定字段中进行精确搜索。

  • 逻辑条件组合:支持 AND、OR、NOT 等逻辑运算符。

  • 智能打分排序:基于 IDF 权重和列权重的相关性打分。

  • 特殊字符处理:自动处理查询中的特殊字符。

典型应用场景

-- 全文搜索
.entity with(query='web service')

-- 字段限定搜索
.entity with(query='status:running')

-- 逻辑组合查询
.entity with(query='environment:prod AND status:error')

-- 域和类型过滤
.entity with(domain='apm', type='apm.service', query='production')
详细的 USearch 语法和使用方法请参考 USearch

SPL 数据处理语言

简介

SPL语法(SLS Processing Language)是日志服务提供的数据处理语言,用于对读取出的原始数据进行结构化信息提取、字段操作和数据过滤等操作。SPL 支持多级管道级联功能,可以进行复杂的数据处理和分析。

工作原理

SPL 采用管道式处理架构:

  1. 第一级管道:索引过滤条件(如 USearch 查询)。

  2. 后续管道:SPL 指令进行数据处理。

  3. 最终输出:经过 SPL 处理后的结果数据。

核心功能

1. 数据过滤和筛选

-- 条件过滤| where status = "error"
| where cpu_usage > 0.8-- 时间范围过滤| where __time__ > "2024-01-01 00:00:00"

2. 字段操作

-- 字段提取| extend new_field = field1 + field2

-- 字段重命名| project-rename new_name = old_name

-- 字段选择| project field1, field2, field3

USearch 与 SPL 结合使用

USearch 可以作为 SPL 的数据源,实现从实体查询到数据分析的完整流程:

-- 基础组合:实体查询 + 数据处理
.entity with(domain='apm', type='apm.service', query='production')
| where language = 'java'