パワーパックでグラフの専門知識を拡大する

概要

パワーパックは、再利用可能なダッシュボードの構成要素として、グラフの専門知識を拡張するウィジェットのテンプレート化されたグループです。パワーパックは、分野の知識や組織固有の標準をキャプチャして、組織全体で共有するための拡張性のある方法を提供します。パワーパックを使用することで、ダッシュボードの作成者は、追加のトレーニングを受けることなく、既存のダッシュボードに技術分野横断的な知識を取り入れることができるようになります。

Datadog アプリケーションのパワーパックの構成ページ。タグや属性で値を構成するセクション、パワーパックの例からのいくつかのグラフ、他のパックを参照するための右側のメニューが表示されます

パワーパックは、プリセット (Datadog によって作成) またはカスタム (ユーザーによって作成) のいずれかです。

  • プリセットパワーパックは、パフォーマンスメトリクスや機能使用量のような一般的なモニタリングパターンに対して、すぐに利用できるビューを提供します。これらは多くの場合、特定の製品やインテグレーション (RUM Page Views など) にリンクされ、Datadog によって管理されています。
  • カスタムパワーパックは、ダッシュボードの書き込み権限があれば誰でも作成でき、ユーザーが社内のベストプラクティスを共有・標準化できるようにします。

このガイドでは、カスタムパワーパックの作成と共有のためのベストプラクティスを説明します。

カスタムパワーパックはどんな時に役立つのでしょうか?

組織が成長するにつれ、専門知識や所有権が複数のチームに分散しやすくなります。パワーパックは、以下のような組織に最適です。

  • 組織内で特定の技術 (Postgres、Kafka、Node.js など) やステーク (コンプライアンスやセキュリティなど) を担当するチーム。
  • これらの技術やステークをフルスタックやビジネス主導の視点に取り入れる担当の個別チーム。

この所有権モデルは、チーム全体の標準化を促進し、ビジネスの重要なコンポーネントを監視するための組織のベストプラクティスを促進する拡張性のある方法を提供します。運用メトリクスと KPI の両方について、テクノロジーラインとチームラインに沿って所有権を分散させることで、オンコールエンジニア、SRE、経営陣などの主要な関係者が、ビジネス全体でダッシュボードの関連ビューにアクセスし解釈できるようにします。

パワーパックを作成するためのベストプラクティス

うまく構築されたパワーパックは、既存のすべてのアプリケーションチームのダッシュボードにセキュリティ観測可能性を追加するなど、組織の新しい監視パターンの採用を加速させることができます。ダッシュボードの所有者が、問題や質問を最小限に抑えながら、コンテンツを最大限に活用できるように、明確で自己完結したパワーパックを構築してください。

分かりやすいコンテンツの構築

パワーパックのコンテンツは、わかりやすいものでなければなりません。パワーパックを作成するときは、ダッシュボード上の他のグループのコンテキストでも、ダッシュボードビューワがパックを解釈し理解するために必要なコンテキストを含めるようにします。これを実現するためのツールには、次のようなものがあります。

  • グラフが何を表示しているかを表す明確で短いタイトル。
  • コンテキストを追加したメモウィジェット。
  • 予想されるしきい値と予想外のしきい値を示す水平マーカー。

メモウィジェットは、グラフを解釈するのに役立つコンテキストを提供することができます。例えば、RUM Page Views パワーパックでは、今週のページビューを前週と比較する方法について説明しています。また、System Resource Utilization パックのように、メモから外部のリソースにリンクさせることもできます。

/checkout Page Views と題されたパワーパックの例で、リアルユーザーモニタリングデータのいくつかのグラフが表示されています。右上には、グラフの 1 つに関する情報を提供するメッセージを表示するメモウィジェットがあります

水平マーカーや予測関数のようなグラフ上のマーカーは、値が何を意味するのかのコンテキストを提供することができます。例えば、Hosts Overview パックでは、Agent の NTP オフセットがグラフ上に表示されます。水平マーカーは、グラフ上でしきい値を明確に定義することで、閲覧者がしなければならない視覚的なマッピングを減らすことができます。

hosts overview と題されたパワーパックの例で、Current Agent NTP offset と題された折れ線グラフが表示されています。グラフは値 -1 と 1 の間で緑色で表示され、これらのしきい値はそれぞれオフセット -1s およびオフセット +1s とマークされています。1 と 3 の間、および -1 と -3 の間は黄色で表示され、これらのしきい値はそれぞれオフセット -3s およびオフセット +3s と表示されています。グラフは +3 と -3 を超えると赤色になります。

パワーパックを発見できるようにする

パワーパックは、ダッシュボードのウィジェットトレイに表示され、キーワード検索やタグ検索で見つけることができます。パワーパックのタイトル、説明、タグはすべて検索可能なフィールドで、誰かがあなたのパワーパックを見つけるための最も簡単な方法を提供します。

ダッシュボードのウィジェット追加メニューで、リソースというキーワードで検索している例です

適切なユーザーにパワーパックを見つけてもらうために、タイトルや説明文にユーザーが検索しそうなキーワード (「パフォーマンス」など) を含め、キーテクノロジーをタグ付けしてください。

説明文は 80 文字までに制限されています。そのパックが何のためにあり、どのように使うことができるかを簡単に要約しているのが良い説明文です。例えば、RUM Feature Usage の “View usage patterns for a UI action on a specific app page” (特定のアプリのページで UI アクションの使用量を表示する) は、パワーパックが何を追跡し、入力として何を期待するか (特定のアプリページ) を説明しており、そして “usage”、“UI”、“app” といったキーワードを含んでいます。

パワーパックのタグ付け

タグを使って、特定のパックのキーテクノロジーや検索フレーズを指定します (例: awsk8sapp)。タグのフィールドに直接 key:value のペアを記述するのは避けてください。タグは 80 文字までに制限されています。

ウィジェットトレイでパワーパックをタグで検索するには、tag:search_string 構文を使ってください。

ダッシュボードのウィジェット追加メニューで、tag:security で検索している例です

パワーパックをカスタマイズできるようにする

パワーパックは、各チームが関連するコンテキストに合わせてカスタマイズできる場合に、最も有用です。これを可能にするために構成変数を設定します。

パワーパックの作成モーダルでは、クエリに現れる一般的なフィルターに基づいて、パックに追加する変数を提案します。提案された変数にカーソルを合わせると、それがどのグラフに影響するかを確認できます。提案されなかった変数を追加するには、ダッシュボードで直接グラフを修正し、希望の変数をフィルターとして、またはテンプレート変数として使用します。

他の人がどのように使用すべきかを明確にするために、変数名を変更します。以下の例では、@appsec.typeAttackType に変更し、期待される入力を明確にしています。

パワーパックの作成画面。左側には、Powerpack Title と Group Title が表示され、どちらも Application Security Overview と入力されています。Add Tags セクションには、セキュリティとアプリが構成され、Add Variables セクションには、いくつかの変数が構成され、属性 @appsec.type には、名前として AttackType と入力されていることが示されています。その下には、Add Common Filters as Variables セクションがあり、いくつかのオプションが表示され、@appsec.category:attack_attempt フィルターが強調表示されています。右側にはいくつかのグラフがあり、そのうちの 3 つは左側の @appsec.category:attack_attempt フィルターと同じ色でハイライトされています

構成変数には 2 つの目的があります。以下のことが可能になります。

  1. ダッシュボードにパワーパックが追加される前に、チームはコンテキストにパワーパックのスコープを設定することができるようにする (セキュリティパワーパックが正しいサービスに関連していることを確認するために、service を選択するなど)。
  2. ダッシュボードにパワーパックが追加された後、ユーザーがパワーパックをフィルターできるようにする (例えば、パワーパックのセキュリティシグナルを prodstaging の両方の環境で表示する)。

各パワーパックユーザーは、ダイナミックフィルタリングを可能にするために、自分のダッシュボードに変数を保存するかどうかを決定します。以下の例では、ユーザーはテンプレート変数を通してダッシュボード上の $Environment の値を変更することができますが、$Service は常に agent に設定されています。

タグまたは属性変数の値を構成するオプションを示す画面。Tag or Attribute、Name、Value、Use as Template Variable の列があり、ダッシュボードに追加するオプションを提供するチェックボックスが表示されます。Add to dashboard チェックボックスは、$Environment ではチェックされ、$Service ではチェックされませ ん。

情報を発信する

パワーパックを作成したら、そのことを組織に知らせましょう。パワーパックについて伝えることは、パワーパックの存在を知らせると同時に、質問を受けるチャンネルにもなります。メールやメッセージングプラットフォームなどのコミュニケーションチャンネルを通じて、パワーパックの名前を組織で共有し、そのパワーパックが誰を対象としているかを明記し、それが表示される場所を記述してください。

その他の参考資料