ダッシュボードとレポート
Yagra の WebUI は、ポーラーが収集したもの — 死活、性能、アラート、パッシブイベント、トラフィック フロー — を、自分で組み立てるボードと、誰かに渡せるレポートに変えます。このページでは、 ダッシュボードの仕組み、その背後にあるウィジェットカタログ、トポロジマップ、レポートビルダー、 そしてオプトインの公開ダッシュボードモードを扱います。
ダッシュボード
Section titled “ダッシュボード”ナビゲーションには 2 種類のダッシュボードが並んでいます。
- ダッシュボード ▸ 共有ダッシュボード — チーム全体で 1 つのボード。管理者がキュレーションします。 全員が同じレイアウトを見るため、壁掛けビューとしても、シフト開始時の共通の出発点としても機能 します。何が落ちているか、何がアラートを上げているか、トラフィックはどこへ向かっているか。
- ダッシュボード ▸ マイダッシュボード — ユーザーごとの個人ボード。各ユーザーは複数のボードを保持 して切り替えられるので、ネットワークエッジ用のボード、サーバー用のボード、イベント用のボードが 1 つのレイアウトを奪い合うことなく共存できます。ここでの変更は他の誰にも影響しません。
個人ボードを一度も保存したことがないユーザーには、空のページではなくカタログの代表的な断面が 表示されます。そのため「My dashboard」はカスタマイズする前から役に立ちます。そこから先は好きな ように分岐させてください。
どちらの種類も、Customize モードで同じように編集します。
- カタログから(後述のセクション別に整理されています)ウィジェットを追加し、不要なものを 削除します。
- ドラッグ&ドロップでタイルを並べ替えます。グリッドはスナップ整列し、隙間ができません。
- 角をドラッグしてウィジェットをリサイズし、背の高いコンテンツにはウィジェットごとの段階的な 高さを選べます — 長いイベントフィードとコンパクトなステータスリングが、無駄な余白なしに 1 つの ボードに同居できます。
- キャンセルすれば破棄されます — 保存するまで編集は適用されないため、試行錯誤がプレゼンに 使うボードを壊すことはありません。
ダッシュボードはスマートフォンでも動きます。ボードは全幅 1 列に折りたたまれ、移動ハンドルを長押し するとタイルを並べ替えられ(通常のスワイプはそのままスクロールします)、編集用のコントロールは タッチしやすい大きさに広がります。デスクトップでの編集は変わりません。
ウィジェットはライブに更新されます。現在のノード状態はストリームで逐次届き、ボードは数万ノード 規模でも応答性を保つように作られています — ロールアップはフリートをブラウザに読み込んで計算する のではなく、サーバー側で計算されます。
ウィジェット
Section titled “ウィジェット”カタログには現在 8 セクションにわたる 46 個のウィジェットがあります。正確な顔ぶれはほぼ毎回 のリリースで増えるので、セクション単位で捉えるのが安定した見方です。
| セクション | 扱う範囲 |
|---|---|
| Fleet health | フリート全体の状態 — 状態サマリ、現在ダウン中のノード、フリートのヘルスタイムラインなど |
| Alerting | アラートの流れ — アクティブアラート、時系列での件数と重大度の内訳、フラッピングの監視リスト |
| Performance | ライブメトリクスの Top-N ビュー — RTT、CPU、最も忙しいインターフェースなど |
| Capacity | 使用率とトレンド — インターフェース使用率のヒートマップ、集約スループット、トラフィックの急増と急減 |
| Passive events | syslog / SNMP トラップの流れ — ライブのイベントフィード、件数と種別の内訳、ノイズの多い送信元、ルールのカバレッジ |
| Traffic flow | フローのテレメトリ — トップトーカー、プロトコルの内訳、会話 Sankey など |
| Sites | 拠点単位のロールアップ — サイトマトリクス、地理マップ、依存関係ビュー |
| Monitoring | Yagra 自身の監視 — ポーラーの健全性、ディスカバリのキュー、データのカバレッジ |
具体的にイメージできるよう、代表的なウィジェットをいくつか挙げます。
- Fleet health timeline — 時系列でのフリートの状態内訳。「今夜、実際にはいつから崩れ始めたのか」 に視覚的な答えを与えます。
- Interface heatmap — フリート全体で最も混んでいるリンクを一目で。誰かが増速を申請する前に 確認すべきキャパシティビューです。
- Event feed — ライブの syslog / トラップの流れを、そのままボード上に。
- Conversation Sankey — 誰が誰と通信しているかを、フローテレメトリからフロー図として描画します。
- Poller health — Yagra が自分自身の収集を監視します。監視の死角は、それが隠してしまうはず だった障害と同じボードの上に現れます。
- Metric chart と Top nodes by metric — カタログからの 2 つの抜け道です。他のカードは あらかじめ決められた問いに答えますが、この 2 つはあなたの機器が報告していて、こちらの機器には 無いメトリクスを扱います。前者は任意のノードの任意のメトリクスをグラフ化し、後者は任意の メトリクス名でフリート全体を(現在値または直近 1 時間のピークで)順位付けします。
カタログについて知っておく価値のあることがいくつかあります。
- トラフィックフローのウィジェットはフリート全体を読み取ります — 1 ノードずつではなく、すべての エクスポーターを対象にします。そのため 1 枚のボードで、機器を先に選ぶことなく「ネットワーク全体で いま誰が通信しているのか」に答えられます。
- 任意メトリクスの 2 つのウィジェットは、誤解させるくらいなら断ります。 Metric chart は インターフェース別のメトリクスを候補に出しません(それはノードのインターフェースタブがポート ごとに描くもので、8 ポートを 1 本にまとめると別の問いへの答えになってしまいます)。また両方とも カウンタは保存値ではなく毎秒レートとして描き、Top nodes by metric はカウンタの順位付けを そもそも拒否します — カウンタの保存値で並べると、忙しさではなく稼働時間の長さで並ぶからです。 Top nodes by metric はメトリクス名を一覧から選ぶのではなく入力します。全ノードの全系列を 数え上げるのは大規模フリートで唯一もたないクエリなので、入力欄はこのブラウザが既に見たものを 候補に出しつつ、それ以外も受け付けます。
- パッシブイベントのウィジェットは切り分けを助けるためのものです。ノイズの多い送信元とルールカバレッジの ウィジェットは、イベント量がどこから来ているのか、そのうちどれがまだルールに一致していないのかを 示すために存在します。
- ノードを参照するウィジェットは人間が読める名前を表示し、内部の id はホバーで確認できます — WebUI の他の場所と同じ規約です。
- グラフはテーマ共通のパレットから系列の色を取るため、すべてのウィジェットがライトモードでも ダークモードでも読みやすく、ノードの状態色はウィジェット・ノードツリー・トポロジマップで同一です。
トポロジと依存関係グラフ
Section titled “トポロジと依存関係グラフ”トポロジ ▸ ネットワークマップはフリートをグラフとして描画し、ライブの状態で色分けします — 他の ほかの画面とまったく同じ状態色です。デスクトップではドラッグでのパンとホイールでのズーム、 スマートフォンでは 2 本指のピンチが使えます。フリート規模では、マップは全件ダウンロードして描画 するのではなくサーバー側でページングされるため、インベントリが数万ノードに達しても使い続けられます。
トポロジ ▸ 依存関係は編集可能な側です。どの機器がどの機器の背後にあるかを記録する親子の 依存関係グラフです。これは維持する価値があります。単なる図ではなく、依存関係グラフがアラート 抑制を駆動するからです。親がダウンすると、その背後にある子からのアラートは根本原因として親に 帰属させられ、子自身の通知は抑制されます。おかげでアクセススイッチ 1 台の障害は、40 回ではなく 1 回だけ呼び出しを鳴らします。マップは抑制中のノードを区別して表示するので、障害の影響範囲が一目 で分かります。
トポロジ ▸ ジオマップは、もう 1 つの問い — どこで — に答えます。座標を持つノードグループごとに ピンを 1 つ、世界地図の輪郭の上に描き、そのグループ内で最も悪い状態の色で塗ります。多拠点の環境が 一覧ではなく地図として読めるようになります。緯度・経度はノード ▸ 対象グループの編集ダイアログ で設定します。座標のないグループは単に表示されません。ピンをクリックすると、そのグループが インベントリで開きます。
抑制、根本原因ロールアップ、そしてアラートパイプラインの残りの挙動については アラートで扱います。
ダッシュボード ▸ レポートは、ダッシュボードが読むのと同じデータからドキュメントを生成します — ライブなボードよりも週次のサマリが欲しい、という人のためのものです。
- 保存できる定義を持つレポートビルダー。 レポートは、自分で選んで並べたセクション — 稼働率、 アラートのサマリ、キャパシティのビューなど — から組み立て、名前付きの定義として保存します。 そのため月次レポートは一度定義すれば再実行するだけで、作り直す必要はありません。セクションは それぞれ独自の設定(対象ノード、対象期間)を持ち、ビルダー上でドラッグして並べ替えられます。
- 3 つの出力形式: HTML、CSV、PDF。 ブラウザで読むなら HTML、表計算に取り込むなら CSV、 チケットに添付したり経営層へ送ったりするなら PDF です。
- スケジュール。 保存した定義は繰り返しのスケジュールで実行できるため、定期レポートは自動で 生成されます。完了した実行は状態(キュー待ち、実行中、成功、失敗)とともに保持・一覧表示され、 後から開き直したりエクスポートしたりできます — 夜間に終わった実行は消えてしまうのではなく、 一覧で待っています。
デプロイ上の注意が 1 つ。PDF のレンダリングは wkhtmltopdf を外部コマンドとして呼び出します。
コンテナイメージには同梱されていますが、ネイティブ(ソースからの)インストールではホスト側に
存在している必要があります。存在しない場合、PDF エクスポートはエラーコード pdf_unavailable
とともに HTTP 503 を返し、HTML と CSV のエクスポートは引き続き動作します。
レポートビルダーもスマートフォンで動きます — タブは横スクロールし、セクション設定は全幅で縦に 積まれます。
公開ダッシュボードモード
Section titled “公開ダッシュボードモード”ダッシュボードにふさわしい相手が、廊下のスクリーンや、アカウントを持つべきでないチームである
こともあります — NOC の壁掛けディスプレイ、オフィスのステータスモニタ、見るだけでよい隣の
チーム。YAGRA_PUBLIC_DASHBOARD=true を設定すると、WebUI の読み取りビューがログインなしで
開きます。ダッシュボード、ノード状態、アラート、その他の監視系の読み取りが、匿名の訪問者に対して
機能します。
このモードは意図的に狭く作られています。
- 読み取りのみ。 すべての書き込み — アラートの確認(ACK)、ノードの編集、あらゆる設定変更 — には、引き続き適切なロールを持つ認証済みセッションが必要です。
- MCP は認証が必要なままです。
/mcpと通信する AI クライアントは、公開ダッシュ ボードが有効でも常にトークンを必要とします。 - アラート設定は閉じたままです。 しきい値ルールの閲覧 — Yagra がいつ誰を呼び出すかの記述です — には設定レベルのロールが必要で、匿名の訪問者には公開されません。
このフラグの既定値は false です。設定場所は設定リファレンス
を参照してください。