菜单
开源

调试 Grafana Alloy

按照以下步骤调试 Alloy 的问题

  1. 使用 Alloy UI 调试问题。
  2. 如果 Alloy UI 不能帮助调试问题,您可以查看日志。

Alloy UI

Alloy 包含一个嵌入式 UI,可以从 Alloy HTTP 服务器查看,默认监听地址为 https://127.0.0.1:12345

注意

出于安全原因,在非容器化平台上安装的 Alloy 默认监听 localhost。此默认设置防止网络上的其他机器查看 UI。

要在非容器化平台上将 UI 暴露给网络上的其他机器,请参阅关于您如何安装 Alloy 的文档。

如果您正在运行 Alloy 的自定义安装,请参阅 alloy run 命令的文档,了解如何更改 HTTP 监听地址,并在运行 Alloy 时传递适当的标志。

首页

Alloy UI home page

首页显示一个表格,其中包含配置文件中定义的组件及其健康状况。

单击表格中一行的查看,导航到该组件的组件详情页

单击 Alloy 徽标导航回首页。

图表页

Alloy UI graph page

图表页显示配置文件中定义的组件及其健康状况的图形视图。单击图表中的组件会导航到该组件的组件详情页

组件详情页

Alloy UI component detail page

组件详情页显示每个组件的以下信息

  • 组件的健康状况,并附带解释健康状况的消息。
  • 组件的当前评估参数。
  • 组件的当前导出。
  • 组件的当前调试信息(如果组件有调试信息)。

从那里您还可以转到组件文档或其对应的实时调试页

注意

标记为“secret”的值会被混淆,并显示为文本 (secret)

集群页

Alloy UI clustering page

集群页显示每个集群节点的以下信息

  • 节点的名称。
  • 节点的广播地址。
  • 节点的当前状态(查看器/参与者/正在终止)。
  • 服务于 UI 的本地节点。

实时调试页

Alloy UI live debugging page

实时调试提供来自组件的实时调试数据流。您可以从对应的组件详情页访问此页面。

注意

默认情况下,实时调试被禁用,以避免意外显示敏感的遥测数据。要启用实时调试,请配置 livedebugging 块

实时调试允许您执行以下操作

  • 暂停和清除数据流。
  • 采样数据并禁用自动滚动以处理重负载。
  • 使用关键字搜索数据。
  • 将整个数据流复制到剪贴板。

调试数据的格式和内容因组件类型而异。

注意

并非所有组件都提供实时调试。

支持的组件

  • loki.process
  • loki.relabel
  • loki.secretfilter
  • otelcol.processor.*
  • otelcol.receiver.*
  • prometheus.relabel
  • discovery.*

使用 UI 调试

要使用 UI 调试

  • 确保没有组件报告为不健康。
  • 确保行为异常的组件的参数和导出看起来正确。
  • 确保实时调试数据符合您的预期。

查看日志

日志也可能有助于调试 Alloy 的问题。

为了减少日志噪音,许多组件将调试信息隐藏在 debug 级别的日志行之后。建议您在调试 Alloy 问题时配置 logging以显示 debug 级别的日志行。

Alloy 日志的位置因其部署方式而异。请参阅 logging页面,了解如何查找您系统的日志。

调试集群问题

要调试使用集群时的问题,请检查以下症状。

  • 集群未收敛:集群对等节点未就其对等节点状态的相同视图达成一致。这很可能是由于集群节点之间的网络连接问题。使用每个正在运行的对等节点的 Alloy UI 来了解哪些节点未被正确拾取。
  • 集群脑裂:集群对等节点彼此不感知,认为自己是唯一存在的节点。同样,检查网络连接问题。检查提供给要加入的节点的地址或 DNS 名称是否格式正确且可访问。
  • 配置漂移:集群假设所有节点都大致在同一时间使用相同的配置文件运行。检查日志中重新加载的配置文件是否存在问题,并检查图表页以验证是否已应用更改。
  • 节点名称冲突:集群假设所有节点都具有唯一的名称。名称冲突的节点将被拒绝,并且不会加入集群。查看集群 UI 页面以获取当前对等节点及其名称的列表,并检查日志中是否有任何报告的名称冲突事件。
  • 节点卡在终止状态:节点尝试优雅地关闭并将其状态设置为“正在终止”,但它尚未完全消失。检查集群页以查看对等节点的状态,并验证正在终止的 Alloy 是否已关闭。

注意

一些看起来像是集群问题的问题可能是其他问题的症状,例如,抓取或服务发现问题可能导致 Alloy 实例缺少指标,这可以被解释为节点未加入集群。