mcpField
E
executive-dashboard

executive-dashboard

github.com/happy-technologies-llc数据与数据库4144 次安装3 天前更新
代码仓库

关于 executive-dashboard

面向 ServiceNow ITSM 指标分析的技能,用于计算 KPI 并生成管理层仪表板数据。涵盖事件、变更、问题和客户满意度指标,可按时间段比较表现并识别趋势。

主要功能

  1. 01计算 MTTR 和 MTBF
  2. 02统计解决率与重开率
  3. 03分析事件量和待办积压
  4. 04衡量变更成功率及问题指标
  5. 05汇总仪表板数据并比较周期

适用场景

  1. 01准备管理层或董事会 ITSM 汇报
  2. 02生成月度绩效仪表板数据
  3. 03比较不同时段的服务指标

MCP 相关

通过 MCP 查询 ServiceNow 表格数据、执行自然语言搜索,并可用后台脚本进行复杂聚合。

安装

复制下面的命令,在终端中运行。

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

安装后在 Claude Code 中输入/executive-dashboard确认已加载。

详细介绍

高管仪表板

概述

此技能可为 ServiceNow 生成高管级 ITSM KPI 和仪表板数据。它支持你:

  • 计算 MTTR(平均解决时间)和 MTBF(平均故障间隔时间)
  • 生成事件解决率和首次联系解决率
  • 汇总数据,用于高管仪表板
  • 对比不同时间段的绩效
  • 识别需要高管关注的趋势

适用场景: 准备高管简报、董事会报告、月度 IT 绩效评审,或自动生成仪表板数据。

前提条件

  • 角色: report_admin、itil 或 analytics_admin
  • 访问权限: 对 incident、problem、change_request 和 task 表具有读取权限
  • 知识: 了解 ITSM KPI 定义和组织目标
  • 数据: 至少需要 30 天的历史数据,才能得出有意义的指标

操作步骤

第 1 步:计算平均解决时间(MTTR)

MTTR 衡量从事件创建到解决的平均用时。

使用 MCP(Claude Code/Desktop):

Tool: SN-Query-Table
Parameters:
  table_name: incident
  query: state=6^resolved_atISNOTEMPTY^resolved_atONLast 30 days@javascript:gs.daysAgoStart(30)@javascript:gs.daysAgoEnd(0)
  fields: sys_id,number,sys_created_on,resolved_at,priority,category
  limit: 1000

使用 REST API:

GET /api/now/table/incident?sysparm_query=state=6^resolved_atISNOTEMPTY^resolved_atONLast 30 days@javascript:gs.daysAgoStart(30)@javascript:gs.daysAgoEnd(0)&sysparm_fields=sys_id,number,sys_created_on,resolved_at,priority,category&sysparm_limit=1000

计算 MTTR:

// For each incident:
// Resolution Time = resolved_at - sys_created_on

// MTTR = Sum of all Resolution Times / Count of Resolved Incidents

// Example calculation (in hours):
Total Resolution Time: 2,400 hours
Resolved Incidents: 150
MTTR = 2,400 / 150 = 16 hours

按优先级划分的 MTTR(目标基准):

优先级目标 MTTR行业基准
P1 - 严重< 4 小时2-4 小时
P2 - 高< 8 小时4-8 小时
P3 - 中< 24 小时8-24 小时
P4 - 低< 72 小时24-72 小时
第 2 步:计算平均故障间隔时间(MTBF)

MTBF 衡量可靠性,即同一 CI 或服务发生重复事件的平均间隔时间。

查询与 CI 相关的事件:

Tool: SN-Query-Table
Parameters:
  table_name: incident
  query: cmdb_ciISNOTEMPTY^sys_created_onONLast 90 days@javascript:gs.daysAgoStart(90)@javascript:gs.daysAgoEnd(0)
  fields: sys_id,number,cmdb_ci,sys_created_on,category
  limit: 2000
  order_by: cmdb_ci,sys_created_on

计算每个 CI 的 MTBF:

// Group incidents by CI
// For CIs with multiple incidents:
// MTBF = Total operating time / (Number of failures - 1)

// Example for Server-001:
// Incident 1: Jan 5
// Incident 2: Jan 20
// Incident 3: Feb 10
// Time between: 15 days + 21 days = 36 days / 2 = 18 days MTBF

MTBF 目标基准:

服务层级目标 MTBF
Tier 1(关键)> 30 天
Tier 2(重要)> 14 天
Tier 3(标准)> 7 天
第 3 步:计算解决率

首次联系解决率(FCR):

Tool: SN-Query-Table
Parameters:
  table_name: incident
  query: state=6^resolved_atONLast 30 days@javascript:gs.daysAgoStart(30)@javascript:gs.daysAgoEnd(0)^reassignment_count=0
  fields: sys_id,number
  limit: 1000
Total Resolved (Last 30 Days): Query count of all resolved incidents
FCR Count: Query count with reassignment_count=0
FCR Rate = (FCR Count / Total Resolved) * 100

重新打开率:

Tool: SN-Query-Table
Parameters:
  table_name: incident
  query: reopen_count>0^sys_created_onONLast 30 days@javascript:gs.daysAgoStart(30)@javascript:gs.daysAgoEnd(0)
  fields: sys_id,number,reopen_count
  limit: 500
Reopen Rate = (Incidents with reopen_count > 0 / Total Resolved) * 100
Target: < 5%
第 4 步:事件量指标

事件总量:

Tool: SN-Query-Table
Parameters:
  table_name: incident
  query: sys_created_onONLast 30 days@javascript:gs.daysAgoStart(30)@javascript:gs.daysAgoEnd(0)
  fields: sys_id,priority,category,state
  limit: 5000

按优先级划分的数量: 处理结果,按优先级字段计数。

待办事项分析:

Tool: SN-Query-Table
Parameters:
  table_name: incident
  query: active=true^state!=6^state!=7
  fields: sys_id,priority,sys_created_on,assigned_to
  limit: 1000
Backlog Metrics:
- Total Open: Count of active incidents
- Aging > 7 days: Filter by sys_created_on
- Unassigned: Filter by assigned_toISEMPTY
第 5 步:变更成功率

查询已完成的变更:

Tool: SN-Query-Table
Parameters:
  table_name: change_request
  query: state=3^closed_atONLast 30 days@javascript:gs.daysAgoStart(30)@javascript:gs.daysAgoEnd(0)
  fields: sys_id,number,close_code,type
  limit: 500

关闭代码分析:

关闭代码类别
successful成功
successful_issues成功但存在问题
unsuccessful失败
cancelled已取消
Change Success Rate = (Successful + Successful with Issues) / (Total - Cancelled) * 100
Target: > 95%
第 6 步:问题管理指标

创建与解决的问题:

Tool: SN-Query-Table
Parameters:
  table_name: problem
  query: sys_created_onONLast 30 days@javascript:gs.daysAgoStart(30)@javascript:gs.daysAgoEnd(0)
  fields: sys_id,number,state,known_error,first_reported_by_task
  limit: 200

已知错误数据库(KEDB)增长情况:

Tool: SN-Query-Table
Parameters:
  table_name: problem
  query: known_error=true
  fields: sys_id,number,sys_created_on
  limit: 500
第 7 步:客户满意度(CSAT)

如果使用 ServiceNow 调查:

Tool: SN-Query-Table
Parameters:
  table_name: asmt_assessment_instance
  query: metric_type.nameSTARTSWITHIncident^sys_created_onONLast 30 days@javascript:gs.daysAgoStart(30)@javascript:gs.daysAgoEnd(0)
  fields: sys_id,state,percent_answered
  limit: 500
第 8 步:生成汇总报告数据

使用 GlideAggregate 模式(通过后台脚本):

Tool: SN-Execute-Background-Script
Parameters:
  script: |
    var ga = new GlideAggregate('incident');
    ga.addQuery('sys_created_on', '>=', gs.daysAgo(30));
    ga.addAggregate('COUNT');
    ga.addAggregate('COUNT', 'priority');
    ga.groupBy('priority');
    ga.query();

    var results = [];
    while (ga.next()) {
      results.push({
        priority: ga.getValue('priority'),
        count: ga.getAggregate('COUNT')
      });
    }
    gs.info('Priority Distribution: ' + JSON.stringify(results));
  description: Aggregate incident counts by priority

工具使用

MCP 工具参考
工具使用场景
SN-Query-Table查询指标数据的主要工具
SN-Natural-Language-Search使用自然语言查询,快速获取洞察
SN-Execute-Background-Script使用 GlideAggregate 执行复杂聚合
REST API 参考
端点方法用途
/api/now/table/incidentGET查询事件数据
/api/now/table/change_requestGET查询变更数据
/api/now/table/problemGET查询问题数据
/api/now/stats/{table}GET汇总统计数据
指标关键字段
指标源表关键字段
MTTRincidentsys_created_on, resolved_at
FCRincidentreassignment_count
重新打开率incidentreopen_count
变更成功率change_requestclose_code, state
MTBFincidentcmdb_ci, sys_created_on

最佳实践

  • 统一时间范围: 比较时始终使用相同的时间段(建议 30 天)
  • 业务日历: 衡量业务时间时,排除周末和节假日
  • 先建立基线: 设定目标前先建立基线
  • 细分数据: 按优先级、类别和团队细分数据,以获得可操作的洞察
  • 自动收集: 定期安排数据提取,以刷新仪表板
  • 与 ITIL 保持一致: 使 KPI 与 ITIL 持续服务改进(CSI)保持一致

故障排查

“MTTR 似乎过高”

原因: 包含了暂停时间或非工作时间
解决方案: 如果有 business_duration 字段,请使用该字段;或者按业务日程筛选

“解决数量与报告不符”

原因: 使用了不同的日期字段(resolved_at、closed_at 或 sys_updated_on)
解决方案: 统一使用 resolved_at 计算解决指标

“MTBF 计算出错”

原因: 只有一条事件记录的 CI 无法计算 MTBF
解决方案: 筛选出有 2 条或更多事件记录的 CI;对于只有一条事件记录的 CI,使用“N/A”

“变更成功率很低”

原因: 将已取消的变更计为失败
解决方案: 从总数中排除 state=cancelled;仅统计已关闭的变更

示例

示例 1:每周高管摘要

目标: 生成每周 IT 绩效摘要

执行查询:

  1. 事件量:
Tool: SN-Query-Table
Parameters:
  table_name: incident
  query: sys_created_onONLast 7 days@javascript:gs.daysAgoStart(7)@javascript:gs.daysAgoEnd(0)
  fields: sys_id,priority
  limit: 500
  1. 已解决事件:
Tool: SN-Query-Table
Parameters:
  table_name: incident
  query: resolved_atONLast 7 days@javascript:gs.daysAgoStart(7)@javascript:gs.daysAgoEnd(0)
  fields: sys_id,sys_created_on,resolved_at,priority
  limit: 500
  1. 当前待办:
Tool: SN-Query-Table
Parameters:
  table_name: incident
  query: active=true
  fields: sys_id,priority,sys_created_on
  limit: 500

输出报告:

=== WEEKLY IT PERFORMANCE SUMMARY ===
Week Ending: [Date]

INCIDENT MANAGEMENT:
| Metric | This Week | Last Week | Change |
|--------|-----------|-----------|--------|
| Created | 145 | 132 | +10% |
| Resolved | 152 | 140 | +9% |
| Backlog | 48 | 55 | -13% |
| MTTR (hours) | 14.2 | 15.8 | -10% |

PRIORITY BREAKDOWN:
| Priority | Created | Resolved | Backlog |
|----------|---------|----------|---------|
| P1 | 3 | 4 | 1 |
| P2 | 22 | 25 | 8 |
| P3 | 78 | 80 | 25 |
| P4 | 42 | 43 | 14 |

KEY HIGHLIGHTS:
- MTTR improved by 10% (14.2 hours vs 15.8 hours)
- Backlog reduced by 13% (48 vs 55)
- P1 incidents: 3 created, all resolved or in progress

ITEMS REQUIRING ATTENTION:
- None - all metrics within target
示例 2:月度 KPI 仪表板数据

目标: 生成月度仪表板所需的全部 KPI

并行执行所有查询:

// Query 1: Total Incidents
Tool: SN-Query-Table
Parameters:
  table_name: incident
  query: sys_created_onONLast 30 days@javascript:gs.daysAgoStart(30)@javascript:gs.daysAgoEnd(0)
  fields: sys_id,priority,category,state,reassignment_count,reopen_count,sys_created_on,resolved_at
  limit: 2000

// Query 2: Changes
Tool: SN-Query-Table
Parameters:
  table_name: change_request
  query: sys_created_onONLast 30 days@javascript:gs.daysAgoStart(30)@javascript:gs.daysAgoEnd(0)
  fields: sys_id,type,close_code,state
  limit: 500

// Query 3: Problems
Tool: SN-Query-Table
Parameters:
  table_name: problem
  query: sys_created_onONLast 30 days@javascript:gs.daysAgoStart(30)@javascript:gs.daysAgoEnd(0)
  fields: sys_id,state,known_error
  limit: 200

计算后的仪表板数据:

{
  "period": "2024-01-01 to 2024-01-31",
  "incident_management": {
    "total_created": 612,
    "total_resolved": 598,
    "mttr_hours": 14.5,
    "mttr_by_priority": {
      "P1": 3.2,
      "P2": 7.8,
      "P3": 18.4,
      "P4": 48.2
    },
    "fcr_rate": 72.5,
    "reopen_rate": 3.2,
    "backlog": 52
  },
  "change_management": {
    "total_changes": 89,
    "success_rate": 97.8,
    "by_type": {
      "standard": 45,
      "normal": 38,
      "emergency": 6
    }
  },
  "problem_management": {
    "problems_created": 12,
    "problems_resolved": 8,
    "known_errors_added": 5
  },
  "trends": {
    "incident_volume_change": "+5%",
    "mttr_change": "-8%",
    "backlog_change": "-12%"
  }
}
示例 3:董事会级摘要

目标: 为董事会演示提供高层摘要

=== IT SERVICE MANAGEMENT - BOARD SUMMARY ===
Period: Q4 2024

EXECUTIVE SUMMARY:
IT Service Management delivered 97% SLA compliance in Q4,
exceeding the 95% target. Major incident count reduced by
25% compared to Q3.

KEY PERFORMANCE INDICATORS:
                          Q4 2024   Q3 2024   Target   Status
Service Availability       99.8%     99.5%    99.5%    PASS
SLA Compliance             97.0%     94.2%    95.0%    PASS
MTTR (hours)               12.4      15.2     16.0     PASS
Change Success Rate        98.2%     96.8%    95.0%    PASS
Customer Satisfaction      4.2/5     4.0/5    4.0/5    PASS
Major Incidents            3         4        <5       PASS

YEAR-OVER-YEAR COMPARISON:
| Metric | 2024 | 2023 | Improvement |
|--------|------|------|-------------|
| Total Incidents | 7,245 | 8,102 | -11% |
| MTTR | 13.2 hrs | 18.4 hrs | -28% |
| SLA Compliance | 96.5% | 92.1% | +4.4% |

INVESTMENTS & OUTCOMES:
- AI-powered triage: 15% reduction in assignment time
- Self-service portal: 22% ticket deflection
- Automation: 400+ hours saved monthly

RISKS & MITIGATIONS:
- Aging infrastructure causing 30% of P1 incidents
  Mitigation: Data center refresh approved for Q2 2025

相关技能

  • reporting/sla-analysis - 详细跟踪 SLA 绩效
  • reporting/trend-analysis - 事件趋势和模式
  • itsm/incident-lifecycle - 完整的事件管理
  • itsm/problem-analysis - 问题管理指标

参考资料

评论

支持 Markdown