mcpField
P
problem-analysis

problem-analysis

github.com/happy-technologies-llcその他4142 回インストール2 日前に更新
リポジトリ

problem-analysis について

ServiceNow の問題管理向けスキルです。再発するインシデントの特定から根本原因の調査、既知のエラーの記録、修正の検証とクローズまでを扱い、5 Whys と Fishbone による分析手順も備えています。

主な機能

  1. 01記録から再発インシデントを特定
  2. 025 Whys と Fishbone による根本原因分析
  3. 03調査タスクと既知のエラーの作成
  4. 04回避策の記録とインシデントの関連付け
  5. 05恒久修正の追跡と効果の検証

活用シーン

  1. 01共通の根本原因を持つインシデントの分析
  2. 02重大インシデント後のレビュー
  3. 03繰り返すサービス低下の調査
  4. 04傾向分析による潜在問題の特定

MCP 対応

MCP ツールでインシデントを検索し、問題および既知のエラーの記録を作成・更新できます。作業メモの記録や、解決した問題のクローズにも利用します。

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/happy-technologies-llc/happy-platform-skills --skill problem-analysis

インストール後、Claude Code で/problem-analysisを入力して読み込まれたか確認します。

詳細

問題分析と根本原因の調査

概要

このスキルは、根本原因の特定、既知のエラーの記録、恒久的な解決策の実施に重点を置いた、ServiceNow での問題管理の包括的なフレームワークを提供します。

問題管理の目標:

  • インシデントの根本原因を特定して取り除く
  • 防止できないインシデントの影響を最小限に抑える
  • インシデントにつながる前に、潜在的な問題を事前に特定する
  • 既知のエラーと回避策を記録する

このスキルを使用する場面:

  • 同じ根本原因によるインシデントが複数発生している場合
  • 重大なインシデントの事後レビュー
  • サービスの品質低下が繰り返し発生する場合
  • 事前の傾向分析

前提条件

  • ロール: problem_manager、problem_admin、または itil
  • アクセス権: problem、incident、known_error テーブルの読み取り/書き込み
  • 知識: 根本原因分析の手法(5 Whys、フィッシュボーン)
  • 関連スキル: itsm/incident-lifecycle、itsm/major-incident

手順

フェーズ 1:問題の特定
ステップ 1.1:インシデントから問題候補を特定する

類似したパターンのインシデントを検索します:

MCP を使用:

Tool: SN-Query-Table
Parameters:
  table_name: incident
  query: active=false^stateIN6,7^sys_created_on>=javascript:gs.daysAgoStart(30)
  fields: sys_id,number,short_description,category,cmdb_ci,resolution_notes,close_code
  limit: 100

REST API を使用:

GET /api/now/table/incident?sysparm_query=active=false^stateIN6,7^sys_created_on>=javascript:gs.daysAgoStart(30)&sysparm_fields=sys_id,number,short_description,category,cmdb_ci,resolution_notes,close_code&sysparm_limit=100

CI ごとに繰り返し発生するインシデントを検索します:

Tool: SN-Query-Table
Parameters:
  table_name: incident
  query: cmdb_ci=[ci_sys_id]^sys_created_on>=javascript:gs.daysAgoStart(90)
  fields: sys_id,number,short_description,resolution_notes,close_code
  order_by: sys_created_on
ステップ 1.2:インシデントのパターンを分析する

グループ化の基準:

  • 同じ構成アイテム(CI)
  • 同じカテゴリ/サブカテゴリ
  • 類似した短い説明(キーワードの一致)
  • 同じ担当グループ
  • 同じ解決タイプ

パターン分析の作業メモ:

Tool: SN-Add-Work-Notes
Parameters:
  sys_id: [analysis_task_sys_id]
  work_notes: |
    === INCIDENT PATTERN ANALYSIS ===
    Analysis Period: [date range]

    PATTERN IDENTIFIED:
    - Total Related Incidents: [count]
    - Affected CI: [CI name]
    - Common Category: [category]
    - Keyword Pattern: [keywords]

    INCIDENT LIST:
    - INC001234 - [date] - [short description]
    - INC001235 - [date] - [short description]
    - INC001240 - [date] - [short description]

    FREQUENCY:
    - First occurrence: [date]
    - Last occurrence: [date]
    - Average frequency: [X per week/month]

    RECOMMENDATION:
    Create problem record for root cause investigation.
ステップ 1.3:問題レコードを作成する

MCP を使用:

Tool: SN-Create-Record
Parameters:
  table_name: problem
  data:
    short_description: "[CI/Service] - [Brief description of recurring issue]"
    description: |
      PROBLEM STATEMENT:
      [Clear description of the problem being investigated]

      RELATED INCIDENTS:
      - INC001234 - [date] - [description]
      - INC001235 - [date] - [description]
      - INC001240 - [date] - [description]

      BUSINESS IMPACT:
      - Number of incidents: [count]
      - Total downtime: [hours]
      - Users affected: [count]
      - Business cost: [estimate]

      INITIAL HYPOTHESIS:
      [Initial theory about root cause]
    priority: 2
    impact: 2
    urgency: 2
    category: [category]
    cmdb_ci: [ci_sys_id]
    assignment_group: [team_sys_id]

REST API を使用:

POST /api/now/table/problem
Content-Type: application/json

{
  "short_description": "Email Server - Intermittent connection failures",
  "description": "PROBLEM STATEMENT:\nUsers experiencing intermittent email connectivity...",
  "priority": "2",
  "impact": "2",
  "urgency": "2",
  "category": "software",
  "cmdb_ci": "ci_sys_id",
  "assignment_group": "group_sys_id"
}
フェーズ 2:根本原因の調査
ステップ 2.1:調査タスクを作成する

分野ごとに調査タスクを作成します:

Tool: SN-Create-Record
Parameters:
  table_name: problem_task
  data:
    parent: [problem_sys_id]
    short_description: "RCA - [Area] Investigation"
    description: |
      Investigate [specific area] as potential root cause.

      INVESTIGATION SCOPE:
      - [Item 1 to investigate]
      - [Item 2 to investigate]
      - [Item 3 to investigate]

      EXPECTED DELIVERABLES:
      - Findings documented in work notes
      - Evidence collected (logs, screenshots)
      - Recommendation for next steps
    assignment_group: [specialist_team]
    priority: 2
ステップ 2.2:5 Whys 分析

問題の作業メモに記録します:

Tool: SN-Add-Work-Notes
Parameters:
  sys_id: [problem_sys_id]
  work_notes: |
    === 5-WHYS ROOT CAUSE ANALYSIS ===
    Analyst: [name]
    Date: [date]

    PROBLEM STATEMENT:
    Email service experiencing intermittent connection failures

    WHY 1: Why are connection failures occurring?
    Answer: The email server is running out of available connections.

    WHY 2: Why is the server running out of connections?
    Answer: Connection pool is exhausted due to connections not being released.

    WHY 3: Why are connections not being released?
    Answer: A memory leak in the email client integration is holding connections.

    WHY 4: Why is there a memory leak?
    Answer: The integration code doesn't properly handle error conditions.

    WHY 5: Why doesn't the code handle error conditions?
    Answer: Code review process didn't catch the missing error handling.

    ROOT CAUSE:
    Missing error handling in email client integration code, combined with
    insufficient code review process for integration components.

    CONTRIBUTING FACTORS:
    - No connection timeout configured
    - Monitoring didn't alert on connection pool
    - Documentation gap on error handling standards
ステップ 2.3:フィッシュボーン(石川)分析
Tool: SN-Add-Work-Notes
Parameters:
  sys_id: [problem_sys_id]
  work_notes: |
    === FISHBONE ANALYSIS ===
    Problem: [Problem statement]

    PEOPLE:
    - [Factor 1]
    - [Factor 2]

    PROCESS:
    - [Factor 1]
    - [Factor 2]

    TECHNOLOGY:
    - [Factor 1]
    - [Factor 2]

    ENVIRONMENT:
    - [Factor 1]
    - [Factor 2]

    DATA:
    - [Factor 1]
    - [Factor 2]

    EXTERNAL:
    - [Factor 1]
    - [Factor 2]

    PRIMARY ROOT CAUSES:
    1. [Root cause from analysis]
    2. [Contributing root cause]
ステップ 2.4:根本原因を問題レコードに反映する

MCP を使用:

Tool: SN-Update-Record
Parameters:
  table_name: problem
  sys_id: [problem_sys_id]
  data:
    state: 103  # Root Cause Analysis
    root_cause: |
      ROOT CAUSE IDENTIFIED:

      Primary Root Cause:
      [Detailed description of the root cause]

      Contributing Factors:
      1. [Factor 1]
      2. [Factor 2]
      3. [Factor 3]

      Evidence:
      - [Log entry/data supporting conclusion]
      - [Test result]
      - [Other evidence]

      Analysis Method: [5-Whys/Fishbone/Fault Tree/Other]
      Analysis Date: [date]
      Analyst: [name]
フェーズ 3:既知のエラーの記録
ステップ 3.1:既知のエラーレコードを作成する

根本原因が確認されたら、既知のエラーとして記録します:

MCP を使用:

Tool: SN-Create-Record
Parameters:
  table_name: known_error
  data:
    short_description: "[CI] - [Error description]"
    description: |
      KNOWN ERROR DESCRIPTION:
      [Clear description of the error condition]

      SYMPTOMS:
      - [Symptom 1]
      - [Symptom 2]
      - [Symptom 3]

      ROOT CAUSE:
      [Root cause description]

      AFFECTED SERVICES/CIS:
      - [Service/CI 1]
      - [Service/CI 2]
    workaround: |
      WORKAROUND INSTRUCTIONS:

      When to use: [Condition when workaround applies]

      Steps:
      1. [Step 1]
      2. [Step 2]
      3. [Step 3]

      Expected Result: [What user should see]

      Limitations:
      - [Limitation 1]
      - [Limitation 2]

      Contact [team] if workaround does not resolve the issue.
    problem: [problem_sys_id]
    cmdb_ci: [ci_sys_id]
    u_permanent_fix_planned: true
    u_fix_date: [target date]

REST API を使用:

POST /api/now/table/known_error
Content-Type: application/json

{
  "short_description": "Email Server - Connection timeout during peak hours",
  "description": "KNOWN ERROR DESCRIPTION:\nEmail connections may timeout...",
  "workaround": "WORKAROUND INSTRUCTIONS:\n1. Close and reopen email client...",
  "problem": "problem_sys_id",
  "cmdb_ci": "ci_sys_id"
}
ステップ 3.2:既知のエラーをインシデントにリンクする

関連するインシデントを更新します:

Tool: SN-Update-Record
Parameters:
  table_name: incident
  sys_id: [incident_sys_id]
  data:
    problem_id: [problem_sys_id]
    work_notes: "Linked to Known Error [KERR#] - Workaround available. See KB article [KB#]."

複数のインシデントを一括更新します:

Tool: SN-Query-Table
Parameters:
  table_name: incident
  query: cmdb_ci=[ci_sys_id]^problem_idISEMPTY^stateIN1,2,3
  fields: sys_id,number
  limit: 50

次に、それぞれに対して:

Tool: SN-Update-Record
Parameters:
  table_name: incident
  sys_id: [each_incident_sys_id]
  data:
    problem_id: [problem_sys_id]
フェーズ 4:回避策の管理
ステップ 4.1:回避策を記録する

回避策の詳細を記録します:

Tool: SN-Add-Work-Notes
Parameters:
  sys_id: [problem_sys_id]
  work_notes: |
    === WORKAROUND DOCUMENTED ===

    WORKAROUND ID: WA-[number]
    Effective Date: [date]
    Author: [name]

    APPLICABILITY:
    - Applies to: [specific conditions]
    - Does NOT apply to: [exclusions]

    PREREQUISITES:
    - [Prerequisite 1]
    - [Prerequisite 2]

    PROCEDURE:
    1. [Detailed step 1]
       Note: [Important note if applicable]

    2. [Detailed step 2]
       Expected Result: [What to expect]

    3. [Detailed step 3]

    VERIFICATION:
    - [How to verify workaround worked]

    KNOWN LIMITATIONS:
    - [Limitation 1]
    - [Limitation 2]

    ROLLBACK PROCEDURE:
    If workaround causes issues:
    1. [Rollback step 1]
    2. [Rollback step 2]

    SUPPORT CONTACT:
    If workaround fails, contact [team/person] at [contact info]
ステップ 4.2:サービスデスクに回避策を伝える
Tool: SN-Add-Problem-Comment
Parameters:
  sys_id: [problem_sys_id]
  comment: |
    === WORKAROUND AVAILABLE FOR SERVICE DESK ===

    Problem: [PRB#]
    Known Error: [KERR#]

    QUICK REFERENCE FOR AGENTS:

    Customer Reports: "[Common customer description]"

    Solution: [Brief description of workaround]

    Steps for Customer:
    1. [Simple step 1]
    2. [Simple step 2]
    3. [Simple step 3]

    Escalate if: [Condition for escalation]

    Related KB: [KB article link]
フェーズ 5:恒久的な修正
ステップ 5.1:恒久的な修正を計画する

修正の変更リクエストを作成します:

Tool: SN-Create-Record
Parameters:
  table_name: change_request
  data:
    short_description: "Fix: [Problem description]"
    description: |
      CHANGE PURPOSE:
      Implement permanent fix for problem [PRB#]

      ROOT CAUSE ADDRESSED:
      [Root cause from problem record]

      PROPOSED SOLUTION:
      [Technical description of fix]

      EXPECTED OUTCOME:
      - [Outcome 1]
      - [Outcome 2]

      TESTING PLAN:
      - [Test 1]
      - [Test 2]

      ROLLBACK PLAN:
      - [Rollback step 1]
      - [Rollback step 2]
    type: normal
    priority: 2
    assignment_group: [development_team]
    u_related_problem: [problem_sys_id]
ステップ 5.2:修正の進捗を追跡する
Tool: SN-Update-Record
Parameters:
  table_name: problem
  sys_id: [problem_sys_id]
  data:
    state: 104  # Fix in Progress
    fix: |
      PERMANENT FIX PLAN:

      Solution: [Description of permanent fix]

      Implementation Method:
      - Change Request: [CHG#]
      - Target Date: [date]
      - Implementation Team: [team]

      Technical Details:
      [Detailed technical fix description]

      Validation Criteria:
      - [ ] [Criterion 1]
      - [ ] [Criterion 2]
      - [ ] [Criterion 3]
フェーズ 6:問題のクローズ
ステップ 6.1:修正の有効性を確認する

修正後の監視:

Tool: SN-Query-Table
Parameters:
  table_name: incident
  query: cmdb_ci=[ci_sys_id]^sys_created_on>=javascript:gs.daysAgoStart(14)^problem_id=[problem_sys_id]
  fields: sys_id,number,short_description,sys_created_on
  limit: 50

確認結果を記録します:

Tool: SN-Add-Work-Notes
Parameters:
  sys_id: [problem_sys_id]
  work_notes: |
    === FIX VERIFICATION ===

    Verification Period: [date range]

    METRICS:
    - Incidents before fix: [count] per [period]
    - Incidents after fix: [count] per [period]
    - Reduction: [percentage]

    MONITORING DATA:
    - [Metric 1]: [before] → [after]
    - [Metric 2]: [before] → [after]

    USER FEEDBACK:
    - [Feedback item 1]
    - [Feedback item 2]

    VERIFICATION STATUS: [Pass/Fail/Partial]

    RECOMMENDATION: [Close problem/Continue monitoring/Additional action]
ステップ 6.2:問題レコードをクローズする

MCP を使用:

Tool: SN-Close-Problem
Parameters:
  sys_id: [problem_sys_id]
  close_code: Fix Applied
  close_notes: |
    PROBLEM CLOSURE SUMMARY:

    Root Cause: [Summary]

    Resolution: [What was done]

    Implementation:
    - Change: [CHG#]
    - Date: [implementation date]

    Effectiveness:
    - Incident reduction: [percentage]
    - Monitoring period: [dates]
    - No recurrence confirmed

    Documentation:
    - Known Error: [KERR#]
    - Knowledge Article: [KB#]

    Lessons Learned:
    - [Lesson 1]
    - [Lesson 2]

REST API を使用:

PATCH /api/now/table/problem/{sys_id}
Content-Type: application/json

{
  "state": "107",
  "close_code": "Fix Applied",
  "close_notes": "PROBLEM CLOSURE SUMMARY:\n\nRoot Cause: Memory leak in email integration...",
  "resolved_at": "2024-01-15 14:30:00",
  "resolved_by": "admin"
}

問題の状態のリファレンス

┌────────────┐     ┌────────────────┐     ┌─────────────┐
│    New     │────►│ Root Cause     │────►│ Fix in      │
│   (101)    │     │ Analysis (103) │     │ Progress    │
└────────────┘     └────────────────┘     │   (104)     │
                           │               └──────┬──────┘
                           ▼                      │
                   ┌───────────────┐              │
                   │ Known Error   │              │
                   │   (102)       │◄─────────────┘
                   └───────┬───────┘
                           │
                           ▼
           ┌───────────────────────────────┐
           │          Resolved             │
           │           (106)               │
           └───────────────┬───────────────┘
                           │
                           ▼
           ┌───────────────────────────────┐
           │           Closed              │
           │           (107)               │
           └───────────────────────────────┘

ツールの使用概要

MCP ツール
ツール目的フェーズ
SN-List-Problems既存の問題を一覧表示する1
SN-Query-Tableインシデントのパターンを検索し、修正を確認する1、6
SN-Create-Record問題、既知のエラー、タスクを作成する1、2、3
SN-Update-Record問題のステータス、根本原因、修正を更新する2、5
SN-Add-Work-Notes分析と調査結果を記録するすべて
SN-Add-Problem-Comment顧客/サービスデスクとの連絡4
SN-Close-Problem解決済みの問題をクローズする6
REST API エンドポイント
エンドポイントメソッド目的
/api/now/table/problemGET問題を一覧表示する
/api/now/table/problemPOST問題を作成する
/api/now/table/problem/{sys_id}PATCH問題を更新する
/api/now/table/problem_taskPOST調査タスクを作成する
/api/now/table/known_errorPOST既知のエラーを作成する
/api/now/table/incidentGET関連するインシデントを照会する

ベストプラクティス

  • データに基づく: 思い込みではなく、インシデントデータを使って問題を特定します
  • 体系的な分析: 常に正式なRCA手法(5 Whys、フィッシュボーン図)を使用します
  • すべてを記録: 詳細なメモは、今後の調査担当者にとって役立ちます
  • まずは回避策: 恒久的な修正に取り組みながら、一時的な緩和策を講じます
  • 有効性を検証: 修正が機能することを確認せずに問題をクローズしないでください
  • ナレッジ管理: 調査結果をナレッジベースの記事にまとめます
  • ITILとの整合性: 問題管理は、インシデントの件数と影響を減らすことを目的とします

トラブルシューティング

「関連するインシデントが見つかりません」

原因: クエリ条件が厳しすぎるか、CIが間違っています 解決策: 日付範囲を広げ、CIのsys_idを確認し、キーワード検索を試します

「分析後も根本原因が不明です」

原因: データが不十分、または複数の要因が関与しています 解決策: さらにデータを収集し、追加のSMEに協力を依頼し、環境要因を検討します

「回避策が有効ではありません」

原因: 回避策ですべてのシナリオに対応できていません 解決策: 回避策を改善し、その制限事項を記録して、ほかのシナリオ向けに別の回避策を作成します

「問題が何度も再オープンします」

原因: 根本原因に完全に対処できていないか、同じ問題の新たなバリエーションが発生しています 解決策: 本当に同じ問題かどうかを確認します。バリエーションに対して新しい問題レコードが必要な場合があります

RCAテンプレート

5 Whysテンプレート
Problem: [Statement]

Why 1: [Question]
Because: [Answer]

Why 2: [Question based on Why 1 answer]
Because: [Answer]

Why 3: [Question based on Why 2 answer]
Because: [Answer]

Why 4: [Question based on Why 3 answer]
Because: [Answer]

Why 5: [Question based on Why 4 answer]
Because: [Answer - typically root cause]

Root Cause: [Summary]
フィッシュボーン図テンプレート
Problem: _________________________________

Categories:
PEOPLE    PROCESS    TECHNOLOGY    ENVIRONMENT
  |          |           |              |
  +-- [cause] +-- [cause] +-- [cause]   +-- [cause]
  +-- [cause] +-- [cause] +-- [cause]   +-- [cause]

Root Causes Identified:
1. [Primary root cause]
2. [Secondary root cause]

関連スキル

  • itsm/incident-lifecycle - インシデント管理
  • itsm/incident-triage - インシデントのトリアージ
  • itsm/major-incident - 重大インシデントの対応
  • itsm/change-management - 恒久的な修正のための変更
  • knowledge/article-generation - ナレッジベース記事への変換

参考資料

コメント