mcpField
C
create-honeycomb-board

create-honeycomb-board

github.com/honeycombio云与 DevOps28107 次安装3 周前更新
代码仓库

关于 create-honeycomb-board

create-honeycomb-board 是用于规划并创建 Honeycomb 仪表板的技能,适用于服务、功能或事件。它指导查询发现与验证、面板布局,并要求创建前预览;看板创建后无法更新。

主要功能

  1. 01收集 SLO 和应用上下文
  2. 02发现数据集、列和查询
  3. 03运行并验证候选查询
  4. 04规划面板布局和预设筛选器
  5. 05创建前预览看板

适用场景

  1. 01构建服务健康仪表板
  2. 02跟踪功能使用情况和业务影响
  3. 03创建事件调查看板

MCP 相关

它使用 create_board、get_slos 和 run_query 等 Honeycomb MCP 工具来收集上下文、验证查询并创建看板。

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/honeycombio/agent-skill --skill create-honeycomb-board

安装后在 Claude Code 中输入/create-honeycomb-board确认已加载。

附带文件references/board-layout.mdreferences/board-queries.md

详细介绍

创建 Honeycomb 看板

使用 create_board MCP 工具在 Honeycomb 中创建看板(仪表板)。 没有更新工具 — 请在创建前仔细定义看板。

创建看板时,请考虑其用途和时间范围。示例:

  • 服务看板。此类看板应具有长期参考价值,用于查看服务的健康状况、性能和业务指标。创建此看板时,不要诊断或调查问题,也不要在文本面板中表达观点或总结图表。无论何时查看,看板都应呈现服务当时的健康状况。
  • 功能看板。此类看板应展示功能的使用趋势及其对业务的影响。此看板的时间范围应为 7 天,且不应包含任何基础设施指标或服务依赖项。
  • 问题看板。此类看板可能在事件期间或之后创建。它的时间范围应与事件相对应,并应包含调查内容以及对当前情况的判断。可以加入有助于查找问题的模式。

工作流

收集 SLO

使用 get_slos 列出环境中的 SLO。相关 SLO 将作为 slo 面板放入看板。

收集描述性背景信息

查看代码和文档(使用 Read/Grep/Glob),了解服务或功能。使用这些信息编写文本面板。尽可能添加指向 GitHub 或文档的链接。

具体内容会因看板用途而有很大差异。

应用说明和代码链接 — 适合服务看板。

功能是什么?它对业务有什么影响?— 适合功能看板。

问题是什么?有什么影响?我们发现了哪些模式?— 适合问题看板。

构建候选查询

获取 Honeycomb 上下文:调用 get_workspace_context 获取可用环境。使用 get_environment 查找数据集 — 每个数据集对应一个 OTEL_SERVICE_NAME。

代码上下文:查看所用语言及任何自定义属性(通常以 app. 为前缀)。自定义字段是拆分分析和业务指标的理想候选项。

发现列:使用 find_columns 或 get_dataset_columns。特别留意非标准列 — 它们是应用专属的。

查找查询:使用 find_queries 查看用户之前执行过的查询。检查 get_triggers,了解哪些内容会触发告警 — 这些内容体现了重要事项。

时间范围:默认使用 2 小时。对于流量较低的服务,使用 8–24 小时。功能使用看板使用 7 天。所有面板的时间范围应保持一致。

目标是创建 6–12 个图表。统计面板是额外项,不计入此限制。

运行查询前,请向用户列出候选查询并说明理由。有关每种查询应包含的内容及其编写方式,请参阅 ${CLAUDE_PLUGIN_ROOT}/skills/create-honeycomb-board/references/board-queries.md。

运行并检查查询

对每个候选查询使用 run_query。每个结果都会返回一个查询运行 PK(如 QR-abc123)— 构建看板时将其用作面板的 id。

修复错误。移除没有有用结果的查询。

规划布局

考虑视觉流以及如何让看板清晰地呈现信息。看板采用 12 列网格 — 统计面板可以并排放置,热图应占据整行宽度,拆分分析面板则适合增加高度。有关尺寸示例,请参阅 ${CLAUDE_PLUGIN_ROOT}/skills/create-honeycomb-board/references/board-layout.md。

如果查看者需要交互式筛选看板(按路由、区域、账户等级等),请考虑使用 preset_filters。

始终向用户展示拟创建的看板,不得例外

对于每个面板,请展示:

  • 文本面板:展示将显示在看板上的完整 Markdown 内容。由于看板创建后无法更新,用户需要在创建前审阅确切措辞。
  • SLO 面板:展示 SLO 名称、目标和当前合规情况。
  • 查询面板:展示名称、描述、图表类型、显示样式,以及查询链接(run_query 结果元数据中的 query_url)。简要说明查询结果。
  • 规划的布局(尺寸和分组)
  • 标签:展示计划添加到看板的标签。
  • 任何预设筛选器

最后以此句结尾:“这是我准备创建的看板。要继续吗?”

这一步不可妥协。 即使用户说“直接创建”“我相信你”或“跳过预览”,也要展示计划。用户无法对尚未看过的内容做出有意义的确认。看板创建后无法更新;唯一的补救办法是删除看板并重新开始。先展示计划,即使用户认为没有必要,也能保护他们。

唯一的例外:如果用户已在本次对话中审阅并批准了某个具体计划,则可以继续操作。

创建看板

调用 create_board 并传入 panels 数组。每个面板都必须包含一个 type 字段——"query"、"slo" 或 "text"——用于确定适用的其他字段。完整字段参考请见 ${CLAUDE_PLUGIN_ROOT}/skills/create-honeycomb-board/references/board-layout.md。

{
  "environment_slug": "production",
  "name": "Checkout Service",
  "description": "...",
  "panels": [
    {
      "type": "text",
      "content": "## Checkout Service\nOwned by Platform team. [Source](https://github.com/...)"
    },
    {
      "type": "slo",
      "id": "SLO-abc123",
      "size": { "width": 4 }
    },
    {
      "type": "query",
      "id": "QR-abc123",
      "name": "Request Rate",
      "chart_type": "stat",
      "display_style": "chart",
      "size": { "width": 4 }
    },
    {
      "type": "query",
      "id": "QR-def456",
      "name": "Error Rate",
      "chart_type": "stat",
      "display_style": "chart",
      "size": { "width": 4 }
    },
    {
      "type": "query",
      "id": "QR-ghi789",
      "name": "Latency Distribution",
      "description": "Overall request latency as a heatmap",
      "chart_type": "default",
      "display_style": "chart",
      "size": { "width": 12, "height": 3 }
    }
  ],
  "preset_filters": [{ "column": "http.route", "alias": "Route" }],
  "tags": ["team:platform", "tier:critical"]
}
后续操作

向用户提供看板链接。

交叉引用

  • 查询构建模式和计算字段:query-patterns 技能
  • SLO 解读和燃烧率告警设计:slos-and-triggers 技能

评论

支持 Markdown