ダッシュボードのベストプラクティス - Amazon Managed Grafana

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

ダッシュボードのベストプラクティス

このドキュメントトピックは、Grafana バージョン 10.x をサポートする Grafana ワークスペース向けに設計されています。

Grafana バージョン 9.x をサポートする Grafana ワークスペースについては、「」を参照してくださいGrafana バージョン 9 での作業

Grafana バージョン 8.x をサポートする Grafana ワークスペースについては、「」を参照してくださいGrafana バージョン 8 での作業

このセクションでは、Grafana ダッシュボードを構築および維持する方法について、Grafana 管理者およびユーザー向けのベストプラクティスについて説明します。

作成できるさまざまな種類のダッシュボードの詳細については、Grafana Labs ウェブサイトのブログ投稿「Grafana ダッシュボード: 構築できるさまざまなタイプの完全なガイド」を参照してください。

注記

このセクションでは、モニタリングとダッシュボードのメンテナンスの戦略を作成するのに役立ちます。システムについて最もよく知っているので、このセクションを使用して理解を深めてください。最終的には、システムに最適な戦略を作成するのはユーザーの責任です。

一般的なオブザーバビリティ戦略

サーバーファームなど、モニタリングすべきことが多数ある場合は、モニタリングに十分な重要性を判断するための戦略が必要です。このページでは、モニタリング対象を選択するためのいくつかの一般的な方法について説明します。

論理戦略を使用すると、統一されたダッシュボードを作成し、オブザーバビリティプラットフォームをより簡単にスケーリングできます。

戦略のガイドライン

  • USE メソッドはマシンの満足度を示し、RED メソッドはユーザーの満足度を示します。

  • 問題の原因に関する USE レポート。

  • RED はユーザーエクスペリエンスを報告し、問題症状を報告する可能性が高くなります。

  • 両方をモニタリングすることは、システムを理解する上で重要です。ベストプラクティスとして、原因ではなく症状に警告します。通常、アラートは RED ダッシュボードで設定されます。

USE メソッド

USE は、以下を表します。

  • 使用率 — ノード CPU 使用率など、リソースがビジー状態になっている時間の割合。

  • 飽和 — リソースが行う必要がある作業の量。多くの場合、キューの長さやノード負荷です。

  • エラー — エラーイベントの数。

この方法は、CPU、メモリ、ネットワークデバイスなどのインフラストラクチャのハードウェアリソースに最適です。詳細については、Brendan Gregg のブログ記事「USE Method」を参照してください。

RED メソッド

RED は以下を表します。

  • Rate – 1 秒あたりのリクエスト数

  • エラー – 失敗したリクエストの数。

  • 期間 – これらのリクエストにかかる時間、レイテンシー測定値の分布。

この方法は、 サービス、特にマイクロサービス環境に最も適しています。サービスごとに、コードを計測して、各コンポーネントのこれらのメトリクスを公開します。RED ダッシュボードは、アラートや SLAsに適しています。適切に設計された RED ダッシュボードは、ユーザーエクスペリエンスのプロキシです。

詳細については、Tom Wilkie のブログ記事「RED メソッド: サービスの計測方法」を参照してください。

4 つのゴールデンシグナル

Google SRE ハンドブック によると、ユーザー向けシステムの 4 つのメトリクスしか測定できない場合は、これら 4 つのメトリクスに集中してください。

この方法は RED メソッドと似ていますが、飽和度が含まれています。

  • レイテンシー – リクエストの処理にかかる時間。

  • トラフィック — システムにどれだけの需要がかかるか。

  • エラー — 失敗したリクエストのレート。

  • 飽和 — システムが「フル」であること、

ダッシュボード管理の成熟度モデル

ダッシュボード管理の成熟度とは、ダッシュボードエコシステムがどの程度適切に設計され、効率的であるかを指します。ダッシュボードの設定を定期的に見直して、現在の状態と改善方法を確認することをお勧めします。

大まかに言うと、ダッシュボードの成熟度は低、中、高のいずれかに定義できます。

このトピックのコンテンツの多くは、 KubeCon 2019 年の「スリープ提供オンコール用のフールプルーフ Kubernetes ダッシュボード」のトークから取得されました。

低 – デフォルト状態

この段階では、一貫性のあるダッシュボード管理戦略はありません。ほぼすべてのユーザーがここで開始されます。

ここにいるとどのように伝えることができますか?

  • 誰でもダッシュボードを変更できます。

  • コピーされたダッシュボードが多数あり、ダッシュボードの再利用はほとんどまたはまったくありません。

  • 永遠にハングアラウンドする 1 回限りのダッシュボード。

  • バージョン管理なし (バージョン管理ではダッシュボード JSON)。

  • ダッシュボードの閲覧が多く、適切なダッシュボードが検索されます。つまり、必要なダッシュボードを見つけようとするのに多くの無駄な時間がかかっています。

  • 適切なダッシュボードに誘導するアラートがない。

中 – 系統ダッシュボード

この段階では、ダッシュボードの使用を系統的なダッシュボードで管理し始めます。戦略を立てたかもしれませんが、改善できる点がいくつかあります。

ここにいるとどのように伝えることができますか?

  • テンプレート変数を使用してスプロールを防止します。例えば、ノードごとに個別のダッシュボードは必要ありません。クエリ変数を使用できます。さらに、データソースをテンプレート変数にすることもできます。これにより、同じダッシュボードを異なるクラスター間で再利用したり、バックエンドをモニタリングしたりできます。

    アイデアについては変数、「」の例のリストを参照してください。

  • オブザーバビリティ戦略 に従った方法論的なダッシュボード。

  • 次のレベルへのドリルダウンを含む階層ダッシュボード。

  • ダッシュボード設計にはサービス階層が反映されます。例えば、サービスごとに 1 行で RED メソッドを使用できます。ダッシュボードを下にスクロールすると、行の順序にデータフローが反映される可能性があります。

  • 「いいね」と比較します。大きさが異なる場合は、サービスダッシュボードを分割します。集計されたメトリクスが重要な情報を枯渇させないようにしてください。

  • 色を意味のある方法で使用し、可能な軸を正規化する表現グラフ。

    • 意味のある色の例: 青は良いことを表し、赤は悪いことを表しています。しきい値が役立ちます。

    • 軸の正規化の例: CPU 使用率を比較するときは、マシンのコア数が異なる可能性があるため、raw 数ではなくパーセンテージで測定します。CPU 使用率をコア数で正規化すると、ビューワーは CPU 数CPUs。

  • 誘導ブラウジングは推測を減らします。

    • テンプレート変数を使用すると、ランダムまたは目的のない参照が困難になります。

    • ほとんどのダッシュボードは、アラートによって にリンクされている必要があります。

    • 閲覧はリンクで誘導されます。詳細については、「ダッシュボードリンクの管理」を参照してください。

  • バージョン管理されたダッシュボード JSON。

高 – 最適化された使用

この段階では、一貫性のある考え抜かれた戦略でダッシュボード管理の使用を最適化しました。メンテナンスが必要ですが、結果には価値があります。

  • スプロールを積極的に減らす。

    • 既存のダッシュボードを定期的に確認し、関連性があることを確認します。

    • マスターダッシュボードリストに追加された承認済みダッシュボードのみ。

    • 追跡ダッシュボードの使用。Usage Insights を活用できます。

  • 設計上の一貫性。

  • スクリプティングライブラリを使用してダッシュボードを生成し、パターンとスタイルの一貫性を確保します。

    • grafonnet (Jsonnet)

    • grafanalib (Python)

  • ブラウザでは編集されません。ダッシュボードビューワーは、変数を使用してビューを変更します。

  • ダッシュボードの閲覧は例外であり、ルールではありません。

  • 本番稼働用インスタンスではなく、その目的専用の別の Grafana インスタンスで実験とテストを実行します。テスト環境のダッシュボードが有用であることが証明されたら、そのダッシュボードをメインの Grafana インスタンスに追加します。

ダッシュボードを作成するためのベストプラクティス

このセクションでは、Grafana ダッシュボードを作成するときに従うべきいくつかのベストプラクティスの概要を説明します。

開始する前に

ダッシュボードを作成する前に考慮すべき原則を以下に示します。

ダッシュボードはストーリーを伝えたり、質問に答えたりする必要があります

ダッシュボードでどのようなストーリーを伝えようとしていますか? 大規模から小規模、一般的から特定へなど、データの論理的な進行を作成してみてください。このダッシュボードの目標は何ですか? (ヒント: ダッシュボードに目標がない場合は、ダッシュボードが本当に必要かどうかを自問してください)。

グラフをシンプルに保ち、質問する質問への回答に集中してください。例えば、「どのサーバーに問題がありますか?」という質問の場合、すべてのサーバーデータを表示する必要はありません。問題のあるデータを表示するだけです。

ダッシュボードは、認識負荷を軽減し、それに追加しないようにする必要があります

認識負荷とは、基本的に、何かを解き明かすために考えておく必要があるものです。ダッシュボードの解釈を容易にします。他のユーザーや将来 (2AM 時に何が壊れたのかを把握しようとする場合) はそれを評価します。

自問してください。

  • 各グラフが正確に何を表すかわかりますか? 明確ですか、それとも考えなければなりませんか?

  • これを他のユーザーに表示した場合、その人物がそれを把握するのにどれくらいの時間がかかりますか? それらは失われますか?

モニタリング戦略がある

新しいダッシュボードを簡単に作成できます。ダッシュボードの作成を最適化して計画に従うことは難しいですが、それだけの価値があります。この戦略は、ダッシュボードスキーム全体を管理し、個々のダッシュボード設計に一貫性を持たせる必要があります。

詳細については、「一般的なオブザーバビリティ戦略」と「ダッシュボード管理の成熟度レベル」を参照してください。

書き留める

戦略または設計ガイドラインを作成したら、時間の経過に伴う一貫性を維持するために、それらを書き留めます。

従うべきベストプラクティス

  • 新しいダッシュボードを作成するときは、わかりやすい名前になっていることを確認してください。

    • 再生または実験するダッシュボードを作成する場合は、名前に TESTまたは TMPを入力します。

    • ダッシュボード名に自分の名前またはイニシャルを含めるか、タグとして含めて、ダッシュボードの所有者を知らせることを検討してください。

    • 一時実験ダッシュボードの使用が完了したら、削除します。

  • 関連するダッシュボードを多数作成する場合は、ナビゲーションを容易にするためにそれらを相互参照する方法を検討してください。詳細については、このセクションの後半にある「ダッシュボードを管理するためのベストプラクティス」を参照してください。

  • Grafana はデータソースからデータを取得します。データソースに接続する 全般と特定のデータソースに関する基本的な理解は重要です。

  • ネットワークまたはバックエンドの負荷を軽減するために、不要なダッシュボードの更新は避けてください。例えば、データが 1 時間ごとに変更される場合、ダッシュボードの更新レートを 30 秒に設定する必要はありません。

  • 異なる単位または範囲の時系列を表示する場合は、左右の Y 軸を使用します。

  • ダッシュボードとパネルにドキュメントを追加します。

    • ダッシュボードにドキュメントを追加するには、テキストパネルの視覚化をダッシュボードに追加します。ダッシュボードの目的、便利なリソースリンク、ユーザーがダッシュボードを操作するために必要な指示事項などを記録します。

    • パネルにドキュメントを追加するには、パネル設定を編集し、説明を追加します。追加したテキストは、パネルのi左上隅にある小さな にカーソルを合わせると表示されます。

  • ダッシュボードを再利用し、テンプレートと変数 を使用して一貫性を持たせます。

  • グラフデータのスタックには注意してください。視覚化は誤解を招く可能性があり、重要なデータを隠す可能性があります。ほとんどの場合、オフにすることをお勧めします。

ダッシュボードを管理するためのベストプラクティス

このページでは、Grafana ダッシュボードを管理する際に従うべきベストプラクティスの概要を説明します。

開始する前に

ダッシュボードの管理を開始する前に考慮すべき原則を以下に示します。

戦略的オブザーバビリティ

一般的なオブザーバビリティ戦略はいくつかあります。これらを調べて、そのうちの 1 つが自分に合っているか、それとも自分で考えてみるかを決定する必要があります。いずれにしても、計画を立てて書き留め、それに従います。

必要に応じて、変化するニーズに戦略を適応させます。

成熟度レベル

ダッシュボードの成熟度はどのくらいですか? 現在のダッシュボード設定を分析し、ダッシュボード管理成熟度モデル と比較します。自分がどこにいるかを理解することは、自分がどこにいるかを判断するのに役立ちます。

従うべきベストプラクティス

  • ダッシュボードのスプロールは避けてください。つまり、ダッシュボードが制御されないほど増加します。ダッシュボードのスプロールは、適切なダッシュボードを見つける時間に悪影響を及ぼす。ダッシュボードの複製と「1 つのモノ」の変更 (悪い: 元のタグを保持する) が最も簡単なスプロールです。

    • ダッシュボードを定期的に確認し、不要なダッシュボードを削除します。

    • 一時的なダッシュボードを作成する場合、何かをテストするには、名前の前に を付けますTEST:。完了したら、ダッシュボードを削除します。

  • 大きな変更がないダッシュボードをコピーすることはお勧めしません。

    • ドキュメントの変更、バグ修正、メトリクスの追加など、元のダッシュボードの更新を見逃した。

    • 多くの場合、テンプレートパラメータを設定してビューをカスタマイズするだけのコピーが作成されています。代わりに、マスターダッシュボードへのリンクを保持し、URL パラメータ を使用してビューをカスタマイズすることでこれを行う必要があります。

  • ダッシュボードをコピーする必要がある場合は、名前を明確に変更し、ダッシュボードタグをコピーしないでください。タグは、検索中に使用されるダッシュボードの重要なメタデータです。タグをコピーすると、誤一致が発生する可能性があります。

  • ダッシュボードまたは相互参照ダッシュボードのダッシュボードを維持します。これは、いくつかの方法で行うことができます。

    • ダッシュボードリンク、パネル、またはデータリンクを作成します。リンクは、他のダッシュボードまたは外部システムに移動できます。詳細については、「ダッシュボードリンクの管理」を参照してください。

    • ダッシュボードリストパネル を追加します。その後、タグまたはフォルダ検索を実行して、表示内容をカスタマイズできます。

    • テキストパネルを追加し、マークダウンを使用して表示をカスタマイズします。