可观测性
Deno DeployEA 提供全面的可观测性功能,帮助您了解应用程序性能、调试错误和监控使用情况。这些功能利用 OpenTelemetry 和 Deno 中内置的 OpenTelemetry 集成。
Deno DeployEA 中的三大主要可观测性功能是
- 日志:应用程序代码发出的非结构化调试信息
- 链路追踪:关于请求处理的结构化信息,包括每个步骤的执行时间以及出站 I/O 操作的自动捕获
- 指标:关于应用程序性能和使用情况的结构化、高级数据,例如请求计数、错误计数和延迟
日志 跳转到标题
Deno DeployEA 中的日志是使用标准 console
API 捕获的,并可在控制面板的日志页面进行查询。
日志按应用程序组织。您可以使用搜索栏根据各种属性和消息内容筛选日志。
当日志在链路追踪的上下文中发出时,它们会与该特定的链路追踪和跨度关联起来。对于此类日志,日志界面中会出现一个“查看链路追踪”按钮,允许您在叠加抽屉中打开相关链路追踪进行详细检查。
链路追踪 跳转到标题
Deno DeployEA 中的链路追踪通过三种方式捕获
- 内置操作的自动追踪:入站 HTTP 请求、出站 fetch 调用和其他系统操作会自动追踪。此功能无法禁用。
- 受支持框架的自动追踪:Next.js、Fresh 和 Astro 等框架包含内置的检测功能。具体涵盖的框架和操作可能会随时间变化。
- 通过自定义检测手动追踪:您的应用程序代码可以使用 OpenTelemetry API 创建新的链路追踪或跨度。
链路追踪按应用程序组织。搜索栏允许您根据各种属性和跨度名称进行筛选。
点击链路追踪会打开链路追踪叠加抽屉,以瀑布视图显示该链路追踪中的所有跨度。此可视化显示每个跨度的开始时间、结束时间和持续时间,按父跨度分组,根跨度位于顶部。
点击任何跨度都会在抽屉底部显示其详细信息,包括所有捕获的属性。例如,出站 HTTP 请求包括方法、URL 和状态码。
跨度详细信息部分还包括一个“日志”选项卡,显示在所选跨度上下文中发出的所有日志。
您可以在任何链路追踪上点击“查看日志”,以打开日志页面,搜索栏中预填入链路追踪 ID,显示与该链路追踪相关的所有日志。
指标 跳转到标题
Deno DeployEA 中的指标会自动捕获各种操作,例如入站 HTTP 请求和出站 fetch 调用。此自动捕获功能无法禁用。
指标按应用程序组织,并以时间序列图显示随时间变化的值。您可以使用搜索栏根据各种属性筛选指标。
筛选 跳转到标题
日志、链路追踪和指标可以使用以下通用属性进行筛选
- 修订版:发出数据的应用程序修订版 ID
- 上下文:数据发出的上下文(“生产”或“开发”)
对于日志和链路追踪,此附加筛选器可用
- 链路追踪:包含日志或跨度的链路追踪 ID
仅对链路追踪,以下附加筛选器可用
- HTTP 方法:触发链路追踪的请求的 HTTP 方法
- HTTP 路径:触发链路追踪的请求路径
- HTTP 状态:响应的 HTTP 状态码
时间范围筛选器 跳转到标题
默认情况下,可观测性页面显示最近一小时的数据。您可以使用每个页面右上角的时间范围筛选器更改此设置。
您可以选择预定义的时间范围,例如“最近 1 小时”、“最近 24 小时”或“最近 7 天”,或者通过点击“自定义”按钮设置自定义时间范围。
自定义时间范围可以是绝对的(特定开始和结束时间)或相对的(例如,3 天前,1 小时后)。相对时间范围使用与 Grafana 相同的语法
now
- 当前时间now-1h
- 1 小时前now/h
- 当前小时的开始now-1h/h
- 前一小时的开始now/d+3h
- 当前日期开始后的 3 小时now-1d/d
- 前一天的开始。时间范围筛选器可以设置为预定义的时间范围,例如“最近 1 小时”、“最近 24 小时”或“最近 7 天”,或自定义时间范围。
可以通过点击“自定义”按钮设置自定义时间范围。自定义时间范围可以是绝对的(特定的开始和结束时间)或相对的(3 天前、1 小时后等)。时间范围筛选器显示在页面右上角。
相对时间范围使用与 Grafana 相同的语法,其中 now
是当前时间,now-1h
是 1 小时前。此外,now-1h/h
等语法可用于将时间四舍五入到最近的小时。示例:
now-1h
- 1 小时前now/h
- 当前小时的开始now-1h/h
- 前一小时的开始now/d+3h
- 当前日期开始后的 3 小时now-1d/d
- 前一天的开始