导出事件管理器数据 - Incident Manager

AWS Systems Manager Incident Manager不再向新客户开放。现有客户可以继续正常使用该服务。有关更多信息,请参阅 AWS Systems Manager Incident Manager可用性变更

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

导出事件管理器数据

本主题介绍如何使用 Python 脚本从中 AWS Systems Manager Incident Manager导出事件记录和事后分析。该脚本将数据导出到结构化的 JSON 文件以供进一步分析或存档。

你可以导出的内容

该脚本导出以下数据:

  • 完整的事件记录,包括:

    • 时间轴事件

    • 相关术语

    • 互动

    • 自动化执行

    • 安全发现

    • 标记

  • 来自 Systems Manager 的事后分析文档

先决条件

开始之前,请确保您已具备以下条件:

  • 已安装 Python 3.7 或更高版本

  • AWS CLI 使用适当的凭据进行配置

  • 安装了以下 Python 软件包:

    pip install boto3 python-dateutil

所需的 IAM 权限

要使用此脚本,请确保您具有以下权限:

Systems Manager 事件权限

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "ssm-incidents:ListIncidentRecords", "ssm-incidents:GetIncidentRecord", "ssm-incidents:ListTimelineEvents", "ssm-incidents:GetTimelineEvent", "ssm-incidents:ListRelatedItems", "ssm-incidents:ListEngagements", "ssm-incidents:GetEngagement", "ssm-incidents:BatchGetIncidentFindings", "ssm-incidents:ListTagsForResource" ], "Resource": "*" } ] }

Systems Manager 权限

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "ssm:ListDocuments", "ssm:GetDocument", "ssm:GetAutomationExecution" ], "Resource": "*" } ] }

出口结构

该脚本为导出的数据创建以下目录结构:

incident_manager_export_YYYYMMDD_HHMMSS/ ├── incident_records/ │ ├── 20250309_102129_IAD_Service_A_Lambda_High_Latency.json │ ├── 20250314_114820_SecurityFinding_SecurityHubFindings.json │ └── ... └── post_incident_analyses/ ├── 20250310_143022_Root_Cause_Analysis_Service_A.json ├── 20250315_091545_Security_Incident_Review.json └── ...

运行导出脚本

基本用法

提供了事件管理器数据导出脚本here。请下载脚本并按照以下说明运行脚本。

要使用默认设置运行脚本,请执行以下操作:

python3 export-incident-manager-data.py

可用选项

您可以使用以下命令行选项自定义导出:

选项 描述 默认
--region AWS 区域 us-east-1
--profile AWS 个人资料名称 默认配置文件
--verbose, -v 启用详细日志 FALSE
--limit 要导出的最大事件数 无限制
--timeline-events-limit 每个事件的最大时间轴事件数 100
--timeline-details-limit 每个事件的最大时间轴事件详情 100
--related-items-limit 每次事件的相关物品上限 50
--engagements-limit 每次事件的最大参与度 20
--analysis-docs-limit 要导出的分析文档的最大数量 50

示例

使用自定义配置文件从特定区域导出:

python3 export-incident-manager-data.py --region us-east-1 --profile my-aws-profile

使用详细日志和测试限制进行导出:

python3 export-incident-manager-data.py --verbose --limit 5 --timeline-events-limit 10

以保守的限制导出大型数据集:

python3 export-incident-manager-data.py --timeline-events-limit 50 --timeline-details-limit 25

输出文件结构

事件记录 JSON 结构

每个事件记录文件都包含以下结构:

{ "incident_record": { // Complete incident record from get-incident-record }, "incident_summary": { // Incident summary from list-incident-records }, "incident_source_details": { "from_incident_record": {}, "from_incident_summary": {}, "enhanced_details": { "created_by": "arn:aws:sts::...", "source": "aws.ssm-incidents.custom", "source_analysis": { "source_type": "manual", "creation_method": "human_via_console", "automation_involved": false, "human_created": true } } }, "timeline_events": { "detailed_events": [ { "summary": {}, // From list-timeline-events "details": {} // From get-timeline-event } ], "summary_only_events": [], "metadata": { "total_events_found": 45, "events_with_details": 25, "limits_applied": {} } }, "related_items": { "items": [], "metadata": {} }, "engagements": { "engagements": [], "metadata": {} }, "automation_executions": [], "findings": [], "tags": [], "post_incident_analysis": { "analysis_reference": {}, "metadata": {} }, "export_metadata": { "exported_at": "2025-09-18T...", "region": "us-east-*", "incident_arn": "arn:aws:ssm-incidents::..." } }

事后分析 JSON 结构

每个分析文档文件都包含:

{ "document_metadata": { // Document metadata from list-documents }, "document_details": { "Name": "037fc5dd-cd86-49bb-9c3d-15720e78798e", "Content": "...", // Full JSON content "DocumentType": "ProblemAnalysis", "CreatedDate": 1234567890, "ReviewStatus": "APPROVED", "AttachmentsContent": [], // ... other fields from get-document }, "export_metadata": { "exported_at": "2025-09-18T...", "region": "us-east-*", "document_name": "..." } }