

本指南记录了 2025 年 3 月 13 日发布的全新 AWS Wickr 管理控制台。有关经典版 AWS Wickr 管理控制台的文档，请参阅[经典管理指南](https://docs.aws.amazon.com/wickr/latest/adminguide-classic/what-is-wickr.html)。

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

# AWS Wickr 的数据保留
<a name="data-retention"></a>

AWS Wickr 数据留存可以保留网络中的所有对话。这包括网络内（内部）成员和您的网络与之进行联合身份验证的其他团队（外部）成员之间的直接消息对话以及群组或会议室中的对话。数据留存功能仅适用于选择保留数据的 AWS Wickr Premium 计划用户和企业客户。有关 Premium 计划的更多信息，请参阅 [Wickr](https://aws.amazon.com/wickr/pricing/) 定价。

当网络管理员为其网络配置和激活数据留存功能时，其网络中共享的所有消息和文件都将根据组织的合规政策保留。网络管理员可以在外部位置（例如：本地存储、Amazon S3 存储桶或用户选择的任何其他存储）访问这些 .txt 文件输出，可以从那里对其进行分析、擦除或传输。

**注意**  
Wickr 永远不会访问您的消息和文件。因此，您有责任配置数据留存系统。

**Topics**
+ [在 AWS Wickr 中查看数据保留详情](view-data-retention-details.md)
+ [为 AWS Wickr 配置数据保留](configure-data-retention.md)
+ [获取 Wickr 网络的数据保留日志](getting-data-retention-logs.md)
+ [Wickr 网络的数据保留指标和事件](metrics-events.md)

# 在 AWS Wickr 中查看数据保留详情
<a name="view-data-retention-details"></a>

完成以下过程以查看 Wickr 网络的数据留存详细信息。您还可以启用或禁用 Wickr 网络的数据留存功能。

1. 在 f AWS 管理控制台 or Wickr 上[https://console.aws.amazon.com/wickr/](https://console.aws.amazon.com/wickr/)打开。

1. 在 “**网络**” 页面上，选择要导航到该网络的网络名称。

1. 在导航窗格中，选择**网络策略**。

1. **网络策略**页面显示设置数据保留的步骤以及激活或停用数据保留功能的选项。有关配置数据留存的更多信息，请参阅 [为 AWS Wickr 配置数据保留](configure-data-retention.md)。

**注意**  
数据留存功能激活后，网络中所有用户都会看到一条**数据留存已开启**的消息，告知他们启用了保留功能的网络。

# 为 AWS Wickr 配置数据保留
<a name="configure-data-retention"></a>

要为您的 AWS Wickr 网络配置数据留存，您必须将数据留存机器人 Docker 映像部署到主机上的容器，例如本地计算机或 Amazon Elastic Compute Cloud (Amazon EC2) 中的实例。部署机器人后，您可以将其配置为将数据存储在 Amazon Simple Storage Service (Amazon S3) 存储桶中。您还可以将数据保留机器人配置为使用其他 AWS 服务，例如 AWS Secrets Manager (Secrets Manager)、亚马逊 ()、亚马逊简单通知服务 CloudWatch (Amazon SNSCloudWatch) Simple Notification Service 和 ()。 AWS Key Management Service AWS KMS以下主题介绍如何为您的 Wickr 网络配置和运行数据留存机器人。

**Topics**
+ [为 AWS Wickr 配置数据保留的先决条件](#data-retention-prerequisites)
+ [AWS Wickr 中数据保留机器人的密码](data-retention-password.md)
+ [AWS Wickr 网络的存储选项](data-retention-storage-options.md)
+ [在 AWS Wickr 中配置数据保留机器人的环境变量](data-retention-bot-env-variables.md)
+ [AWS Wickr 的 Secrets Manager 值](data-retention-aws-secret-values.md)
+ [在 AWS 服务中使用数据保留的 IAM 政策](data-retention-aws-services.md)
+ [为你的 Wickr 网络启动数据保留机器人](starting-data-retention-bot.md)
+ [停止你的 Wickr 网络的数据保留机器人](stopping-data-retention-bot.md)

## 为 AWS Wickr 配置数据保留的先决条件
<a name="data-retention-prerequisites"></a>

在开始之前，必须从 for Wickr 获取数据保留机器人名称（标记 AWS 管理控制台 为**用户名**）和初始密码。首次启动数据留存机器人时，必须同时指定这两个值。您还必须在控制台中启用数据留存。有关更多信息，请参阅 [在 AWS Wickr 中查看数据保留详情](view-data-retention-details.md)。

# AWS Wickr 中数据保留机器人的密码
<a name="data-retention-password"></a>

首次启动数据留存机器人时，您可以使用以下选项之一指定初始密码：
+ 环境变量 `WICKRIO_BOT_PASSWORD` 本指南后面的 [在 AWS Wickr 中配置数据保留机器人的环境变量](data-retention-bot-env-variables.md) 部分概述了数据留存机器人环境变量。
+ 由 `AWS_SECRET_NAME` 环境变量标识的 Secrets Manager 中的**密码**值。本指南后面的 [AWS Wickr 的 Secrets Manager 值](data-retention-aws-secret-values.md) 部分概述了数据留存机器人的 Secrets Manager 值。
+ 当数据留存机器人提示时，请输入密码。您需要使用 `-ti` 选项以交互式 TTY 访问权限运行数据留存机器人。

首次配置数据留存机器人时，将生成一个新密码。如果您需要重新安装数据留存机器人，则使用生成的密码。初始安装数据留存机器人后，初始密码无效。

将显示新生成的密码，如以下示例中所示。

**重要**  
将密码保存在安全的位置。如果您丢失了密码，您将无法重新安装数据留存机器人。请勿共享此密码。它提供了开始为 Wickr 网络保留数据的功能。

```
********************************************************************
**** GENERATED PASSWORD
**** DO NOT LOSE THIS PASSWORD, YOU WILL NEED TO ENTER IT EVERY TIME
**** TO START THE BOT
 "HuEXAMPLERAW4lGgEXAMPLEn"
 ********************************************************************
```

# AWS Wickr 网络的存储选项
<a name="data-retention-storage-options"></a>

启用数据留存功能并为 Wickr 网络配置数据留存机器人后，它将捕获在您的网络中发送的所有消息和文件。消息保存在文件中，这些文件受限于特定大小或时间限制，可以使用环境变量进行配置。有关更多信息，请参阅 [在 AWS Wickr 中配置数据保留机器人的环境变量](data-retention-bot-env-variables.md)。

您可以配置下列选项之一来存储这些数据：
+ 将所有捕获的消息和文件存储在本地。这是默认选项。您有责任将本地文件移动到另一个系统进行长期存储，并确保主机磁盘不会耗尽内存或空间。
+ 将所有捕获的消息和文件存储在 Amazon S3 存储桶中。数据留存机器人会将所有解密的消息和文件保存到您指定的 Amazon S3 存储桶中。成功保存到存储桶后，捕获的消息和文件将从主机中移除。
+ 将所有已捕获消息和加密文件存储在 Amazon S3 存储桶中。数据留存机器人将使用您提供的密钥对所有捕获的消息和文件进行重新加密，并将其保存到您指定的 Amazon S3 存储桶中。成功重新加密并保存到存储桶后，捕获的消息和文件将从主机上移除。您将需要软件来解密消息和文件。

  有关用您的数据留存创建要使用的 Amazon S3 存储桶的更多信息，请参阅 *Amazon Simple 用户指南*中的[创建存储桶](https://docs.aws.amazon.com/AmazonS3/latest/userguide/create-bucket-overview.html)。

# 在 AWS Wickr 中配置数据保留机器人的环境变量
<a name="data-retention-bot-env-variables"></a>

您可以使用以下环境变量来配置数据留存机器人。在运行数据留存机器人 Docker 映像时，您可以使用 `-e` 选项设置这些环境变量。有关更多信息，请参阅 [为你的 Wickr 网络启动数据保留机器人](starting-data-retention-bot.md)。

**注意**  
除非另有说明，否则这些环境变量是可选的。

使用以下环境变量来指定数据留存机器人凭证：
+ `WICKRIO_BOT_NAME`：数据留存机器人的名称。运行数据留存机器人 Docker 映像时*需要*此变量。
+ `WICKRIO_BOT_PASSWORD`：数据留存机器人的初始密码。有关更多信息，请参阅 [为 AWS Wickr 配置数据保留的先决条件](configure-data-retention.md#data-retention-prerequisites)。如果您不打算使用密码提示启动数据留存机器人，或者您不打算使用 Secrets Manager 来存储数据留存机器人凭据，则*需要*使用此变量。

使用以下环境变量来配置默认数据留存流式传输功能：
+ `WICKRIO_COMP_MESGDEST`：将要流式传输消息的目录的路径名。默认值为 `/tmp/<botname>/compliance/messages`。
+ `WICKRIO_COMP_FILEDEST`：将流式传输文件的目录的路径名。默认值为 `/tmp/<botname>/compliance/attachments`。
+ `WICKRIO_COMP_BASENAME`：收到的消息文件的基本名称。默认值为 `receivedMessages`。
+ `WICKRIO_COMP_FILESIZE`：以 kibibyte (KiB) 为单位的已接收消息文件的最大文件大小。当大小达到最大时，将启动一个新文件。默认值为 `1000000000`，如 1024 GiB。
+ `WICKRIO_COMP_TIMEROTATE`：数据留存机器人将收到的消息放入收到的消息文件的时间长度，以分钟为单位。当达到时间限制时，将启动一个新文件。您只能使用文件大小或时间来限制收到的消息文件的大小。默认值为 `0`，因为没有限制。

使用以下环境变量来定义 AWS 区域 要使用的默认值。
+ `AWS_DEFAULT_REGION`— Secrets Manager 等 AWS 服务的默认值 AWS 区域 （不用于亚马逊 S3 或 AWS KMS）。如果未定义此环境变量，则默认使用 `us-east-1` 区域。

使用以下环境变量指定在选择使用 Secrets Manager 存储数据保留机器人凭据和 AWS 服务信息时要使用的 Secrets Manager 密钥。有关可以在 Secrets Manager 中存储的值的更多信息，请参阅 [AWS Wickr 的 Secrets Manager 值](data-retention-aws-secret-values.md)。
+ `AWS_SECRET_NAME`— Secrets Manager 密钥的名称，其中包含数据保留机器人所需的凭据和 AWS 服务信息。
+ `AWS_SECRET_REGION`— AWS 秘密所在的那个。 AWS 区域 如果您使用的是 AWS 密钥但未定义此值，则将使用该`AWS_DEFAULT_REGION`值。

**注意**  
您可以将以下所有环境变量作为值存储在 Secrets Manager 中。如果您选择使用 Secrets Manager，并将这些值存储在那里，那么在运行数据留存机器人 Docker 映像时，您无需将它们指定为环境变量。您只需要指定本指南前面描述的 `AWS_SECRET_NAME` 环境变量即可。有关更多信息，请参阅 [AWS Wickr 的 Secrets Manager 值](data-retention-aws-secret-values.md)。

当您选择将消息和文件存储到存储桶时，使用以下环境变量指定 Amazon S3 存储桶。
+ `WICKRIO_S3_BUCKET_NAME`：存储消息和文件的 Amazon S3 存储桶的名称。
+ `WICKRIO_S3_REGION`— 用于存储消息和文件的 Amazon S3 存储桶 AWS 区域。
+ `WICKRIO_S3_FOLDER_NAME`：存储邮件和文件的 Amazon S3 存储桶中的可选文件夹名称。此文件夹名称前将带有保存到 Amazon S3 存储桶中的邮件和文件的密钥。

在将文件保存到 Amazon S3 存储桶时，当您选择使用客户端加密来重新加密文件时，请使用以下环境变量来指定 AWS KMS 详细信息。
+ `WICKRIO_KMS_MSTRKEY_ARN`— AWS KMS 主密钥的亚马逊资源名称 (ARN)，用于在消息文件和数据保留机器人上的文件保存到 Amazon S3 存储桶之前对其进行重新加密。
+ `WICKRIO_KMS_REGION`— AWS KMS 主密钥所在的 AWS 区域。

当您选择向 Amazon SNS 主题发送数据留存事件时，使用以下环境变量指定 Amazon SNS 的详细信息。发送的事件包括启动、关闭以及错误情况。
+ `WICKRIO_SNS_TOPIC_ARN`：要使用其发送数据留存事件的 Amazon SNS 主题的 ARN。

使用以下环境变量向发送数据保留指标 CloudWatch。如果指定，则将每 60 秒生成一次指标。
+ `WICKRIO_METRICS_TYPE`— 将此环境变量的值设置为，`cloudwatch`以向其发送指标 CloudWatch。

# AWS Wickr 的 Secrets Manager 值
<a name="data-retention-aws-secret-values"></a>

你可以使用 Secrets Manager 来存储数据保留机器人凭据和 AWS 服务信息。有关创建 Secrets Manager 密钥的更多信息，请参阅 [S AWS Secrets Manager ecrets Manager 用户指南中的创建](https://docs.aws.amazon.com/secretsmanager/latest/userguide/create_secret.html)*密钥*。

Secrets Manager 密钥可以具有以下值：
+ `password`：数据留存机器人密码。
+ `s3_bucket_name`：存储消息和文件的 Amazon S3 存储桶的名称。如果未设置，则将使用默认文件流式传输。
+ `s3_region`— 用于存储消息和文件的 Amazon S3 存储桶 AWS 区域。
+ `s3_folder_name`：存储邮件和文件的 Amazon S3 存储桶中的可选文件夹名称。此文件夹名称前将带有保存到 Amazon S3 存储桶中的邮件和文件的密钥。
+ `kms_master_key_arn`— AWS KMS 主密钥的 ARN，用于在消息文件和数据保留机器人上的文件保存到 Amazon S3 存储桶之前对其进行重新加密。
+ `kms_region`— AWS KMS 主密钥所在的 AWS 区域。
+ `sns_topic_arn`：要使用其发送数据留存事件的 Amazon SNS 主题的 ARN。

# 在 AWS 服务中使用数据保留的 IAM 政策
<a name="data-retention-aws-services"></a>

如果您计划在 Wickr 数据保留机器人中使用其他 AWS 服务，则必须确保主机具有相应的 AWS Identity and Access Management (IAM) 角色和策略来访问这些服务。你可以将数据保留机器人配置为使用 Secrets Manager、Amazon S3、 CloudWatch、Amazon SNS 和。 AWS KMS以下 IAM policy授予这些服务的特定操作所需的访问权限。

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "VisualEditor0",
            "Effect": "Allow",
            "Action": [
                "s3:PutObject",
                "secretsmanager:GetSecretValue",
                "sns:Publish",
                "cloudwatch:PutMetricData",
                "kms:GenerateDataKey"
            ],
            "Resource": "*"
        }
    ]
}
```

------

您可以通过识别您希望允许主机上的容器访问的每项服务的特定对象来创建更严格的 IAM policy。删除您不打算使用的 AWS 服务的操作。例如，如果您打算仅使用 Amazon S3 存储桶，则使用以下策略，该策略会删除 `secretsmanager:GetSecretValue`、`sns:Publish`、`kms:GenerateDataKey` 和 `cloudwatch:PutMetricData` 操作。

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "VisualEditor0",
            "Effect": "Allow",
            "Action": "s3:PutObject",
            "Resource": "*"
        }
    ]
}
```

------

如果您使用 Amazon Elastic Compute Cloud (Amazon EC2) 实例来托管您的数据留存机器人，请使用亚马逊 Amazon EC2 常见案例创建 IAM 角色并使用上面的策略定义分配策略。

# 为你的 Wickr 网络启动数据保留机器人
<a name="starting-data-retention-bot"></a>

在运行数据留存机器人之前，应确定要如何对其进行配置。如果您计划在主机上运行该机器人：
+ 将无法访问 AWS 服务，那么您的选择将受到限制。在这种情况下，您将使用默认的消息流式传输选项。您应该决定是否要将捕获的消息文件的大小限制为特定的大小或时间间隔内。有关更多信息，请参阅 [在 AWS Wickr 中配置数据保留机器人的环境变量](data-retention-bot-env-variables.md)。
+ 将有权访问 AWS 服务，那么您应该创建一个 Secrets Manager 密钥来存储机器人凭据和 AWS 服务配置详细信息。配置 AWS 服务后，您可以继续启动数据留存机器人 Docker 映像。有关可以存储在 Secrets Manager 密钥中的详细信息的更多信息，请参阅 [AWS Wickr 的 Secrets Manager 值](data-retention-aws-secret-values.md)

以下各节显示了运行数据留存机器人 Docker 映像的示例命令。在每个示例命令中，将以下示例值替换为自己的值：
+ `compliance_1234567890_bot`，上面写上您的数据留存机器人的名字。
+ `password`，使用您的数据留存机器人的密码。
+ `wickr/data/retention/bot`，使用您的 Secrets Manager 密钥的名称，用于您的数据留存机器人。
+ `bucket-name`，使用存储消息和文件的 Amazon S3 存储桶的名称。
+ `folder-name`，使用存储消息和文件的 Amazon S3 存储桶中的文件夹名称。
+ `us-east-1`使用您指定的资源 AWS 区域。例如， AWS KMS 主密钥所在的区域或 Amazon S3 存储桶的区域。
+ `arn:aws:kms:us-east-1:111122223333:key/12345678-1234-abcde-a617-abababababab`使用 AWS KMS 主密钥的 Amazon 资源名称 (ARN)，用于重新加密消息文件和文件。

# 使用密码环境变量启动机器人（无 AWS 服务）
<a name="data-retention-basic-startup"></a>

以下 Docker 命令启动数据留存机器人。密码是使用 `WICKRIO_BOT_PASSWORD` 环境变量指定的。机器人开始使用默认文件流式传输，并使用本指南 [在 AWS Wickr 中配置数据保留机器人的环境变量](data-retention-bot-env-variables.md) 部分中定义的默认值。

```
docker run -v /opt/compliance_1234567890_bot:/tmp/compliance_1234567890_bot \
-d --restart on-failure:5 --name="compliance_1234567890_bot" -ti \
-e WICKRIO_BOT_NAME='compliance_1234567890_bot' \
-e WICKRIO_BOT_PASSWORD='password' \
wickr/bot-compliance-cloud:latest
```

# 使用密码提示启动机器人（无 AWS 服务）
<a name="data-retention-startup-password"></a>

以下 Docker 命令启动数据留存机器人。当数据留存机器人提示时，系统会输入密码。它将使用本指南 [在 AWS Wickr 中配置数据保留机器人的环境变量](data-retention-bot-env-variables.md) 部分中定义的默认值开始使用默认文件流式传输。

```
docker run -v /opt/compliance_1234567890_bot:/tmp/compliance_1234567890_bot \
-d --restart on-failure:5 --name="compliance_1234567890_bot" -ti \
-e WICKRIO_BOT_NAME='compliance_1234567890_bot' \
wickr/bot-compliance-cloud:latest

docker attach compliance_1234567890_bot
.
.
.
Enter the password:************
Re-enter the password:************
```

使用 `-ti` 选项运行机器人以接收密码提示。您还应该在启动 Docker 映像后立即运行 `docker attach <container ID or container name>` 命令，以便获得密码提示。您应该在脚本中运行这两个命令。如果您附加到 Docker 映像但没有看到提示，请按**输入**，您将看到提示。

# 以轮换 15 分钟消息文件的方式启动机器人（无 AWS 服务）
<a name="data-retention-startup-rotation"></a>

以下 Docker 命令使用环境变量启动数据留存机器人。它还将其配置为将收到的消息文件轮换到 15 分钟。

```
docker run -v /opt/compliance_1234567890_bot:/tmp/compliance_1234567890_bot --network=host \
-d --restart on-failure:5 --name="compliance_1234567890_bot" -ti \
-e WICKRIO_BOT_NAME='compliance_1234567890_bot' \
-e WICKRIO_BOT_PASSWORD='password' \
-e WICKRIO_COMP_TIMEROTATE=15 \
wickr/bot-compliance-cloud:latest
```

# 启动机器人并使用 Secrets Manager 指定初始密码
<a name="data-retention-startup-asm"></a>

您可以使用 Secrets Manager 来识别数据留存机器人的密码。当您启动数据留存机器人时，您需要设置一个环境变量来指定存储这些信息的 Secrets Manager。

```
docker run -v /opt/compliance_1234567890_bot:/tmp/compliance_1234567890_bot --network=host \
-d --restart on-failure:5 --name="compliance_1234567890_bot" -ti \
-e WICKRIO_BOT_NAME='compliance_1234567890_bot' \
-e AWS_SECRET_NAME='wickrpro/alpha/new-3-bot' \
wickr/bot-compliance-cloud:latest
```

`wickrpro/compliance/compliance_1234567890_bot` 密钥里面有以下秘密值，显示为纯文本。

```
{
    "password":"password"
}
```

# 启动机器人并使用 Secrets Manager 配置 Amazon S3
<a name="data-retention-startup-asm-s3"></a>

您可以使用 Secrets Manager 来托管凭据和 Amazon S3 存储桶信息。当您启动数据留存机器人时，您需要设置一个环境变量来指定存储这些信息的 Secrets Manager。

```
docker run -v /opt/compliance_1234567890_bot:/tmp/compliance_1234567890_bot --network=host \
-d --restart on-failure:5 --name="compliance_1234567890_bot" -ti \
 -e WICKRIO_BOT_NAME='compliance_1234567890_bot' \
 -e AWS_SECRET_NAME='wickrpro/alpha/compliance_1234567890_bot' \
wickr/bot-compliance-cloud:latest
```

`wickrpro/compliance/compliance_1234567890_bot` 密钥里面有以下秘密值，显示为纯文本。

```
{
    "password":"password",
    "s3_bucket_name":"bucket-name",
    "s3_region":"us-east-1",
    "s3_folder_name":"folder-name"
}
```

机器人收到的消息和文件将存放在名为 `network1234567890` 的文件夹中的 `bot-compliance` 存储桶中。

# 启动机器人并配置 Amazon S3 和 Secret AWS KMS s Manager
<a name="data-retention-startup-asm-s3-KMS"></a>

您可以使用 Secrets Manager 来托管证书、Amazon S3 存储桶和 AWS KMS 主密钥信息。当您启动数据留存机器人时，您需要设置一个环境变量来指定存储这些信息的 Secrets Manager。

```
docker run -v /opt/compliance_1234567890_bot:/tmp/compliance_1234567890_bot --network=host \
-d --restart on-failure:5 --name="compliance_1234567890_bot" -ti \
 -e WICKRIO_BOT_NAME='compliance_1234567890_bot' \
 -e AWS_SECRET_NAME='wickrpro/alpha/compliance_1234567890_bot' \
wickr/bot-compliance-cloud:latest
```

`wickrpro/compliance/compliance_1234567890_bot` 密钥里面有以下秘密值，显示为纯文本。

```
{
    "password":"password",
    "s3_bucket_name":"bucket-name",
    "s3_region":"us-east-1",
    "s3_folder_name":"folder-name",
    "kms_master_key_arn":"arn:aws:kms:us-east-1:111122223333:key/12345678-1234-abcde-a617-abababababab",
    "kms_region":"us-east-1"
}
```

机器人收到的消息和文件将使用由 ARN 值标识的 KMS 密钥进行加密，然后放入名为 “network1234567890” 的文件夹中的 “bot-compliance'” 存储桶中。确保您已设置适当的 IAM policy。

# 启动机器人并使用环境变量配置 Amazon S3
<a name="using-env-variables"></a>

如果您不想使用 Secrets Manager 来托管数据留存机器人凭据，则可以使用以下环境变量启动数据留存机器人 Docker 映像。您必须使用 `WICKRIO_BOT_NAME` 环境变量标识数据留存机器人的名称。

```
docker run -v /opt/compliance_1234567890_bot:/tmp/compliance_1234567890_bot --network=host \
-d --restart on-failure:5 --name="compliance_1234567890_bot" -ti \
-e WICKRIO_BOT_NAME='compliance_1234567890_bot' \
-e WICKRIO_BOT_PASSWORD='password' \
-e WICKRIO_S3_BUCKET_NAME='bot-compliance' \
-e WICKRIO_S3_FOLDER_NAME='network1234567890' \
-e WICKRIO_S3_REGION='us-east-1' \
wickr/bot-compliance-cloud:latest
```

您可以使用环境值来识别数据留存机器人的证书、有关 Amazon S3 存储桶的信息以及默认文件流的配置信息。

# 停止你的 Wickr 网络的数据保留机器人
<a name="stopping-data-retention-bot"></a>

在数据留存机器人上运行的软件将捕获 `SIGTERM` 信号并正常关闭。使用 `docker stop <container ID or container name>` 命令向数据留存机器人 Docker 映像发出 `SIGTERM` 命令，如以下示例中所示。

```
docker stop compliance_1234567890_bot
```

# 获取 Wickr 网络的数据保留日志
<a name="getting-data-retention-logs"></a>

在数据留存机器人 Docker 映像上运行的软件将输出到 `/tmp/<botname>/logs` 目录中的日志文件。它们将旋转到最多 5 个文件。您可以通过运行以下命令来获取日志。

```
docker logs <botname>
```

示例：

```
docker logs compliance_1234567890_bot
```

# Wickr 网络的数据保留指标和事件
<a name="metrics-events"></a>

以下是 AWS Wickr 数据保留机器人的 5.116 版本目前支持的亚马逊 CloudWatch (CloudWatch) 指标和亚马逊简单通知服务 (Amazon SNS) Simple Notification Service 事件。

**Topics**
+ [CloudWatch 你的 Wickr 网络的指标](cloudwatch-metrics.md)
+ [为你的 Wickr 网络举办的亚马逊 SNS 活动](sns-events.md)

# CloudWatch 你的 Wickr 网络的指标
<a name="cloudwatch-metrics"></a>

指标由机器人每隔 1 分钟生成一次，并传输到与运行数据保留机器人 Docker 镜像的账户关联的 CloudWatch 服务。

以下是数据留存机器人支持的现有指标。


| 指标 | 说明 | 
| --- | --- | 
|  Messages\$1Rx  |  消息收到  | 
|  Messages\$1Rx\$1Failed  |  处理收到的消息失败。  | 
|  Messages\$1Saved  |  消息保存到收到的消息文件中。  | 
|  Messages\$1Saved\$1Failed  |  将消息保存到收到的消息文件中失败。  | 
|  Files\$1Saved  |  文件已收到。  | 
|  Files\$1Saved\$1Bytes  |  已接收文件的字节数。  | 
|  Files\$1Saved\$1Failed  |  无法保存文件。  | 
|  登录名  |  登录（通常每个间隔为 1 次）。  | 
|  Login\$1Failures  |  登录失败（通常每个间隔为 1 次）。  | 
|  S3\$1Post\$1Errors  |  将消息文件和文件发布到 Amazon S3 存储桶时出错。  | 
|  Watchdog\$1Failures  |  看门狗故障。  | 
|  Watchdog\$1Warnings  |  看门狗警告。  | 

生成指标供其使用 CloudWatch。用于机器人的命名空间是 `WickrIO`。每个指标都有一个维度阵列。以下是与上述指标一起发布的维度的列表。


| 维度 | 值 | 
| --- | --- | 
|  Id  |  机器人的用户名。  | 
|  设备  |  特定机器人设备或实例的描述。在运行多个机器人设备或实例时有用。  | 
|  产品  |  机器人的产品。可以是附加了 `Alpha`、`Beta` 或 `Production` 的 `WickrPro_` 或 `WickrEnterprise_`。  | 
|  BotType  |  机器人类型。合规机器人被标记为**合规**。  | 
|  Network  |  关联网络的 ID。  | 

# 为你的 Wickr 网络举办的亚马逊 SNS 活动
<a name="sns-events"></a>

以下事件发布到由使用 `WICKRIO_SNS_TOPIC_ARN` 环境变量或 `sns_topic_arn` Secrets Manager 密钥值识别的 Amazon 资源名称（ARN）值定义的 Amazon SNS 主题。有关更多信息，请参阅[在 AWS Wickr 中配置数据保留机器人的环境变量](data-retention-bot-env-variables.md)和[AWS Wickr 的 Secrets Manager 值](data-retention-aws-secret-values.md)。

数据留存机器人生成的事件以 JSON 字符串的形式发送。从 5.116 版的数据留存机器人起，这些事件中包含以下值。


| Name | 值 | 
| --- | --- | 
|  complianceBot  |  数据留存机器人的用户名。  | 
|  dataTime  |  事件发生时的日期和时间。  | 
|  设备  |  对特定机器人设备或实例的描述。在运行多个机器人实例时很有用。  | 
|  dockerImage  |  与机器人关联的 Docker 映像。  | 
|  dockerTag  |  Docker 映像的标签或版本。  | 
|  message  |  事件消息。有关更多信息，请参阅[关键事件](#sns-critical-events)和[正常事件](#sns-normal-events)。  | 
|  notificationType  |  这个值将是 `Bot Event`。  | 
|  severity  |  事件的严重性。可以是 `normal` 或 `critical`。  | 

必须订阅 Amazon SNS 主题才能接收事件。如果您使用电子邮件地址进行订阅，则系统会向您发送一封电子邮件，其中包含与以下示例类似的信息。

```
{
"complianceBot": "compliance_1234567890_bot",
 "dateTime": "2022-10-12T13:05:39",
 "device": "Desktop 1234567890ab",
 "dockerImage": "wickr/bot-compliance-cloud",
 "dockerTag": "5.116.13.01",
 "message": "Logged in",
 "notificationType": "Bot Event",
 "severity": "normal"
}
```

## 关键事件
<a name="sns-critical-events"></a>

这些事件将导致机器人停止或重启。重启次数受到限制，以免导致其他问题。

**登录失败**

以下是机器人登录失败时可能生成的事件。每条消息都会指出登录失败的原因。


| 事件类型 | 事件消息 | 
| --- | --- | 
|  failedlogin  |  凭证不正确。检查密码。  | 
|  failedlogin  |  未找到用户。  | 
|  failedlogin  |  账户或设备已被暂停。  | 
|  预置  |  用户退出命令。  | 
|  预置  |  `config.wickr` 文件的密码不正确。  | 
|  预置  |  无法读取 `config.wickr` 文件。  | 
|  failedlogin  |  登录全部失败。  | 
|  failedlogin  |  新用户但数据库已存在。  | 

**更多关键事件**


| 事件类型 | 事件消息 | 
| --- | --- | 
|  账户暂停  |  Wickr IOClient Main:: slotAdminUser 暂停:代码 (%1): 原因:%2”  | 
|  BotDevice 已暂停  |  设备已暂停！  | 
|  WatchDog  |   SwitchBoard 系统停机时间超过 < *N* > 分钟  | 
|  S3 失败  |  无法将文件 < *file-name* ≫ 放在 S3 存储桶上。错误：< *AWS-error* >  | 
|  回退键  |  服务器提交的回退键：不是已识别客户端活跃回退键。请向桌面工程部门提交日志。  | 

## 正常事件
<a name="sns-normal-events"></a>

以下是警告您发生正常操作的事件。在特定时间段内出现过多此类事件可能是担忧的原因。

**设备已添加到账户**

此事件在向数据留存机器人账户添加新设备时生成。在某些情况下，这可能是一个重要迹象，表明有人已创建数据留存机器人实例。以下是此事件的消息。

```
A device has been added to this account!
```

**机器人已登录**

此事件在机器人已成功登录时生成。以下是此事件的消息。

```
Logged in
```

**正在关闭**

此事件在机器人正在关闭时生成。如果用户没有明确发起此操作，则可能表示存在问题。以下是此事件的消息。

```
Shutting down
```

**有更新可用**

此事件在数据留存机器人启动时生成，它表明关联的 Docker 映像有更新的版本可用。此事件在机器人启动时生成，并且每天都会生成。此事件包括用于识别可用新版本的 `versions` 数组字段。以下为此事件具体形式的示例。

```
{
  "complianceBot": "compliance_1234567890_bot",
  "dateTime": "2022-10-12T13:05:55",
  "device": "Desktop 1234567890ab",
  "dockerImage": "wickr/bot-compliance-cloud",
  "dockerTag": "5.116.13.01",
  "message": "There are updates available",
  "notificationType": "Bot Event",
  "severity": "normal",
  "versions": [
    "5.116.10.01"
  ]
}
```