作者:观测云-产品方案架构师 上海办公室 范俊
前言
Opentelemetry 协议,是 CNCF (Cloud Native Computing Foundation -云原生计算基金会) 定义的最新一代可观测规范,该规范定义了可观测性的三大支柱:Metrics、Trace、Log (指标、链路、日志),三者之间的关联数据分析成为了各大厂商的必争之地。
观测云作为国内领先的可观测产品,如何打破技术壁垒,攻克难关? 数据关联最佳实践:指标、日志、链路
数据关联
指标
通常由一个"值"表示,可以是数字,字符串,浮点,布尔值等等
指标关联
前置条件
- 视图里必须添加 by 条件 (单击任意视图可查看)
- 关联目标必须带有该条件 (标签)
ruby
M::`cpu`:(LAST(`usage_total`)) BY `host`
日志
点击视图,查看相关日志 ,即可跳转至日志模块
搜索条件自动添加为 by 里面的视图变量
容器
查看相关容器,即可跳转至容器模块,快速查询该宿主机 (Node) 上所有的容器
进程
查看相关进程 ,即可跳转至进程模块,快速查询该主机上所有的进程 (需要开启 Processes 采集)
链路
查看相关链路,即可跳转至链路模块,快速查询该主机上所有的链路
日志
系统/应用运行过程中所产生的记录,故障排查的依据,也可以用作数据统计分析
日志关联
前置条件
- 通常以主机名作为关联条件 (可自定义)
- 关联目标必须带有该条件 (标签)
指标
点击任意一条日志记录,选择 指标视图,即可查看该日志所在的主机系统运行情况 (虚线代表日志记录时刻)
容器
点击任意一条日志记录,选择主机,查看相关容器,即可跳转至容器模块
搜索条件自动添加为 主机名,快速查询该宿主机 (Node) 上所有的容器
进程
查看相关进程 ,即可跳转至进程模块,快速查询该主机上所有的进程 (需要开启 Processes 采集)
链路
查看相关链路,即可跳转至链路模块,快速查询该主机上所有的链路
如果该日志存在 trace_id 属性,即可快速查看该日志关联的链路信息
安全
查看相关巡检 ,即可跳转至安全巡检模块,快速查询该主机上的安全漏洞 (需要部署 Scheck)
链路
随着互联网架构扩张,分布式系统的广泛使用,应用间的调用变得极为复杂,链路追踪可以有效地快速定位问题。
链路关联
前置条件
- 通常以主机名和 trace_id 作为关联条件 (可自定义)
- 关联目标必须带有该条件 (标签)
指标
点击任意一条链路记录,选择 主机 - 指标视图 ,即可查看该链路所在的主机系统运行情况 (虚线代表链路记录时刻)
日志
点击任意一条链路记录,选择 日志 - traceid,即可查看该链路所产生的日志记录 (需要配置日志输出 trace_id)
点击任意一条链路记录,选择 日志 - host,即可查看该链路所在主机的所有日志记录
自定义
观测云产品除了默认的数据关联功能外,还支持更加灵活的用户自定义视图关联
自定义关联
管理 - 内置视图 - 用户视图 - 创建视图,支持五种字段,分别对应不同的数据 (更多详情参考内置视图)
- service (链路服务)
- app_id (应用)
- source (日志源)
- project (项目)
- label (标记)
编辑自定义视图
搜索 source (数据来源) 为 nginx 的日志记录,自定义视图 (日志视图) 已被绑定