problem-analysis について
ServiceNow の問題管理向けスキルです。再発するインシデントの特定から根本原因の調査、既知のエラーの記録、修正の検証とクローズまでを扱い、5 Whys と Fishbone による分析手順も備えています。
主な機能
- 01記録から再発インシデントを特定
- 025 Whys と Fishbone による根本原因分析
- 03調査タスクと既知のエラーの作成
- 04回避策の記録とインシデントの関連付け
- 05恒久修正の追跡と効果の検証
活用シーン
- 01共通の根本原因を持つインシデントの分析
- 02重大インシデント後のレビュー
- 03繰り返すサービス低下の調査
- 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/problem | GET | 問題を一覧表示する |
/api/now/table/problem | POST | 問題を作成する |
/api/now/table/problem/{sys_id} | PATCH | 問題を更新する |
/api/now/table/problem_task | POST | 調査タスクを作成する |
/api/now/table/known_error | POST | 既知のエラーを作成する |
/api/now/table/incident | GET | 関連するインシデントを照会する |
ベストプラクティス
- データに基づく: 思い込みではなく、インシデントデータを使って問題を特定します
- 体系的な分析: 常に正式な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- ナレッジベース記事への変換