mcpField
B
business-app-insights

business-app-insights

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

关于 business-app-insights

用于分析 ServiceNow CMDB 与企业架构中业务应用的技能,面向企业架构师和应用组合管理团队。它汇总应用健康、依赖关系、技术标准、生命周期及架构决策,形成应用洞察报告。

主要功能

  1. 01查询业务应用及组合信息
  2. 02映射上下游依赖关系
  3. 03对照技术标准与生命周期
  4. 04分析事件和变更数据
  5. 05关联架构决策与图表

适用场景

  1. 01评估应用健康与运行风险
  2. 02识别需要现代化或退役的应用
  3. 03为组合规划整理应用概况
  4. 04并购尽调时梳理应用依赖

MCP 相关

工作流使用 ServiceNow MCP 工具查询业务应用、CMDB 关系、技术标准、事件、变更、架构决策记录和图表。

安装

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

$npx skills add https://github.com/happy-technologies-llc/happy-platform-skills --skill business-app-insights

安装后在 Claude Code 中输入/business-app-insights确认已加载。

详细介绍

业务应用洞察

概述

此技能涵盖如何为 ServiceNow CMDB 和企业架构模块中注册的业务应用生成全面洞察:

  • 通过事件、变更和中断数据评估应用健康状况
  • 通过 CMDB 关系映射上游和下游依赖项
  • 分析技术栈与企业标准的契合度
  • 根据生命周期阶段、风险和成本识别现代化候选对象
  • 为高管仪表板生成应用组合摘要
  • 将应用与架构决策记录相关联

适用场景: 应用组合合理化、技术更新规划、并购尽职调查、风险评估期间,或架构师需要全面了解应用现状时。

先决条件

  • 角色: ea_admin、ea_viewer、itil、cmdb_read 或 admin
  • 访问权限: cmdb_ci_business_app、cmdb_rel_ci、sn_ea_tech_standard、sn_ea_architecture_decision_record 表
  • 知识: CMDB 数据模型、应用生命周期管理、企业架构概念
  • 插件: 必须激活 Enterprise Architecture (com.sn_ea)、CMDB (com.snc.cmdb)
  • 相关技能: 完成 ea/adr-summarization,以了解决策历史

操作步骤

步骤 1:了解业务应用数据模型
cmdb_ci_business_app (Business Application)
├── cmdb_rel_ci (Relationships) ── upstream/downstream CIs
├── sn_ea_tech_standard (Technology Standards)
├── sn_ea_architecture_decision_record (ADRs)
├── sn_ea_diagram (Architecture Diagrams)
├── incident (Related Incidents)
├── change_request (Related Changes)
└── sys_user / sys_user_group (Owners / Support Groups)

主要表:

表用途
cmdb_ci_business_app包含生命周期、关键性和所有权信息的业务应用记录
cmdb_rel_ci用于依赖项映射的 CI 到 CI 关系
sn_ea_tech_standard技术标准及其生命周期状态
sn_ea_diagram与应用关联的架构图
sn_ea_architecture_decision_record影响应用的架构决策
步骤 2:检索业务应用详情

MCP 方式:

Tool: SN-Query-Table
Parameters:
  table_name: cmdb_ci_business_app
  query: name=[app_name]
  fields: sys_id,name,short_description,owner,business_criticality,lifecycle_stage,operational_status,used_for,version,vendor,cost_center,support_group,managed_by
  limit: 10

REST 替代方式:

curl -u "$SN_USER:$SN_PASS" \
  "$SN_INSTANCE/api/now/table/cmdb_ci_business_app?sysparm_query=name=[app_name]&sysparm_fields=sys_id,name,short_description,owner,business_criticality,lifecycle_stage,operational_status,used_for,version,vendor&sysparm_limit=10" \
  -H "Accept: application/json"
步骤 3:查询应用组合概览

检索包含关键指标的所有业务应用:

MCP 方式:

Tool: SN-Query-Table
Parameters:
  table_name: cmdb_ci_business_app
  query: operational_status=1^ORoperational_status=2
  fields: sys_id,name,business_criticality,lifecycle_stage,operational_status,owner,vendor,used_for
  limit: 200

REST 替代方式:

curl -u "$SN_USER:$SN_PASS" \
  "$SN_INSTANCE/api/now/table/cmdb_ci_business_app?sysparm_query=operational_status=1^ORoperational_status=2&sysparm_fields=sys_id,name,business_criticality,lifecycle_stage,operational_status,owner,vendor&sysparm_limit=200" \
  -H "Accept: application/json"
步骤 4:映射应用依赖项

查询上游依赖项(此应用依赖的对象):

MCP 方式:

Tool: SN-Query-Table
Parameters:
  table_name: cmdb_rel_ci
  query: child=[app_sys_id]
  fields: sys_id,parent,child,type,connection_strength
  limit: 100

查询下游依赖项(依赖此应用的对象):

MCP 方式:

Tool: SN-Query-Table
Parameters:
  table_name: cmdb_rel_ci
  query: parent=[app_sys_id]
  fields: sys_id,parent,child,type,connection_strength
  limit: 100

REST 替代方式:

# Upstream
curl -u "$SN_USER:$SN_PASS" \
  "$SN_INSTANCE/api/now/table/cmdb_rel_ci?sysparm_query=child=[app_sys_id]&sysparm_fields=sys_id,parent,child,type&sysparm_limit=100" \
  -H "Accept: application/json"

# Downstream
curl -u "$SN_USER:$SN_PASS" \
  "$SN_INSTANCE/api/now/table/cmdb_rel_ci?sysparm_query=parent=[app_sys_id]&sysparm_fields=sys_id,parent,child,type&sysparm_limit=100" \
  -H "Accept: application/json"
步骤 5:分析技术栈与标准的契合度

检索技术标准:

MCP 方式:

Tool: SN-Query-Table
Parameters:
  table_name: sn_ea_tech_standard
  query: active=true
  fields: sys_id,name,description,status,lifecycle_stage,standard_type,category
  limit: 200

检查应用符合哪些标准:

MCP 方式:

Tool: SN-Query-Table
Parameters:
  table_name: sn_ea_tech_standard
  query: related_business_appLIKE[app_sys_id]
  fields: sys_id,name,status,lifecycle_stage,standard_type
  limit: 50
步骤 6:通过事件评估应用健康状况

查询应用的近期事件:

MCP 方式:

Tool: SN-Query-Table
Parameters:
  table_name: incident
  query: cmdb_ci=[app_sys_id]^sys_created_on>=javascript:gs.daysAgo(90)
  fields: sys_id,number,short_description,priority,state,resolved_at,sys_created_on
  limit: 100

REST 替代方式:

curl -u "$SN_USER:$SN_PASS" \
  "$SN_INSTANCE/api/now/table/incident?sysparm_query=cmdb_ci=[app_sys_id]^sys_created_on>=javascript:gs.daysAgo(90)&sysparm_fields=sys_id,number,short_description,priority,state&sysparm_limit=100" \
  -H "Accept: application/json"
步骤 7:评估变更频率

MCP 方式:

Tool: SN-Query-Table
Parameters:
  table_name: change_request
  query: cmdb_ci=[app_sys_id]^sys_created_on>=javascript:gs.daysAgo(180)
  fields: sys_id,number,short_description,type,state,risk,sys_created_on
  limit: 100
步骤 8:检索相关架构决策

MCP 方式:

Tool: SN-Query-Table
Parameters:
  table_name: sn_ea_architecture_decision_record
  query: business_application=[app_sys_id]
  fields: sys_id,number,title,state,decision,consequences,sys_created_on
  limit: 50
步骤 9:检索架构图

MCP 方式:

Tool: SN-Query-Table
Parameters:
  table_name: sn_ea_diagram
  query: related_record=[app_sys_id]
  fields: sys_id,name,description,diagram_type,sys_updated_on
  limit: 20
步骤 10:汇总应用洞察报告

使用此模板生成结构化报告:

Application Insight Report: [App Name]
================================================
Business Criticality: [Level]
Lifecycle Stage: [Stage]
Operational Status: [Status]
Owner: [Owner Name]
Vendor: [Vendor]

HEALTH SUMMARY:
- Incidents (last 90 days): [Count] ([P1]: X, [P2]: Y, [P3]: Z)
- Changes (last 180 days): [Count]
- Availability: [Derived metric]

DEPENDENCY MAP:
Upstream (depends on):
  - [CI Name] (Type: [Rel Type])
Downstream (depended on by):
  - [CI Name] (Type: [Rel Type])

TECHNOLOGY STACK:
- [Standard Name] - Status: [Approved/Retiring/Prohibited]

ARCHITECTURE DECISIONS:
- [ADR Number]: [Title] - [State]

MODERNIZATION ASSESSMENT:
- Lifecycle Risk: [Low/Medium/High]
- Technical Debt Indicators: [List]
- Recommended Actions: [List]

DIAGRAMS:
- [Diagram Name] (Type: [Type])

工具用法

操作MCP 工具REST 端点
获取应用详情SN-Get-RecordGET /api/now/table/cmdb_ci_business_app/{sys_id}
查询应用SN-Query-TableGET /api/now/table/cmdb_ci_business_app
映射依赖项SN-Query-TableGET /api/now/table/cmdb_rel_ci
获取技术标准SN-Query-TableGET /api/now/table/sn_ea_tech_standard
获取事件SN-Query-TableGET /api/now/table/incident
获取变更SN-Query-TableGET /api/now/table/change_request
获取 ADRSN-Query-TableGET /api/now/table/sn_ea_architecture_decision_record
获取架构图SN-Query-TableGET /api/now/table/sn_ea_diagram

最佳实践

  • 从关键性入手: 优先分析业务关键型应用(关键性为 1 或 2)
  • 利用生命周期阶段: 借助 lifecycle_stage 字段识别适合退役或现代化改造的候选对象
  • 交叉比对事件与变更: 将高事件数量与近期变更关联起来,寻找根本原因模式
  • 绘制完整依赖链: 沿依赖关系图深入 2-3 层,了解影响范围
  • 纳入成本数据: 在数据可用时,结合 cost_center 和 TCO 数据获取财务洞察
  • 对照标准进行比较: 标记使用生命周期阶段为“Retiring”或“Prohibited”的技术的应用
  • 限定事件分析时间范围: 使用 90 天时间窗口分析健康指标,以捕捉当前趋势并减少噪声
  • 汇总形成产品组合视图: 将单个应用的洞察汇总为域级或能力级摘要
  • 与负责人确认: 发布前务必与应用负责人确认自动化洞察

故障排除

未找到依赖关系

症状: cmdb_rel_ci 未返回某个应用的任何结果 原因:

  1. CMDB 中未填充关系
  2. 应用注册为不同的 CI 类
  3. 关系方向相反 解决方案:
Tool: SN-Query-Table
Parameters:
  table_name: cmdb_rel_ci
  query: parent=[app_sys_id]^ORchild=[app_sys_id]
  fields: sys_id,parent,child,type
  limit: 50
未找到业务应用

症状: 按应用名称查询未返回任何结果 原因: 应用可能以不同名称或 CI 类注册 解决方案:

Tool: SN-Query-Table
Parameters:
  table_name: cmdb_ci_business_app
  query: nameLIKE[partial_name]^ORshort_descriptionLIKE[partial_name]
  fields: sys_id,name,short_description,sys_class_name
  limit: 20
缺少技术标准链接

症状: 未关联到应用的技术标准 原因: 标准可能通过其他关系或自定义表关联 解决方案: 检查数据字典中的关系字段:

Tool: SN-Query-Table
Parameters:
  table_name: sys_dictionary
  query: name=sn_ea_tech_standard^elementLIKEapplication
  fields: element,column_label,internal_type
  limit: 20
事件数量似乎过高

症状: 单个应用返回数百个事件 原因: 父 CI 可能通过 CMDB 层级关系捕获子 CI 事件 解决方案: 仅筛选直接 CI 关联:

Tool: SN-Query-Table
Parameters:
  table_name: incident
  query: cmdb_ci=[app_sys_id]^cmdb_ci.sys_class_name=cmdb_ci_business_app
  fields: sys_id,number,priority
  limit: 200

示例

示例 1:完整的应用健康评估
# Step 1: Get application details
Tool: SN-Query-Table
Parameters:
  table_name: cmdb_ci_business_app
  query: name=SAP ERP
  fields: sys_id,name,business_criticality,lifecycle_stage,operational_status,owner,vendor
  limit: 1
# Result: sys_id = "app123"

# Step 2: Get dependencies
Tool: SN-Query-Table
Parameters:
  table_name: cmdb_rel_ci
  query: parent=app123^ORchild=app123
  fields: sys_id,parent,child,type
  limit: 100

# Step 3: Get recent incidents
Tool: SN-Query-Table
Parameters:
  table_name: incident
  query: cmdb_ci=app123^sys_created_on>=javascript:gs.daysAgo(90)
  fields: sys_id,number,priority,state
  limit: 200

# Step 4: Get architecture decisions
Tool: SN-Query-Table
Parameters:
  table_name: sn_ea_architecture_decision_record
  query: business_application=app123
  fields: sys_id,number,title,state,decision
  limit: 20
示例 2:产品组合现代化改造候选对象
# Find applications in "End of Life" or "Retiring" lifecycle stages
Tool: SN-Query-Table
Parameters:
  table_name: cmdb_ci_business_app
  query: lifecycle_stage=end_of_life^ORlifecycle_stage=retiring^operational_status=1
  fields: sys_id,name,business_criticality,lifecycle_stage,owner,vendor
  limit: 100
示例 3:关键应用依赖关系报告
# Find all critical applications
Tool: SN-Query-Table
Parameters:
  table_name: cmdb_ci_business_app
  query: business_criticality=1^operational_status=1
  fields: sys_id,name,owner,lifecycle_stage
  limit: 50

# For each, query dependency count
Tool: SN-Query-Table
Parameters:
  table_name: cmdb_rel_ci
  query: parent=[each_app_sys_id]
  fields: sys_id,child
  limit: 500

相关技能

  • ea/adr-summarization - 架构决策记录摘要
  • cmdb/ci-discovery - CMDB 配置项管理
  • cmdb/relationship-mapping - 深度依赖关系分析
  • reporting/analytics-generation - 创建用于产品组合视图的仪表板
  • spm/project-insights - 项目和产品组合管理洞察

评论

支持 Markdown