SuperAPI AI 工具集

pagerduty-automation

部署与运维

查看项目

更新于 10-15 08:00

技能介绍

用途 本技能通过 Composio 的 PagerDuty 工具包,经 Rube MCP 自动化 PagerDuty 的事件管理与运维操作,包括管理事件、服务、排班、升级策略和值班轮换。

前置条件

  • Rube MCP 必须已连接(RUBE_SEARCH_TOOLS 可用)。
  • 通过 RUBE_MANAGE_CONNECTIONS 使用 pagerduty 工具包建立有效的 PagerDuty 连接。
  • 始终先调用 RUBE_SEARCH_TOOLS 获取当前工具模式。

配置方式

  1. 获取 Rube MCP:将 https://rube.app/mcp 作为 MCP 服务器添加到客户端配置中。无需 API 密钥,添加端点即可工作。
  2. 确认 RUBE_SEARCH_TOOLS 有响应,以验证 Rube MCP 可用。
  3. 使用 pagerduty 工具包调用 RUBE_MANAGE_CONNECTIONS。
  4. 若连接未处于 ACTIVE,按返回的认证链接完成 PagerDuty 认证。
  5. 运行任何工作流前确认连接状态为 ACTIVE。

主要能力与工作流

  1. 管理事件:列出事件(PAGERDUTY_FETCH_INCIDENT_LIST)、按 ID 获取事件详情(PAGERDUTY_RETRIEVE_INCIDENT_BY_INCIDENT_ID)、创建事件(PAGERDUTY_CREATE_INCIDENT_RECORD)、更新事件状态或分派(PAGERDUTY_UPDATE_INCIDENT_BY_ID)、添加备注(PAGERDUTY_POST_INCIDENT_NOTE_USING_ID)、按时间暂停事件(PAGERDUTY_SNOOZE_INCIDENT_BY_DURATION)。关键参数包括 statuses[]、service_ids[]、urgencies[]、title、service、status。注意:创建事件需要同时含 id 与 type: 'service_reference' 的 service 对象;状态流转为 triggered -> acknowledged -> resolved,不能从 resolved 直接回到 triggered;更新需将 incident ID 作为路径参数;暂停时长以秒计,暂停期结束后事件会重新触发。

  2. 检查事件告警与分析:获取事件告警列表(PAGERDUTY_GET_ALERTS_BY_INCIDENT_ID)、获取特定告警详情(PAGERDUTY_GET_INCIDENT_ALERT_DETAILS)、获取事件分析指标(PAGERDUTY_FETCH_INCIDENT_ANALYTICS_BY_ID)。关键参数包括 incident_id、alert_id、statuses[]。注意:一个事件可有多个告警,每个告警有独立状态;告警 ID 以事件为作用域;分析数据包含响应时间、参与指标和解决时间。

  3. 管理服务:列出所有服务(PAGERDUTY_RETRIEVE_LIST_OF_SERVICES)、按 ID 获取服务详情(PAGERDUTY_RETRIEVE_SERVICE_BY_ID)、创建技术服务(PAGERDUTY_CREATE_NEW_SERVICE)、更新服务配置(PAGERDUTY_UPDATE_SERVICE_BY_ID)、为服务添加集成(PAGERDUTY_CREATE_INTEGRATION_FOR_SERVICE)、创建业务服务(PAGERDUTY_CREATE_BUSINESS_SERVICE)、更新业务服务(PAGERDUTY_UPDATE_BUSINESS_SERVICE_BY_ID)。关键参数包括 name、escalation_policy、alert_creation、status。注意:创建服务需要已存在的升级策略;业务服务与技术服务不同,代表业务层面的分组;服务集成定义告警如何创建(email、API、events);禁用服务会停止该服务的所有事件创建。

  4. 管理排班与值班:列出排班(PAGERDUTY_GET_SCHEDULES)、获取排班详情(PAGERDUTY_RETRIEVE_SCHEDULE_BY_ID)、创建排班层(PAGERDUTY_CREATE_NEW_SCHEDULE_LAYER)、更新排班(PAGERDUTY_UPDATE_SCHEDULE_BY_ID)、查看当前值班(PAGERDUTY_RETRIEVE_ONCALL_LIST)、创建临时覆盖(PAGERDUTY_CREATE_SCHEDULE_OVERRIDES_CONFIGURATION)、删除覆盖(PAGERDUTY_DELETE_SCHEDULE_OVERRIDE_BY_ID)、列出排班内用户(PAGERDUTY_RETRIEVE_USERS_BY_SCHEDULE_ID)、预览排班变更(PAGERDUTY_PREVIEW_SCHEDULE_OBJECT)。关键参数包括 schedule_id、time_zone、schedule_layers、since/until、override。注意:排班层定义轮换顺序,多层可重叠;覆盖是临时的,优先级高于常规排班;值班查询必须提供 since 与 until 以限定时间范围;时区须为有效 IANA 时区字符串;复杂的排班变更应先预览再保存。

  5. 管理升级策略:列出升级策略(PAGERDUTY_FETCH_ESCALATION_POLICES_LIST)、按 ID 获取策略详情(PAGERDUTY_GET_ESCALATION_POLICY_BY_ID)、创建策略(PAGERDUTY_CREATE_ESCALATION_POLICY)、更新策略(PAGERDUTY_UPDATE_ESCALATION_POLICY_BY_ID)、查看策略审计记录(PAGERDUTY_AUDIT_ESCALATION_POLICY_RECORDS)。关键参数包括 name、escalation_rules、num_loops、escalation_delay_in_minutes。注意:每条升级规则至少需要一个目标(用户、排班或团队);escalation_delay_in_minutes 定义升级到下一级的等待时间;num_loops 设为 0 表示策略执行一次后停止;若仍有服务引用该策略,删除会失败。

  6. 管理团队:创建新团队(PAGERDUTY_CREATE_NEW_TEAM_WITH_DETAILS)。关键参数包括 name、description。注意:团队名称在账户内必须唯一;团队用于限定服务、升级策略和排班的作用域。

常见模式

  • ID 解析:通过服务名查服务 ID(调用 PAGERDUTY_RETRIEVE_LIST_OF_SERVICES,按名称查找,提取 id);通过排班名查排班 ID(调用 PAGERDUTY_GET_SCHEDULES,按名称查找,提取 id)。
  • 事件生命周期:事件触发(经 API、集成或手动创建)→ 按升级策略通知值班用户 → 用户确认(status: 'acknowledged')→ 用户解决(status: 'resolved')。
  • 分页:PagerDuty 使用基于 offset 的分页,检查响应中的 more 布尔字段,使用 offset 与 limit 参数,直到 more 为 false。

已知陷阱

  • ID 格式:所有 PagerDuty ID 为字母数字字符串(如 'P1234AB');服务引用需要 type: 'service_reference';用户引用需要 type: 'user_reference'。
  • 状态流转:事件为 triggered -> acknowledged -> resolved(仅向前);服务状态为 active、warning、critical、maintenance、disabled。
  • 速率限制:PagerDuty API 按账户施加速率限制,对 429 响应实施指数退避,批量操作应间隔执行。
  • 响应解析:响应数据可能嵌套在 data 或 data.data 下,应以防御性方式解析并提供回退模式;分页使用 offset/limit/more 模式。

适用场景 适合需要通过 MCP 在客户端内自动化 PagerDuty 日常运维的团队,例如批量查询与更新事件、查看告警与分析指标、维护服务与集成、管理排班与值班覆盖、创建和调整升级策略及团队。

限制 资料未提供具体收费、价格与平台支持范围的说明;实际可用能力取决于 RUBE_SEARCH_TOOLS 返回的当前工具模式以及 PagerDuty 账户本身的权限与速率限制。所有 PagerDuty 操作需在连接状态为 ACTIVE 时执行。