• Projects
  • Service
  • About
  • branding.bz
  • Podcast
  • Tips
  • FAQ
  • Recruit
  • Download
  • Contact
  • branding.bz(ブランド構築SaaS)
  • DESIGN NOW(デザインメディア)
  • X
  • LinkedIn
  • Spotify
  • Facebook

213-0011 神奈川県川崎市高津区久本3-6-7-303

© 2026 ID INC. All rights reserved

claude-skills/スキル
SKILLKnowledge Workmonitoring

signoz-explaining-dashboards

プラグイン
SigNoz
ソース
GitHub で見る ↗
説明

既存のSigNozダッシュボード(システム動作状況を可視化した監視画面)に表示されている内容を、運用現場で使う平易な言葉で説明します。ダッシュボード上の各パネル(情報ブロック)、データ検索条件、変数設定、および各パネルで注視すべき点を伝えます。 ユーザーが「このダッシュボードを説明して」「私の[X]ダッシュボードは何を表示している」「各パネルを説明してほしい」「このダッシュボードで何に気をつけるべきか」「このダッシュボードを理解するのを手伝って」といった質問をした場合、または明示的に「説明」という言葉がなくても、ダッシュボード内容の解釈を求める質問がある場合は、このスキルを使用してください。 また、サービスに新しく導入する人が、既存の監視・運用の状況を理解したいと言う場合にも使用します。

原文を表示

Explain what an existing SigNoz dashboard shows in plain operational language — the panels, queries, variables, and what to watch for on each. Make sure to use this skill whenever the user asks "explain this dashboard", "what does my [X] dashboard show", "walk me through the panels", "what should I watch for on this dashboard", or "help me understand this dashboard", or otherwise asks for an interpretation of a dashboard's contents — even if they don't say "explain" explicitly. Also use it when someone is onboarding to a service and wants to understand what its existing observability looks like.

ユースケース
  • ダッシュボードの内容を平易に説明するとき
  • 各パネルの意味や注視点を理解したいとき
  • 新しい運用担当者が監視状況を把握するとき
  • ダッシュボードの解釈や読み方を確認するとき
本文(日本語訳)

ダッシュボード解説

前提条件

このスキルはSigNoz MCP サーバーのツール(signoz_get_dashboard、signoz_list_dashboards)を呼び出します。ワークフローを実行する前に、これらのツールが利用可能であることを確認してください。利用できない場合は、SigNoz MCP サーバーがインストール・設定されていません。最初に signoz-mcp-setup を実行して、MCP接続(他のツールとの連携)を初期化または修復してください。ダッシュボードのタイトルだけで内容を推測しないようにしてください。

次のような場合に使用

  • 既存のダッシュボードを理解・説明・解釈したい
  • 各パネル(表示部品)が何を示していて、なぜ重要なのかを知りたい
  • ダッシュボードで何に注目するべきか、正常・異常な状態がどのようなものかを知りたい
  • ダッシュボードの変数(選択肢)、フィルター、クエリー(データベースへの問い合わせ)を理解したい

次のような場合は使用しないでください:

  • ユーザーが既存ダッシュボードを変更したい → signoz-modifying-dashboards を使用

手順

ステップ1: 対象ダッシュボードを特定する

提供されたIDか、IDを直接含むダッシュボードリソースを使用します。名前だけが指定された場合、signoz_list_dashboards を呼び出して、spec.display.name に基づいて名前をIDに変換してください。全ページを確認する — filter 引数で絞込み、結果が空の場合は未指定で再実行し、offset を limit ずつ増やしてページネーション(複数ページ処理)して、total(全件数)に到達するまで続けてください。ダッシュボード名を signoz_get_dashboard に渡したり、最初のページで見つからないことで欠落していると判断しないでください。

複数のダッシュボードが該当する場合、候補を示して、どちらを説明するか確認してください。

ステップ2: ダッシュボード設定全体を取得する

ダッシュボードIDで signoz_get_dashboard を呼び出します。これは 必須 です — ダッシュボードを正確に説明するには完全なJSON設定データが必要です。タイトルだけで推測しないでください。

レスポンスから以下を理解します:

  • spec.display.name、.description、tags — ダッシュボードの識別情報と作成者から提供されたコンテキスト
  • spec.variables — ダッシュボードレベルのフィルター(ユーザーが変更できるドロップダウン)
  • spec.panels — パネルID をキーとするマップ:パネル、プラグインの種類、タイトル、クエリー
  • spec.layouts — パネルを12列グリッドに配置するグリッドエントリ(content.$refで参照)
  • 各グリッドの spec.display.title — パネルが属するセクション

ステップ3: 説明を構築する

以下の順序で説明を構成してください:

1. 概要 — ダッシュボードの目的、監視対象、データソース(メトリクス、トレース(処理の流れ)、ログ)を一段落で要約します。tags が役立つコンテキストを提供する場合は記載してください。

2. 変数とフィルター — 各変数について説明します:

  • 名前(spec.name、クエリーが参照する $handle)とフィルター対象 — signoz/DynamicVariable の場合、plugin.spec.signal 上の plugin.spec.name
  • 種類:signoz/DynamicVariable(テレメトリーから自動入力)、signoz/QueryVariable(クエリー駆動のドロップダウン)、signoz/CustomVariable(設定済み選択肢)、または TextVariable(自由入力)
  • 複数選択(allowMultiple)と「すべて」オプション対応の有無
  • パネルの filter.expression でその変数を参照 していない パネルがあれば記載 — その変数のドロップダウンを変更しても、これらのパネルには影響しません(ユーザーを困惑させるかもしれません)

3. パネル別ウォークスルー — グリッドセクション単位でパネルをグループ化します:spec.layouts を順に確認し、各グリッドの spec.display.title をセクションヘッダーとし、その spec.items(y から x の順)が $ref する先のパネルに従います。タイトルなしの単一グリッドの場合、位置順にパネルを進め、論理的なテーマで整理してください。各パネルについて:

  • タイトル と パネル種類 を日常語で、プラグイン kind から: signoz/TimeSeriesPanel(時系列グラフ)、signoz/NumberPanel(単一値)、signoz/TablePanel(表)、signoz/BarChartPanel(棒グラフ)、signoz/PieChartPanel(円グラフ)、signoz/HistogramPanel(度数分布図)、signoz/ListPanel(生のデータ行)

  • 何を表示しているか — パネルの単一クエリーを日常語で解釈します。signoz/BuilderQuery の場合、信号(メトリック種類)、集約、filter.expression、groupBy(分類軸)を説明します。signoz/CompositeQuery の場合、各メンバーと数式がそれらを組み合わせる方法を説明します。ClickHouse SQL または PromQL(メトリック検索言語)の場合、クエリーの意図を平易な英語に翻訳してください。

  • 何に注目するか — 正常な状態の様子と問題を示すパターンを説明します。具体的に:「継続して使用率80%以上は...を意味する」(単なる「高い場合は注視」ではなく)。アドバイスは、実際にクエリーされているメトリックに固定し、領域外の一般的な知識ではなく。

  • 単位 — ユーザーが値を読む方法を理解できるよう plugin.spec.formatting.unit に言及してください

複雑なクエリーのパネル:

  • 数式(コンポジット内):各メンバー(A、B、...)を個別に説明し、その後、数式が計算する内容と理由を説明します
  • 関数(レート、微分、最小・最大値クランプ、時間シフト):変換を日常語で説明します(例:「レート関数は生のカウンターを毎秒値に変換します」)

4. ダッシュボード健全性に関する観察 — ウォークスルー後、発見した構造的問題を記載します:

  • クエリーがないパネル、またはメンバーがすべて無効なコンポジット
  • spec.panels に含まれるがグリッドアイテムが参照していないパネル(レンダリングされない)
  • 定義されているが、パネルフィルターで参照されていない変数
  • 有用なはずなのに閾値(警告ラインなど)がないパネル(例:飽和警告線がない利用率パネル)
  • レート関数なしで表示されるカウンター(生のカウンターは永遠に増え続けるため、運用上のレート値にはならない)
  • スパイク(急増)を隠す可能性のある非常に広いステップ間隔
  • 読みづらいチャートが生成される可能性のある高カーディナリティ(大量の異なる値)の groupBy

5. カバレッジギャップ — ダッシュボードが実際に監視している内容に基づき、重大な可観測性領域(状態を観測できる領域)の欠落に注記します。ダッシュボードがカバーする技術や領域に直接関連するギャップのみを言及 — 無関連の領域について推測しないでください。提案として枠組みします:「Xのパネルを追加してYをカバーすることを検討してください。」

ステップ4: 次のステップを提案する

説明で浮かんだ内容に基づき、最大3つのフォローアップ意図を表面化させます — 特定パネルの基となるクエリー実行、カバレッジギャップ埋め、ユーザーがまだアラート設定していないアクショナブル(実行可能)な閾値へのアラート配線など。判断を使用;3に合わせるようパディングしないでください。

ユーザーが明らかにダッシュボードのオンボーディング(利用開始の手引き)を受けており(「これは何?」)、さらなる意図を示さなかった場合は、フォローアップをスキップしてください。不正確なチップより何もしないほうがましです。

ガードレール

  • 説明前に取得: signoz_get_dashboard を呼び出して完全な設定を取得してください。ダッシュボードのタイトルやリストだけに基づいて説明しないでください。
  • 推測ではなく解釈: クエリーを平易な運用言語に翻訳します。ユーザーが明確に要求しない限り、生のクエリーJSON をユーザーに表示しないでください。
  • 実際のコンテンツに固定: 「何に注目するか」アドバイスは、ダッシュボードの実際のメトリックとクエリーに基づき、パネルにない領域の一般的な知識ではないベースにしてください。
  • セクション別にグループ化: 各グリッドの spec.display.title を使用してパネルをグループ化し、レイアウト座標ではなく。これらのタイトルはダッシュボード作成者が意図したセクションヘッダーです。
  • デフォルトではデータクエリーを実行しない: ユーザーが要求しない限り、ライブクエリー(現在のデータ)を実行しないでください。このスキルはダッシュボード構造の理解についてのもので、現在のデータ検査ではありません。
  • ダッシュボードリストをページネーション: 名前でダッシュボードを検索する場合、ダッシュボードが存在しないと結論付ける前に、常に signoz_list_dashboards の全ページをページネーション処理してください。
  • すべてのクエリータイプ: ビルダー、ClickHouse SQL、PromQL クエリーを処理してください — 各々は異なる解釈アプローチが必要です。ビルダークエリーの場合、集約、フィルター式、groupBy を読みます。生SQL/PromQL の場合、クエリー文字列を解析し、意図を説明します。
  • スコープ境界: このスキルはダッシュボードを説明します。説明後にユーザーが何かを変更したい場合、signoz-modifying-dashboards にリダイレクトしてください。

例

ユーザー: 「PostgreSQLダッシュボードを説明してください」

エージェント:

  1. signoz_list_dashboards を呼び出す(全ページをページネーション)— ID abc-123 の「PostgreSQL Overview」ダッシュボードを見つけます。
  2. ID abc-123 で signoz_get_dashboard を呼び出す — 完全な設定を取得します。
  3. 構造化された説明を提供:
    • 概要: 「このダッシュボードは、接続、クエリーパフォーマンス、バッファキャッシュ効率、レプリケーション(データ複製)全体でPostgreSQL データベースの健全性を監視します。OpenTelemetry PostgreSQL レシーバーからメトリクスを取得します。」
    • 変数: 「2つの変数 — host_name(動的、host.name でフィルター)と database(動的、postgresql.database.name でフィルター)。両方とも複数選択対応。」
    • セクション別パネル: 各グリッドセクションを進み、すべてのパネルのメトリック、集約、注視点を説明します。
    • 健全性観察: 「'接続数'パネルに閾値がない — max_connections の80%の位置に警告線を追加することを検討してください。」
    • カバレッジギャップ: 「バキューム/自動バキューム健全性またはロック競合のパネルがありません。書き込み集約的なワークロードを管理する場合、これらの追加を検討してください。」
  4. 提案: 「パネルクエリーを実行してデータ確認するか、提案されたパネルを追加しますか?」

ユーザー: 「このダッシュボードの各パネルは何を表示していますか?」(ダッシュボードコンテキストを @mention または自動コンテキストで提供)

エージェント:

  1. 提供されたコンテキストからダッシュボードIDを抽出します。
  2. `signoz_get_dashboard
原文(English)を表示

Dashboard Explain

Prerequisites

This skill calls SigNoz MCP server tools (signoz_get_dashboard, signoz_list_dashboards). Before running the workflow, confirm the signoz_* tools are available. If they are not, the SigNoz MCP server is not installed or configured — run signoz-mcp-setup first to initialize or repair the MCP connection. Do not guess at a dashboard's contents from its title alone.

When to use

Use this skill when the user asks to:

  • Understand, explain, or interpret an existing dashboard
  • Get a walkthrough of what panels show and why they matter
  • Know what to watch for or what healthy/unhealthy looks like on a dashboard
  • Understand the variables, filters, or queries on a dashboard

Do NOT use when:

  • User wants to modify an existing dashboard → signoz-modifying-dashboards

Instructions

Step 1: Identify the target dashboard

Use a supplied id or a dashboard resource that includes its id directly. For any name-only request, call signoz_list_dashboards and resolve the name to an id, matching on spec.display.name. Cover the whole listing — narrow with the filter argument, re-run unfiltered when it comes back empty, and page by raising offset by limit until you have covered total. Never pass a dashboard name to signoz_get_dashboard or conclude it is missing from the first page.

If multiple dashboards match, present the candidates and ask which one to explain.

Step 2: Fetch the full dashboard configuration

Call signoz_get_dashboard with the dashboard id. This is mandatory — you need the complete JSON to explain the dashboard accurately. Never guess based on the title alone.

Examine the response to understand:

  • spec.display.name, .description, tags — the dashboard identity and author-provided context
  • spec.variables — dashboard-level filters (dropdowns the user can change)
  • spec.panels — a map keyed by panel id: the panels, their plugin kinds, titles, and queries
  • spec.layouts — Grid entries placing panels in the 12-column grid via content.$ref
  • each Grid's spec.display.title — the section a panel belongs to

Step 3: Build the explanation

Structure your explanation in this order:

1. Overview — One paragraph summarizing the dashboard's purpose, what it monitors, and what data sources it draws from (metrics, traces, logs). Mention the tags if they provide useful context.

2. Variables and filters — Explain each variable:

  • Name (spec.name, the $handle queries reference) and what it filters — for a signoz/DynamicVariable that is plugin.spec.name on plugin.spec.signal
  • Kind: signoz/DynamicVariable (auto-populated from telemetry), signoz/QueryVariable (query-driven dropdown), signoz/CustomVariable (configured choices), or a TextVariable (free-form input)
  • Whether it supports multi-select (allowMultiple) and an "ALL" option
  • Note if any panels do NOT reference a variable in their filter.expression — changing that variable dropdown would not affect those panels, which can be confusing

3. Panel-by-panel walkthrough — Group panels by Grid section: walk spec.layouts in order, using each Grid's spec.display.title as the section header and following its spec.items (by y then x) to the panels they $ref. For a single untitled Grid, walk panels in position order and organize by logical theme. For each panel:

  • Title and panel type in plain words, from the plugin kind: signoz/TimeSeriesPanel, signoz/NumberPanel (single value), signoz/TablePanel, signoz/BarChartPanel, signoz/PieChartPanel, signoz/HistogramPanel, signoz/ListPanel (raw rows)
  • What it shows — interpret the panel's one query in plain language. For signoz/BuilderQuery, explain the signal, aggregation, filter.expression, and groupBy. For a signoz/CompositeQuery, explain each member and how the formula combines them. For ClickHouse SQL or PromQL, translate the query intent into plain English.
  • What to watch for — describe what healthy looks like and what patterns indicate trouble. Be specific: "sustained usage above 80% means..." not just "watch if it's high". Anchor advice to the actual metric being queried, not generic domain knowledge.
  • Unit — mention plugin.spec.formatting.unit so the user knows how to read the values

For panels with complex queries:

  • Formulas (inside a composite): explain each member (A, B, ...) separately, then explain what the formula computes and why
  • Functions (rate, derivative, clampMin/Max, timeShift): explain the transform in plain terms (e.g., "rate converts the raw counter into a per-second value")

4. Dashboard health observations — After the walkthrough, note any structural issues you spotted:

  • Panels with no query, or a composite whose members are all disabled
  • Panels in spec.panels that no grid item references (they never render)
  • Variables defined but not referenced in any panel filter
  • Panels missing thresholds where they would be useful (e.g., utilization panels without a saturation warning line)
  • Counters displayed without a rate function (raw counters produce ever-increasing ramps, not operational rates)
  • Very wide step intervals that could hide spikes
  • Panels with high-cardinality groupBy that may produce unreadable charts

5. Coverage gaps — Based on what the dashboard actually monitors, note significant observability areas that are absent. Only mention gaps that are directly related to the technology or domain the dashboard covers — do not speculate about unrelated areas. Frame as suggestions: "You may want to consider adding panels for X to cover Y."

Step 4: Offer next steps

Surface up to 3 follow-up intents based on what the explanation surfaced — things like running a specific panel's underlying query, filling a coverage gap, or wiring an alert for an actionable threshold the user has not yet alerted on. Use your judgment; do not pad to 3.

Skip follow-ups when the user was clearly just onboarding to the dashboard ("what is this?") and showed no further intent. No chips beat wrong chips.

Guardrails

  • Fetch before explaining: Always call signoz_get_dashboard to get the full configuration. Never explain based on the dashboard title or listing alone.
  • Interpret, don't dump: Translate queries into plain operational language. Never show raw query JSON to the user unless they specifically ask.
  • Anchor to actual content: Base "what to watch for" advice on the actual metrics and queries in the dashboard, not on generic domain knowledge unrelated to the panels present.
  • Group by sections: Use each Grid's spec.display.title to group panels, not layout coordinates. Those titles are the section headers the dashboard author intended.
  • No data queries by default: Do not run live queries unless the user asks. The explain skill is about understanding the dashboard structure, not inspecting current data.
  • Paginate dashboard listing: When searching for a dashboard by name, always paginate through all pages of signoz_list_dashboards before concluding a dashboard does not exist.
  • All query types: Handle builder, ClickHouse SQL, and PromQL queries — each requires a different interpretation approach. For builder queries, read the aggregations, filter expression, and groupBy. For raw SQL/PromQL, parse the query string and explain the intent.
  • Scope boundary: This skill explains dashboards. If the user wants to change something after your explanation, redirect to signoz-modifying-dashboards.

Examples

User: "Explain my PostgreSQL dashboard"

Agent:

  1. Calls signoz_list_dashboards (paginates all pages) — finds "PostgreSQL Overview" dashboard with id abc-123.
  2. Calls signoz_get_dashboard with id abc-123 — gets full configuration.
  3. Provides structured explanation:
    • Overview: "This dashboard monitors PostgreSQL database health across connections, query performance, buffer cache efficiency, and replication. It uses metrics from the OpenTelemetry PostgreSQL receiver."
    • Variables: "Two variables — host_name (dynamic, filters by host.name) and database (dynamic, filters by postgresql.database.name). Both support multi-select."
    • Panels by section: Walks each Grid section, explaining every panel's metric, aggregation, and what to watch for.
    • Health observations: "The 'Connection Count' panel has no threshold configured — consider adding a line at 80% of your max_connections."
    • Coverage gaps: "No panels for vacuum/autovacuum health or lock contention. Consider adding these if you manage write-heavy workloads."
  4. Offers: "Want me to run any panel queries to check for data, or add the suggested panels?"

User: "What does each panel on this dashboard show?" (with dashboard context provided via @mention or auto-context)

Agent:

  1. Extracts the dashboard id from the provided context.
  2. Calls signoz_get_dashboard — gets full configuration.
  3. Provides a focused panel-by-panel walkthrough grouped by Grid section, explaining what each panel shows and what to watch for.
  4. Skips the health/gaps sections unless something notable stands out, since the user asked specifically about panels.

User: "Help me understand this LLM monitoring dashboard — I'm new to it"

Agent:

  1. Identifies the dashboard, fetches full config.
  2. Provides a beginner-friendly explanation with more context per panel:
    • Explains what the metrics mean (e.g., "Token usage measures how many tokens your LLM calls consume, which directly impacts cost")
    • Explains what the variables control and recommends starting with the "ALL" option to see the full picture before filtering
    • Highlights the most important panels to watch daily vs. those useful only during debugging
  3. Offers to set up alerts on critical panels.

原文・著作権は Anthropic および各プラグイン作者に帰属します。日本語訳は Claude API による自動翻訳です。