

AWS Systems Manager Incident Manager 不再向新客户开放。现有客户可以继续正常使用该服务。有关更多信息，请参阅 [AWS Systems Manager Incident Manager 可用性变更](https://docs.aws.amazon.com/incident-manager/latest/userguide/incident-manager-availability-change.html)。

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

# 导出事件管理器数据
<a name="export-data"></a>

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

## 你可以导出的内容
<a name="export-what"></a>

该脚本导出以下数据：
+ 完整的事件记录，包括：
  + 时间轴事件
  + 相关术语
  + 互动
  + 自动化执行
  + 安全发现
  + 标记
+ 来自 Systems Manager 的事后分析文档

## 先决条件
<a name="export-prerequisites"></a>

开始之前，请确保您已具备以下条件：
+ 已安装 Python 3.7 或更高版本
+ AWS CLI 使用适当的凭据进行配置
+ 安装了以下 Python 软件包：

  ```
  pip install boto3 python-dateutil
  ```

## 所需的 IAM 权限
<a name="export-permissions"></a>

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

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": "*"
        }
    ]
}
```

## 出口结构
<a name="export-structure"></a>

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

```
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
    └── ...
```

## 运行导出脚本
<a name="export-running"></a>

### 基本用法
<a name="export-basic"></a>

提供了事件管理器数据导出脚本`[here](samples/export-incident-manager-data.zip)`。请下载脚本并按照以下说明运行脚本。

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

```
python3 export-incident-manager-data.py
```

### 可用选项
<a name="export-options"></a>

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


| 选项 | 描述 | 默认 | 
| --- | --- | --- | 
| --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 | 

### 示例
<a name="export-examples"></a>

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

```
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
```

## 输出文件结构
<a name="export-output"></a>

### 事件记录 JSON 结构
<a name="export-incident-json"></a>

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

```
{
    "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 结构
<a name="export-analysis-json"></a>

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

```
{
    "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": "..."
    }
}
```