コンテンツにスキップ

ダッシュボードとレポート

ポーラーが集めたもの — 死活、性能、アラート、パッシブイベント、トラフィックフロー — を、Yagra の WebUI は 2 つの形に変えます。自分で組み立てるボードと、誰かに渡せるレポートです。

このページで扱うのは、ダッシュボードの仕組み、その背後にあるウィジェットのカタログ、トポロジ マップ、レポートビルダー、そして自分で選んで有効にする公開ダッシュボードモードです。

ナビゲーションには 2 種類のダッシュボードが並んでいます。

  • ダッシュボード ▸ 共有ダッシュボード — チーム全体で 1 枚のボードです。管理者が内容を選びます。 全員が同じレイアウトを見るので、壁掛けの画面としても、シフトの開始時に全員で見る出発点としても 使えます。何が落ちているか、何がアラートを上げているか、トラフィックはどこへ向かっているか。

  • ダッシュボード ▸ マイダッシュボード — ユーザーごとの個人のボードです。1 人が複数のボードを 持ち、切り替えられます。

    ですからネットワークエッジ用、サーバー用、イベント用のボードが、1 枚のレイアウトを奪い合わずに 共存できます。ここでの変更は、他の誰にも影響しません。

個人のボードを一度も保存していないユーザーには、空のページではなく、カタログの代表的な組み合わせ が出ます。ですから「My dashboard」は、自分で作り込む前から役に立ちます。そこから先は、好きなよう に変えてください。

どちらの種類も、Customize モードで同じように編集します。

  • カタログからウィジェットを追加し、不要なものを削除します。カタログは後述のセクション別に 並んでいます。
  • ドラッグ&ドロップでタイルを並べ替えます。グリッドは自動で吸着するので、隙間ができません。
  • 角をドラッグしてウィジェットの大きさを変えます。背の高い内容には、ウィジェットごとに段階的な 高さを選べます。ですから長いイベントフィードと小さなステータスリングが、無駄な余白なしに 1 枚の ボードに同居できます。
  • カードに名前を付けます。 見出しが入力欄になるので、同じ種類のカードを 2 枚置いても インターフェースのトラフィック · 本社アップリンク と インターフェースのトラフィック · 予備回線 のように読み分けられます。欄を空にすれば名前は消えます。
  • カードが何を見るかを選びます。 対象を持つカードに出る ⚙ の中で選びます — メトリクスグラフの ノードとメトリクス、メトリクス別の上位ノードのメトリクス名、インターフェースのトラフィックで描く インターフェースです。この操作は Customize モードでしかできません。とくに効くのが共有ダッシュ ボードで、全員が見るものを変える操作が、そのボードへの他の編集と同じ権限確認と同じ確認ダイアログを 通るようになります。
  • キャンセルすれば、編集は捨てられます。 保存するまで反映されないので、試行錯誤がプレゼンで 使うボードを壊すことはありません。

ダッシュボードはスマートフォンでも動きます。ボードは全幅の 1 列に折りたたまれます。移動ハンドルを 長押しすればタイルを並べ替えられます(普通のスワイプは、そのままスクロールします)。編集用の操作は、 指で押しやすい大きさに広がります。デスクトップでの編集は変わりません。

ウィジェットは、そのまま更新され続けます。今のノードの状態は、順次届きます。

ボードは数万ノードの規模でも反応が鈍らないように作ってあります。集計はサーバー側で計算します。 フリート全体をブラウザに読み込んで数えることはしません。

カタログには今、8 つのセクションに 49 個のウィジェットがあります。正確な顔ぶれはほぼ毎回の リリースで増えます。ですからセクション単位で覚えておくのが、いちばん変わりにくい見方です。

セクション 扱う範囲
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 の他の場所と同じ決まりです。

  • グラフの系列の色は、テーマ共通のパレットから取ります。ですからすべてのウィジェットが、ライト モードでもダークモードでも読めます。ノードの状態を表す色は、ウィジェット・ノードツリー・トポロジ マップで同じです。

ネットワークマップは、フリートをグラフとして描き、今の状態で色を付けます。色は他の 画面とまったく同じです。

操作は、デスクトップならドラッグで移動、ホイールで拡大縮小。スマートフォンなら 2 本指のピンチです。

トポロジのメニューには入っていません。開く場所は次の 3 つです。

  1. Nodes のツリーで、フォルダかノードを右クリックして ネットワークマップで表示。 「未分類」の見出しでは、ネットワーク全体が開きます。
  2. ノードの画面の マップで表示 ボタン。
  3. Geo map のピン。押すと、ノード一覧とネットワークマップのどちらで開くかを選べます。

Nodes でフォルダを選ぶと、Health の下にもそのフォルダの地図が出ます。この欄では、Ctrl(Mac は ⌘)を 押しながらホイールを回すと拡大します。ふつうのホイールはページのスクロールです。 地図の下のバーをドラッグすると、地図の高さを変えられます(バーをダブルクリックすると 300px に戻ります)。 高さはブラウザに覚えます。

マップはフォルダを 1 つずつ描きます。ですからインベントリが数万ノードに達しても、使い続けられます。 1 つの階の描き方は、ネットワークマップで説明します。

トポロジ ▸ 依存関係は、編集できる側です。どの機器がどの機器の背後にあるかを記録した、親子の グラフです。

これは維持する価値があります。単なる図ではなく、このグラフがアラートの抑制を動かすからです。

親がダウンすると、その背後にある子からのアラートは、根本原因として親に帰属します。子からの通知は 抑えられます。おかげでアクセススイッチ 1 台の障害が鳴らす呼び出しは、40 回ではなく 1 回です。

マップは抑制中のノードを区別して表示するので、障害の影響範囲が一目で分かります。

トポロジ ▸ ジオマップは、もう 1 つの問い、どこでに答えます。

座標を持つノードグループごとに、世界地図の輪郭の上へピンを 1 つ描き、そのグループの中でいちばん 悪い状態の色で塗ります。ですから多拠点の環境を、一覧ではなく地図として読めます。

地図には、今の昼と夜を重ねて表示します。日の入りから薄明の終わりまでを 4 段の影で塗ります。ピンの ツールチップには、その場所が昼・薄明・夜のどれかが出ます。昼夜ボタンで影を消せて、その選択は アカウントに保存されます。縮小は世界全体が収まる所で止まります。拡大は 240 倍までで、同じ都市の中の 拠点を見分けられます。

緯度と経度は、ノード ▸ 対象グループの編集ダイアログで設定します。座標の無いグループは、単に 表示されません。ピンをクリックすると、そのグループがインベントリで開きます。

抑制、根本原因ロールアップ、そしてアラートパイプラインの残りの挙動については アラートで扱います。

ダッシュボード ▸ レポートは、ダッシュボードが読むのと同じデータから、ドキュメントを作ります。 そのまま動き続けるボードより、週次のまとめが欲しい人のためのものです。

  • 定義を保存できるレポートビルダー。 レポートは、自分で選んで並べたセクションから組み立てます。 稼働率、アラートのまとめ、キャパシティのビューなどです。組み立てたものは、名前を付けた定義として 保存します。

    ですから月次レポートは、一度定義すれば実行し直すだけです。毎回作り直す必要はありません。 セクションはそれぞれ自分の設定(対象ノード、対象期間)を持ち、ビルダー上でドラッグして並べ替え られます。

  • 出力は 3 種類。HTML、CSV、PDF です。 ブラウザで読むなら HTML、表計算に取り込むなら CSV、 チケットに添付したり経営層へ送ったりするなら PDF です。

  • スケジュール実行。 保存した定義は、繰り返しのスケジュールで実行できます。ですから定期レポート は自動で作られます。

    終わった実行は、状態(キュー待ち、実行中、成功、失敗)とともに残り、一覧に出ます。あとから開き 直したり、エクスポートしたりできます。夜のうちに終わった実行が消えてしまうことはありません。

デプロイ上の注意が 1 つあります。PDF の生成は、wkhtmltopdf を外部のコマンドとして呼び出します。

コンテナのイメージには同梱してあります。しかしネイティブ(ソースから)のインストールでは、ホスト 側に用意しておく必要があります。無い場合、PDF のエクスポートは pdf_unavailable というエラー コードとともに HTTP 503 を返します。HTML と CSV のエクスポートは、そのまま使えます。

レポートビルダーもスマートフォンで動きます。タブは横にスクロールし、セクションの設定は全幅で縦に 積まれます。

ダッシュボードを見せたい相手が、廊下の画面だったり、アカウントを持つべきでないチームだったりする ことがあります。NOC の壁掛けディスプレイ、オフィスのステータスモニタ、見るだけでよい隣のチーム などです。

ログイン不要の閲覧は、管理者が WebUI で切り替える設定です(設定 ▸ サインイン方法 ▸ 公開 ダッシュボード)。既定は OFF です。公開されるのは 1 枚のボードだけで、その中身は ダッシュボード ▸ 公開ダッシュボードで自分が組み立てたものです。

このボードを共有ボードと分けてあるのは意図的です。共有ボードは同僚向けで、匿名の訪問者では 読み込めないウィジェットを載せていることがあります。分けておけば、スイッチを入れる前に「何が外に 出るのか」を正確に確認できます。編集に必要なのは共有ボードの manage_config ではなく 管理者(manage_system)です。このボードを組むことは「見知らぬ相手が何を読めるか」を決める ことだからです。カタログにも、アカウント無しで動くウィジェットしか出てきません。

匿名として表示は、自分のセッションを付けずにリクエストを送ります。訪問者と同じ見え方を確認する 方法はこれだけです。自分のセッションがあると、どの呼び出しにも答えが返ってしまいます。

このモードは、意図的に狭く作ってあります。

  • 開く範囲はボードが決めます。 匿名の相手に開く API は、公開ボードに置いたウィジェットから 決まります。ウィジェットを外せば、それが読んでいた API も閉じます。それ以外は開きません。
  • 読み取りだけです。 書き込みはすべて、これまでどおり適切なロールを持つ認証済みセッションが 必要です。アラートの確認(ACK)、ノードの編集、あらゆる設定変更が対象です。
  • MCP は、認証が必要なままです。 /mcp と通信する AI クライアントは、公開ダッシュボードが 有効でも必ずトークンを求められます。
  • アラートの設定は閉じたままです。 しきい値ルールを見るには、設定レベルのロールが必要です。 しきい値ルールは「Yagra がいつ誰を呼び出すか」を書いたものなので、認証していない訪問者には 出しません。

匿名の訪問者が着くのはサインイン画面で、ボードではありません。ボードを公開していると、その画面に 公開ダッシュボードを表示ボタンが出て、そこから入れます。ボードは「訪問者を送り込む先」であって デプロイの玄関ではないので、公開デプロイに来た運用者にも、サインインする道がはっきり見えます。