手当たり次第に書くんだ

飽きっぽいのは本能

Grafana ダッシュボードはグラフを並べる場所ではない – 運用判断の順番を設計する

Grafana のダッシュボードは、グラフを並べる場所ではありません。運用者が異常に気づき、影響範囲を絞り、原因へ降りていく順番を固定するための画面です。CPU、メモリー、ログ件数、エラー数、Top N、直近ログを同じ画面に置いても、見る順番が設計されていなければ、障害時には情報量だけが増えます。

監視画面を作るときは、何を表示できるかではなく、運用者が何を判断する必要があるかから考えるべきです。最初に全体状態を見るのか、異常の種類を分けるのか、対象 host や service を絞るのか、最後に raw log へ降りるのか。この流れがダッシュボードの構造になります。

この記事では、Grafana ダッシュボードを「情報の置き場」ではなく「運用判断の順番」として設計する考え方を整理します。

ダッシュボードは問いの順番で作る

ダッシュボードを作るとき、最初に決めるべきなのはパネルの種類ではありません。運用者が画面を開いたときに、どの問いへ順番に答えるのかです。

順番問い見るもの
1今、異常があるのか全体件数、エラー率、alert 状態、主要 SLO
2異常の種類は何かstatus 別、level 別、source 別、service 別の内訳
3どこで起きているのかhost、namespace、app、device、site、source
4何が多いのかTop N、request line、error message、unit、remote address
5具体的な事象は何か直近ログ、trace、関連イベント、詳細メトリクス

この順番がないままパネルを増やすと、障害時に「どれを見ればよいのか」が分からなくなります。ダッシュボードは、画面を見た人の判断を減らすためにあります。

最初の画面で詳細を見せすぎない

最初の画面に raw log や細かい per-host メトリクスを詰め込むと、重要な状態が埋もれます。最初に必要なのは、異常の有無と大まかな方向です。詳細は、その後に降りる場所として用意します。

たとえば WAF のダッシュボードであれば、最初に audit entriesWAF blocks、status 別件数を見るだけで十分な場合があります。そこで 403 が増えていると分かってから、Top request line や直近ログへ進めばよいです。

最初に置くもの後段に置くもの
総件数、エラー件数、エラー率個別ログ本文
status 別、level 別、source 別の内訳特定 request line の詳細
Top N該当対象の raw log
全体 trend特定 host の細かいメトリクス

最初の画面は、原因をすべて説明する場所ではありません。原因へ向かう入口を作る場所です。

件数、比率、Top N、時系列を使い分ける

Grafana ではさまざまな可視化を使えますが、見た目で選ぶと画面が散らかります。運用上の問いに合わせて、件数、比率、Top N、時系列、一覧表を使い分けます。

表現向いている問い
単一値今どれだけ発生しているか過去 24 時間の 403 件数、現在の firing alerts
比率全体に対して異常がどの程度かエラー率、CPU request / allocatable、メモリー使用率
時系列いつ増えたか、継続しているかstatus 別件数、ログ量、HTTP 5xx
Top Nどの対象が多いかTop request line、Top remote address、Top namespace
一覧表個別事象を読むRecent WAF blocks、journal logs、raw syslog

同じデータでも、問いが違えば表現は変わります。たとえば 403 は、単一値なら現在の規模、時系列なら発生タイミング、Top N なら対象 URL、一覧表なら具体的なリクエスト内容を確認できます。

ダッシュボード変数を増やしすぎない

Grafana の変数は便利ですが、増やしすぎると画面を開いた時点で選択肢が多くなります。変数にするのは、運用上の切り口として使うものに絞ります。

変数に向くもの理由
sourceログ種別を切り替える入口になる
host発生元を絞れる
namespaceKubernetes の運用単位として使いやすい
service / appアプリケーション単位の切り分けに使える
status / level異常の種類を絞れる

一方で、request ID、URL、送信元 IP アドレスのように値が多すぎるものは、変数にすると使いにくくなりがちです。必要な場合は検索欄やログ詳細側で扱う方が自然です。

ログダッシュボードは raw log から始めない

Loki を使うと、Grafana に raw log を表示できます。しかし、ログダッシュボードを raw log から始めると、運用者は毎回ログを読んで判断しなければなりません。これは検索画面としては便利でも、ダッシュボードとしては弱い構成です。

ログダッシュボードでは、最初にログ量や分類を見せ、その後に raw log へ降りる方が扱いやすくなります。たとえば network syslog なら、総件数、deny / drop 件数、authentication failure 件数、protocol 別件数を見てから raw syslog を読む流れです。

対象先に見るもの最後に読むもの
ModSecurity audit logstatus 別件数、WAF blocks、Top request lineRecent WAF blocks
network syslogdenied / dropped、authentication failure、protocol 別件数Raw syslog
Ubuntu journalerror、warning、unit 別件数Journal logs
Ceph logHEALTH、WARN / ERR、ログ量の増減該当 daemon の詳細ログ

raw log は必要です。ただし、最初に読むものではなく、絞り込んだ後に読むものです。

メトリクスとログで見る順番を変える

Prometheus のメトリクスと Loki のログは、同じダッシュボードに並べることもできます。しかし、役割は違います。メトリクスは状態や傾向を見るためのものです。ログは出来事の説明を読むためのものです。

たとえば Kubernetes のリソースを見る画面では、CPU request / allocatable、memory request / allocatable、Pod restarts、unavailable workloads のようなメトリクスを先に見る方が自然です。一方で、WAF や syslog の画面では、status 別件数や event 件数を見てからログ詳細へ進みます。

対象最初に見るべきもの理由
Kubernetes resourceメトリクス容量、request、restart、availability の状態を見たい
WAFログ集計遮断理由や request line の傾向を見たい
network syslogログ集計deny、drop、認証失敗の発生を見たい
Cephメトリクスとログの併用容量や PG 状態はメトリクス、異常説明はログで見る

何でも同じテンプレートで表示しようとすると、画面は整って見えても判断しにくくなります。対象ごとに、最初に見るべきものは違います。

1 枚に詰め込まない

ダッシュボードを作っていると、関連しそうな情報をすべて 1 枚に入れたくなります。しかし、1 枚に詰め込みすぎると、画面を開く目的が曖昧になります。全体を見る画面、詳細を見る画面、調査用の画面は分けた方が運用しやすくなります。

画面役割置くもの
Overview異常の有無を短時間で見る主要件数、エラー率、alert、Top N
Drilldown対象や原因へ降りるsource / host / service 別、時系列、内訳
Raw / Detail具体的な事象を読むraw log、trace、詳細テーブル
Capacity容量や飽和を見るCPU、memory、storage、request / allocatable

運用者が最初に開く画面と、調査中に開く画面は同じである必要はありません。むしろ分けることで、最初の判断が速くなります。

赤いグラフを増やしても判断は速くならない

ダッシュボードに赤いグラフが多いと、危険そうには見えます。しかし、何をすればよいのかが分からなければ、運用上の価値は低いです。色は状態を伝える補助であり、判断の代わりにはなりません。

重要なのは、異常を見つけた後に次の確認先が自然に分かることです。WAF blocks が増えているなら Top request line へ進む。特定 host の journal error が増えているなら unit 別件数へ進む。Ceph の warning が増えているなら HEALTH detail や該当 daemon のログへ進む。そうした導線があると、ダッシュボードは判断を助ける道具になります。

参考資料

参考書籍

参考書籍
参考書籍

Observability Engineering

監視、ログ、メトリクス、トレースを運用判断へつなげる考え方を確認したい場合の参考書籍です。英語書籍であり、価格や在庫はリンク先で確認してください。

Amazon で見る

このリンクは Amazon アソシエイトリンクです。

関連する記事

監視とログ設計の関連記事

まとめ

Grafana ダッシュボードは、グラフを並べる場所ではありません。運用者が異常に気づき、種類を分け、対象を絞り、詳細へ降りる順番を設計する画面です。

最初に全体状態を見せ、次に status、level、source、service のような分類を見せ、最後に raw log や詳細メトリクスへ降りる構造にすると、障害時の判断が速くなります。件数、比率、Top N、時系列、一覧表は、見た目ではなく問いに合わせて選ぶべきです。

監視画面の価値は、情報量ではなく判断のしやすさで決まります。Grafana のダッシュボードを作るときは、何を表示できるかではなく、どの順番で運用判断を進めるのかから設計する必要があります。

Grafana ダッシュボードはグラフを並べる場所ではない – 運用判断の順番を設計する

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)

トップへ戻る