Agent Skills by ALSEL
Anthropic ClaudeDevOps・インフラ⭐ リポ 0品質スコア 50/100

dt-obs-problems

DAVISによる問題分析を実行し、根本原因の特定・影響範囲の評価・他のテレメトリとの相関分析を行います。検出された問題の照会・調査時に使用してください。「アクティブな問題」「根本原因分析」「影響を受けたユーザー」「問題一覧」「P-12345の詳細」「Kubernetesに影響する問題」などのクエリに対応します。既存クエリの説明、製品ドキュメントの質問、一般的なログ検索、分散トレーシング、ホストレベルのリソース監視には使用しないでください。

description の原文を見る

>- DAVIS problem analysis including root cause identification, impact assessment, and correlation with other telemetry. Use when querying or investigating detected problems. Trigger: "active problems", "root cause analysis", "problem impact", "affected users", "list problems", "P-12345 details", "recurring problems", "problem history", "problem trending", "blast radius", "which entity caused the problem", "problems affecting Kubernetes", "problems by service". Do NOT use for explaining existing queries, product documentation questions, generic log searching, distributed tracing, or host-level resource monitoring.

SKILL.md 本文

問題分析スキル

Dynatrace AI が検出した問題を分析し、根本原因の特定、影響評価、ログやメトリクスとの相関関係を調査します。


ユースケース

1. アクティブな問題のトリアージ

  • 目標: 現在アクティブな問題をリストアップし、優先順位を付ける
  • トリガー: 「アクティブな問題」「オープンな問題は何か」「現在の問題」「可用性に関する問題」
  • 完了: カテゴリ、ユーザーへの影響、表示 ID を含む優先順位付きの問題リスト

2. 根本原因の調査

  • 目標: 特定の問題の根本原因となるエンティティを特定する
  • トリガー: 「P-12345 の根本原因」「この問題の原因は何か」「どのエンティティが根本原因か」
  • 完了: 根本原因となるエンティティが特定され、影響を受けるエンティティリストと波及範囲が示される

3. 問題のトレンド分析

  • 目標: 時系列で問題パターンを分析し、繰り返し発生する問題を特定する
  • トリガー: 「繰り返し発生する問題」「問題の履歴」「過去 30 日間の問題トレンド」
  • 完了: 問題の頻度、繰り返し発生する根本原因、解決時間を示すトレンドデータ

概要

Dynatrace は環境全体の異常、パフォーマンス低下、障害を自動的に検出し、関連するアラート、警告、情報レベルのイベントを集約し、根本原因と影響の洞察を提供する問題を作成します。

問題とは何か?

問題は自動的に検出されるソフトウェアおよびインフラストラクチャのヘルスと回復力に関する問題で、以下のような特徴があります:

  • 関連イベントを自動相関: サービス、インフラストラクチャ、フロントエンドアプリケーション、ユーザーセッション全体にわたるアラート、警告、情報レベルのイベントを自動的に相関させます
  • 根本原因を特定: Smartscape 依存関係の因果分析を使用して根本原因を特定します
  • ビジネス影響を評価: 影響を受けるユーザーとサービスを追跡することでビジネス影響を評価します
  • アラートノイズを削減: 関連する症状を同じ根本原因と影響を持つ単一の問題にグループ化します
  • 問題のライフサイクルを追跡: 早期検出から解決まで問題のライフサイクルを追跡します

イベントの種類

event.kind フィールド(安定版、権限が必要)は高レベルのイベントタイプを識別します:

event.kind の値説明
DAVIS_EVENTDavis が検出したインフラストラクチャ/アプリケーションイベント
BIZ_EVENTビジネスイベント(API 経由で取り込まれるか、スパンからキャプチャされる)
RUM_EVENTリアルユーザー監視イベント
AUDIT_EVENT管理/セキュリティ監査イベント

event.provider(安定版、権限が必要)はイベントソースを識別します。

問題のカテゴリ

共通の event.category の値:

カテゴリ説明
AVAILABILITYインフラストラクチャまたはサービスが利用できないWeb サービスがデータを返さない、合成テストが積極的に失敗する、データベース接続が切断される
ERRORベースライン を超えたエラー率の増加API エラー率が 0.1% から 15% に上昇
SLOWDOWNパフォーマンス低下レスポンスタイムが 200ms から 5000ms に増加
RESOURCEリソースの飽和コンテナメモリが 95% に達し、OOM キルが発生
CUSTOMカスタム異常検出ビジネス KPI(注文数/分)がしきい値を下回る

問題のライフサイクル

検出 → アクティブ → 調査中 → クローズ
  • ACTIVE: 現在発生している注意が必要な問題
  • CLOSED: 履歴分析に使用される解決済みの問題

重要なフィールド

よくあるフィールド名の間違い

❌ 誤り✅ 正解説明
titleevent.name問題のタイトル/説明
statusevent.status問題のライフサイクルステータス
severityevent.category問題のタイプ/カテゴリ
startevent.start問題の開始時刻

正しいステータス値

// ✅ 正解: これらのステータス値を使用してください
fetch dt.davis.problems
| filter event.status == "ACTIVE"   // 現在発生している問題
//     or event.status == "CLOSED"  // 解決済みの問題
// ❌ 誤り: event.status == "OPEN" は存在しません!
| limit 1

キーフィールド リファレンス

fetch dt.davis.problems, from:now() - 1h
| filter not(dt.davis.is_duplicate)
| fields
    event.start,                          // 問題開始タイムスタンプ
    event.end,                            // 問題終了タイムスタンプ(クローズされた場合)
    display_id,                           // 人間が読める問題 ID(P-XXXXX)
    event.name,                           // 問題タイトル
    event.description,                    // 詳細説明
    event.category,                       // 問題のタイプ
    event.status,                         // ACTIVE または CLOSED
    dt.smartscape_source.id,              // 影響を受けるリソースの smartscape ID
    dt.davis.affected_users_count,        // 影響を受けるユーザー数
    smartscape.affected_entity.ids,        // 影響を受けるエンティティ ID の配列
    dt.smartscape.service,                // 影響を受けるサービス(配列の場合もある)
    dt.davis.root_cause_entity,           // 根本原因として特定されたエンティティ
    root_cause_entity_id,                 // 根本原因エンティティ ID
    root_cause_entity_name,               // 人間が読める根本原因名
    dt.davis.is_duplicate,                // 重複検出かどうか
    dt.davis.is_rootcause                 // 根本原因か症状か
| limit 10

標準クエリパターン

すべての問題クエリを以下の基盤から開始してください:

fetch dt.davis.problems, from:now() - 2h
| filter not(dt.davis.is_duplicate) and event.status == "ACTIVE"
| fields event.start, display_id, event.name, event.category
| sort event.start desc
| limit 20

重要なコンポーネント:

  • fetch dt.davis.problems - 問題データソース
  • not(dt.davis.is_duplicate) - 重複検出をフィルタリング
  • event.status == "ACTIVE" - アクティブな問題のみを表示
  • 時間範囲 - 常に適切な期間を指定

よくあるクエリパターン

カテゴリ別アクティブな問題

fetch dt.davis.problems
| filter not(dt.davis.is_duplicate) and event.status == "ACTIVE"
| summarize problem_count = count(), by: {event.category}
| sort problem_count desc

高影響度のアクティブな問題(多くのユーザーに影響)

fetch dt.davis.problems
| filter not(dt.davis.is_duplicate) and event.status == "ACTIVE"
| filter dt.davis.affected_users_count > 100
| fields event.start, display_id, event.name, dt.davis.affected_users_count, event.category
| sort dt.davis.affected_users_count desc

高影響度のアクティブな問題(多くの smartscape エンティティに影響)

fetch dt.davis.problems
| filter not(dt.davis.is_duplicate) and event.status == "ACTIVE"
| filter arraySize(affected_entity_ids) > 5
| fields event.start, display_id, event.name, affected_entity_ids, event.category, impacted_entity_count = arraySize(affected_entity_ids)
| sort impacted_entity_count desc

特定の問題の詳細

fetch dt.davis.problems
| filter display_id == "P-XXXXXXXXXX"
| fields event.start, event.end, event.name, event.description, affected_entity_ids, dt.davis.affected_users_count, root_cause_entity_id, root_cause_entity_name

サービス固有の問題履歴

fetch dt.davis.problems, from:now() - 7d
| filter not(dt.davis.is_duplicate)
| filter in(dt.smartscape.service, toSmartscapeId("SERVICE-XXXXXXXXX"))
| summarize problems = count(), by: {event.category, event.status}

根本原因分析パターン

基本的な根本原因クエリ

fetch dt.davis.problems, from:now() - 24h
| filter not(dt.davis.is_duplicate) and event.status == "ACTIVE"
| fields
    display_id,
    event.name,
    event.description,
    root_cause_entity_id,
    root_cause_entity_name,
    smartscape.affected_entity.ids

エンティティタイプ別の根本原因

問題の原因となるエンティティタイプを特定します:

fetch dt.davis.problems, from:now() - 7d
| filter not(dt.davis.is_duplicate)
| filter isNotNull(root_cause_entity_id)
| summarize problem_count = count(), by:{root_cause_entity_name}
| sort problem_count desc
| limit 20

影響を受けるエンティティが AWS リソースである場合

fetch dt.davis.problems, from:now() - 24h
| filter not(dt.davis.is_duplicate) and event.status == "ACTIVE"
| filter matchesPhrase(arrayToString(smartscape.affected_entity.types, delimiter:","), "AWS_")

インフラストラクチャの根本原因とサービスの影響

fetch dt.davis.problems, from:now() - 30m
| filter not(dt.davis.is_duplicate) and event.status == "ACTIVE"
| filter matchesPhrase(root_cause_entity_id, "HOST-")
| filter isNotNull(dt.smartscape.service)
| fields display_id, event.name, root_cause_entity_name, dt.smartscape.service

問題の波及範囲

根本原因ごとのエンティティ影響を計算します:

fetch dt.davis.problems, from:now() - 7d
| filter not(dt.davis.is_duplicate)
| filter isNotNull(root_cause_entity_id)
| fieldsAdd affected_count = arraySize(smartscape.affected_entity.ids)
| summarize
    avg_affected = avg(affected_count),
    max_affected = max(affected_count),
    problem_count = count(),
    by:{root_cause_entity_name}
| sort avg_affected desc

繰り返し発生する根本原因

問題を繰り返し引き起こすエンティティを特定します:

fetch dt.davis.problems, from:now() - 24h
| filter not(dt.davis.is_duplicate)
| filter isNotNull(root_cause_entity_id)
| summarize
    problem_count = count(),
    first_occurrence = min(event.start),
    last_occurrence = max(event.start),
    by:{root_cause_entity_id, root_cause_entity_name}
| filter problem_count > 3
| sort problem_count desc

原因のカテゴリと根本原因エンティティ

これらは異なる質問です — 正しいアプローチを選択してください:

  • 「問題の原因は何か?」 / 「最も一般的な原因」event.category で集計します (SLOWDOWN、ERROR、RESOURCE、AVAILABILITY、CUSTOM)。各カテゴリをトリガーするものを説明します。
  • 「どのエンティティが問題を引き起こすか?」 / 「根本原因エンティティ」root_cause_entity_name でグループ化します。特定のサービス、ホスト、またはアプリを一覧表示します。

原因カテゴリの内訳(一般的な原因、パターン、タイプについて質問された場合に使用):

fetch dt.davis.problems, from:now() - 30d
| filter not(dt.davis.is_duplicate)
| summarize problem_count = count(), by: {event.category}
| sort problem_count desc

その後、各カテゴリについて、「問題のカテゴリ」テーブルを使用してそれをトリガーするものを説明し、テナントデータからの特定のエンティティを例として引用してください。

問題のトレンド分析とパターン分析

時系列で問題のトレンドを追跡し、繰り返し発生する問題を特定し、解決のパフォーマンスを分析します。

プライマリファイル:

  • references/problem-trending.md - 時系列分析とパターン検出

よくあるユースケース:

  • makeTimeseries を使用した時系列のアクティブな問題
  • カテゴリ別の問題作成率
  • スケジュール別の繰り返し発生する問題検出
  • 解決時間のトレンドと P95 期間分析

重要なテクニック:

  • makeTimeseries vs bin(): ライフサイクルスパン vs 離散イベントに対して正しいアプローチを選択
  • NULL 処理: アクティブな問題に対して coalesce(event.end, now()) を使用
  • ピーク時間分析: 問題が最も頻繁に発生する時間を特定
  • 影響のトレンド: 時系列でのユーザー影響の変化を追跡

完全なクエリパターンとベストプラクティスについては、references/problem-trending.md を参照してください。

クロスドメイン問題クエリ

Kubernetes クラスタに関連する問題

affected_entity_ids または dt.smartscape_source.id を使用して、Kubernetes に関連する問題を検索します:

fetch dt.davis.problems, from:now() - 7d
| filter not(dt.davis.is_duplicate)
| filter matchesPhrase(dt.smartscape_source.id, "KUBERNETES_CLUSTER")
    OR matchesPhrase(dt.smartscape_source.id, "K8S_")
| fields event.start, display_id, event.name, event.category, event.status,
    dt.smartscape_source.id, affected_entity_ids
| sort event.start desc

代替方法: 影響を受けるエンティティを展開し、K8s エンティティタイプでフィルタリング:

fetch dt.davis.problems, from:now() - 7d
| filter not(dt.davis.is_duplicate)
| expand entity_id = affected_entity_ids
| filter matchesPhrase(entity_id, "KUBERNETES_CLUSTER")
    OR matchesPhrase(entity_id, "K8S_")
| fields event.start, display_id, event.name, event.category, entity_id
| sort event.start desc

シンプルな問題リスト

過去 24 時間のすべての問題をリストアップします(一般的なリクエスト):

fetch dt.davis.problems, from:now() - 24h
| filter not(dt.davis.is_duplicate)
| fields event.start, event.end, display_id, event.name, event.category, event.status
| sort event.start desc

レスポンス構築

問題の原因サマリー

問題の原因、カテゴリ、またはパターンをまとめるときは、データに存在するすべての標準カテゴリ(AVAILABILITY、ERROR、SLOWDOWN、RESOURCE、CUSTOM)全体にわたる包括的な内訳を提供してください。見つかった各カテゴリについて:

  1. カテゴリ名と問題数
  2. それをトリガーするもの — 簡潔な説明(例:RESOURCE = CPU/メモリ/ディスク閾値を超える;AVAILABILITY = サービスまたはエンティティが到達不可能になる)
  3. テナントのデータからの具体例(影響を受けるエンティティ名、問題 ID)

最初の 2 つのカテゴリの後で停止しないでください — ユーザーは全体像を期待しています。上記の「問題のカテゴリ」テーブルを参照して、トリガーの説明を確認してください。

分析結果

クエリ結果を提示するときは:

  • エンティティ名(ID だけではなく)を含めてください — ただし、効率的な方法を選択してください:
    • 少数のエンティティ(5 未満): get-entity-name 呼び出しは問題ありません
    • 多くのエンティティ: query-problems ツール(名前を直接返す)を使用するか、DQL クエリに root_cause_entity_name / entityName() を含めて名前をインライン解決してください。10 個以上のエンティティに対してループで get-entity-name を呼び出すことは避けてください — これはツール呼び出しの制限を超える可能性があり、まったく答えが返されません。
  • 識別された原因に合わせた実行可能な推奨を提供してください
  • 簡単な優先順位付けのため、頻度または影響で整理してください

ベストプラクティス

重要なルール

  1. 常に重複をフィルタリング: not(dt.davis.is_duplicate) を使用して、同じ問題を複数回カウントしないようにしてください
  2. 正しいステータス値を使用: "ACTIVE" または "CLOSED"、決して "OPEN" ではありません
  3. 時間範囲を指定: 常に時間範囲を含めてパフォーマンスを最適化してください
  4. display_id を含める: 問題の特定とリンクに不可欠です
  5. 段階的にテスト: クエリを構築する際、一度に 1 つのフィルタまたはフィールドを追加してください
  6. 早期にフィルタリング: fetch の直後に not(dt.davis.is_duplicate) を適用してください

クエリ開発

  • シンプルに開始: 基本的なフィルタリングから始めて、その後複雑性を追加してください
  • まずフィールドをテスト: | limit 1 で実行してフィールド名の存在を確認してください
  • 意味のある時間範囲を使用: 範囲が広すぎるとリソースを浪費し、狭すぎるとデータを逃します
  • 問題 ID をドキュメント化: 常に display_id をキャプチャして参照用に保存してください

根本原因の検証

  • 必要な場合は常に isNotNull(root_cause_entity_id) でフィルタリングしてください
  • dt.davis.event_ids を使用してイベントを相互参照してください
  • 時間遅延を考慮してください: 根本原因は問題の数分前にログに表示される可能性があります

時間範囲ガイドライン

// ✅ 良い - 特定の時間範囲
fetch dt.davis.problems, from:now() - 4h
// ❌ 悪い - すべての履歴データをスキャン
fetch dt.davis.problems

トラブルシューティング

問題原因解決方法
問題が返されないevent.status == "OPEN" を使用している"ACTIVE" または "CLOSED" を使用してください — "OPEN" は存在しません
結果に重複する問題がある重複排除フィルタが欠落しているfetch の直後に filter not(dt.davis.is_duplicate) を追加してください
誤ったフィールド名(titlestatusseveritySQL に似たネーミングevent.nameevent.statusevent.category を使用してください — 上記のフィールド名テーブルを参照
root_cause_entity_id が nullすべての問題が識別された根本原因を持つわけではありません根本原因をクエリするときに filter isNotNull(root_cause_entity_id) を追加してください
クエリが多くのデータをスキャン / タイムアウト時間範囲がない常に fetch コマンドで from:now() - <duration> を指定してください
affected_entity_ids が空の配列問題にマップされた影響を受けるエンティティがないdt.smartscape.service または dt.smartscape_source.id を代替として確認してください

リファレンスをロードするとき

problem-trending.md をロードする場合:

  • 時系列で問題の頻度を分析する
  • スケジュール別の繰り返し発生する問題を検出する
  • 解決時間のトレンドと P95 期間を計算する
  • カテゴリ別の問題作成レートを比較する

problem-correlation.md をロードする場合:

  • 問題をログまたは他のテレメトリと相関させる
  • 問題の前に発生したイベントを調査する
  • 問題をデプロイメントまたは設定の変更にリンクする

impact-analysis.md をロードする場合:

  • ビジネス影響を評価する(影響を受けるユーザー、サービス)
  • 根本原因エンティティの波及範囲を計算する
  • 技術的およびユーザーの影響で問題に優先順位を付ける

リファレンス

  • problem-trending.md — 問題トレンドと時系列分析パターン
  • problem-correlation.md — 問題とログおよび他のテレメトリとの相関
  • impact-analysis.md — ビジネスおよび技術的影響評価
  • problem-merging.md — DAVIS がイベントを問題にマージするときと理由

関連スキル

  • dt-dql-essentials - 問題クエリ用のコア DQL 構文とクエリ構造
  • dt-obs-logs - 問題とアプリケーション/インフラストラクチャログの相関
  • dt-obs-tracing - 分散トレース分析を通じた問題の調査

ライセンス: Apache-2.0(寛容ライセンスのため全文を引用しています) · 原本リポジトリ

詳細情報

作者
dynatrace
リポジトリ
dynatrace/dynatrace-for-ai
ライセンス
Apache-2.0
最終更新
不明

Source: https://github.com/dynatrace/dynatrace-for-ai / ライセンス: Apache-2.0

関連スキル

汎用DevOps・インフラ⭐ リポ 502

superpowers-streamer-cli

SuperPowers デスクトップストリーマーの npm パッケージをインストール、ログイン、実行、トラブルシューティングできます。ユーザーが npm から `superpowers-ai` をセットアップしたい場合、メールまたは電話でサインインもしくはアカウント作成を行いたい場合、ストリーマーを起動したい場合、表示されたコントロールリンクを開きたい場合、後で停止したい場合、またはソースコードへのアクセスなしに npm やランタイムの一般的な問題から復旧したい場合に使用します。

by rohanarun
汎用DevOps・インフラ⭐ リポ 493

catc-client-ops

Catalyst Centerのクライアント操作・監視機能 - 有線・無線クライアントのリスト表示・フィルタリング、MACアドレスによる詳細なクライアント検索、クライアント数分析、時間軸での分析、SSIDおよび周波数帯によるフィルタリング、無線トラブルシューティング機能を提供します。MACアドレスやIPアドレスでのクライアント検索、サイト別やSSID別のクライアント数集計、無線周波数帯の分布分析、Wi-Fi信号の問題調査が必要な場合に活用できます。

by automateyournetwork
汎用DevOps・インフラ⭐ リポ 39,967

ci-cd-and-automation

CI/CDパイプラインの設定を自動化します。ビルドおよびデプロイメントパイプラインの構築または変更時に使用できます。品質ゲートの自動化、CI内のテストランナー設定、またはデプロイメント戦略の確立が必要な場合に活用します。

by addyosmani
汎用DevOps・インフラ⭐ リポ 39,967

shipping-and-launch

本番環境へのリリース準備を行います。本番環境へのデプロイ準備が必要な場合、リリース前チェックリストが必要な場合、監視機能の設定を行う場合、段階的なロールアウトを計画する場合、またはロールバック戦略が必要な場合に使用します。

by addyosmani
OpenAIDevOps・インフラ⭐ リポ 38,974

linear-release-setup

Linear Releaseに向けたCI/CD設定を生成します。リリース追跡の設定、LinearのCIパイプライン構築、またはLinearリリースとのデプロイメント連携を実施する際に利用できます。GitHub Actions、GitLab CI、CircleCIなど複数のプラットフォームに対応しています。

by novuhq
Anthropic ClaudeDevOps・インフラ⭐ リポ 2,159

tracking-application-response-times

API エンドポイント、データベースクエリ、サービスコール全体にわたるアプリケーションのレスポンスタイムを追跡・最適化できます。パフォーマンス監視やボトルネック特定の際に活用してください。「レスポンスタイムを追跡する」「API パフォーマンスを監視する」「遅延を分析する」といった表現で呼び出せます。

by jeremylongshore
本サイトは GitHub 上で公開されているオープンソースの SKILL.md ファイルをクロール・インデックス化したものです。 各スキルの著作権は原作者に帰属します。掲載に問題がある場合は info@alsel.co.jp または /takedown フォームよりご連絡ください。
原作者: dynatrace · dynatrace/dynatrace-for-ai · ライセンス: Apache-2.0