当前位置: 首页 > news >正文

解密可观测行业中的语义规范 — 代码世界中的“语言艺术”

可观测行业中的语义规范

语义规范可以说在我们生活中无处不在,它为某种语言或文化中的单词和短语提供了一致的意义,以促进更清晰的交流。

而在计算机世界中,语义规范也同样甚至更加关键,因为屏幕上的文本缺乏更丰富的对话环境——没有语调或肢体语言可以解读,这使得误解更容易发生,也让接手他人代码变得具有挑战性。

在可观测领域,语义规范同样重要,它可以确保一致性和清晰度。

定义和示例

在可观测领域,语义规范指的是遥测数据及其属性的命名标准。它们定义了用户在监控常见软件或库时应该如何命名其可观测数据。

例如,在典型的使用数据库驱动的应用中,语义规范定义了标准名称和值的枚举,如:

  • db.system:数据库类型(例如,mysqlpostgresql

  • db.operation.name:数据库操作(例如,SELECT

这些标准化名称可以用于各种可观测数据类型:

  • 指标(Metrics):作为指标名称或标签名称和值

  • 日志/事件(Logs/Events):作为字段名称和值

  • 跟踪(Traces):作为事件字段或属性字段名称和值

行业标准

行业中几种广泛采用的语义规范包括:

  • Elastic Common Schema

  • OpenTelemetry Semantic Conventions

  • Datadog Conventions

概念架构:V-Model

为了说明各种可观测概念之间的关系,我们可以使用 V 模型架构。

如下图,V 字母的左半边代表数据采集链路,右半边代表数据应用链路。数据从左上方经过采集、传输,进入存储,再由存储经过查询语言、API 最终应用在监控产品上,如大盘、告警等系统。


(图 1:可观测概念架构 V-Model)

语义层

  • 负责收集数据并提供数据应用(分析、仪表盘、告警)

  • 理解数据及其含义

  • 示例:名为db.connection.pool.active的指标代表应用程序连接池中的活动连接数

  • 使构建特定领域的应用程序用于数据洞察和分析成为可能

协议层

  • 增加抽象,并负责通过网络从 API/SDK 移动数据到收集器

  • 通常不需要理解特定值的含义

  • 处理指标(计数器、直方图)、日志和跟踪概念

  • 定义查询语言和数据提取的传输 API

  • 大多数 OpenTelemetry 规范集中于这一层

存储层

  • 更简单,甚至与可观测数据本身解耦

  • 按模型(时间序列或表格)和数据类型(字符串、浮点数)查看数据

  • 可观测专用数据库可包含用于高效查询和数据检索的功能

为什么语义规范很重要

在之前,可观测行业缺乏广泛认可的语义层标准。这导致了一些问题的出现:

  • 组织或公司自行定义自己的指标名称和标签

  • 需要自行定制仪表盘和警报程序,缺乏可以共享的标准程序

  • 更容易被供应商锁定(例如,Datadog 的专有规范)

因此,提供标准语义层会提供几个好处:

  • 互操作性:在不同后端之间共享代理和应用程序

  • 一致性和生态系统:为常见中间件和基础设施构建标准观测解决方案

  • 简化采用:组织可以使用理解这些语义规范的预构建仪表盘、警报和分析工具

  • 优化数据存储和计算:在其他层中实现数据存储和计算的优化

GreptimeDB 支持语义规范

GreptimeDB 是一个适用于存储和分析各种类型可观测数据的时间序列数据库(包括指标、事件和日志等),也得益于行业中建立的明确语义规范。

例如,GreptimeDB 内置 ETL 引擎可将非结构化日志解析为标准事件。我们建议用户以 OpenTelemetry 标准规范命名字段,这样将来也可以很方便地接入标准化的仪表盘和分析工具。

未来,我们也将在云端为符合语义规范的数据提供标准化的上层应用,敬请期待!

关于 Greptime

Greptime 格睿科技专注于为可观测、物联网及车联网等领域提供实时、高效的数据存储和分析服务,帮助客户挖掘数据的深层价值。目前基于云原生的时序数据库 GreptimeDB 已经衍生出多款适合不同用户的解决方案,更多信息或 demo 展示请联系下方小助手(微信号:greptime)。

欢迎对开源感兴趣的朋友们参与贡献和讨论,从带有 good first issue 标签的 issue 开始你的开源之旅吧~期待在开源社群里遇见你!添加小助手微信即可加入“技术交流群”与志同道合的朋友们面对面交流哦~

Star us on GitHub Now: https://github.com/GreptimeTeam/greptimedb

官网:https://greptime.cn/

文档:https://docs.greptime.cn/

Twitter: https://twitter.com/Greptime

Slack: https://greptime.com/slack

LinkedIn: https://www.linkedin.com/company/greptime/


http://www.mrgr.cn/news/67477.html

相关文章:

  • Scala的属性访问权限(一)默认访问权限
  • 2024年1024程序人生总结
  • 市场分化!汽车零部件「变天」
  • 引入最新fluwx2.5.4的时候报错
  • C++之vector 容器的使用
  • FreeSWITCH 验证
  • 应用冷启动详细流程分析(附源码)
  • 基于Zynq FPGA的雷龙SD NAND存储芯片性能测试
  • 正则表达式 - 简介
  • 基于Javaee实现的类星巴克订餐系统+项目源码+文档说明
  • 有Bootloader,为什么还要BROM?
  • 【comfyui教程】ComfyUI有趣工作流推荐:快速换脸,创意随手掌握!
  • 数据质量的影响因素
  • Windows安装配置node.js
  • 体感游戏开发:硬件配置的基本要求
  • C++ STL标准模板库详解:深入探索算法、容器与迭代器
  • npm 和 node 总结
  • ThreadLocal 详解——这一次彻底掌握
  • 使用CentOS宝塔面板docker搭建EasyTier内网穿透服务
  • 最新榜单!国内免费好用的OA协同软件前十名
  • 构造一个具有特定边界和向量场性质的紧致4维流形,并计算其上曲率形式的特定积分
  • ORACLE RAC用DNS服务器的配置
  • CST参数扫描设置细节
  • ChatGPT的多面手:日常办公、论文写作与深度学习的结合
  • 【开源免费】基于SpringBoot+Vue.JS周边产品销售网站(JAVA毕业设计)
  • HTML学习笔记十三