

# CloudWatch 解决方案：Amazon EC2 运行状况
<a name="Solution-EC2-Health"></a>

此解决方案可帮助您使用 CloudWatch 代理为在 EC2 实例上运行的工作负载配置开箱即用的指标收集。此外，它还可以帮助您设置预配置的 CloudWatch 控制面板。

**Topics**
+ [要求](#Solution-EC2-Health-Requirements)
+ [优势](#Solution-EC2-Health-Benefits)
+ [成本](#Solution-EC2-Health-Costs)
+ [此解决方案的 CloudWatch 代理配置](#Solution-EC2-Health-Agent-Config)
+ [为您的解决方案部署代理](#Solution-EC2-Health-Deploy)
+ [创建 EC2 运行状况解决方案控制面板](#Solution-EC2-Health-Dashboard)
+ [开始使用 EC2 运行状况解决方案控制面板](#Solution-EC2-Health-Dashboard-Usage)

## 要求
<a name="Solution-EC2-Health-Requirements"></a>

此解决方案适用于以下情况：
+ 计算：Amazon EC2
+ 平台：Linux 和 macOS
+ 在给定的 Amazon Web Services 区域中支持最多 500 个 EC2 实例
+ 最新版本的 CloudWatch 代理
+ EC2 实例上已安装 SSM 代理
**注意**  
Amazon Systems Manager（SSM Agent）预装在由 Amazon 和受信任的第三方提供的一些[亚马逊机器映像（AMI）](https://docs.amazonaws.cn/systems-manager/latest/userguide/ami-preinstalled-agent.html)上。如果未安装代理，您可以根据操作系统类型使用程序手动安装。  
[在适用于 Linux 的 EC2 实例上手动安装和卸载 SSM 代理](https://docs.amazonaws.cn/systems-manager/latest/userguide/manually-install-ssm-agent-linux.html)
[在适用于 macOS 的 EC2 实例上手动安装和卸载 SSM 代理](https://docs.amazonaws.cn/systems-manager/latest/userguide/manually-install-ssm-agent-macos.html)
[在适用于 Windows Server 的 EC2 实例上手动安装和卸载 SSM 代理](https://docs.amazonaws.cn/systems-manager/latest/userguide/manually-install-ssm-agent-windows.html)

## 优势
<a name="Solution-EC2-Health-Benefits"></a>

该解决方案使用 CloudWatch 代理提供 EC2 服务器监测，在标准 EC2 命名空间指标之上为以下使用案例提供额外的系统级指标：
+ 检测 CPU 性能问题和资源限制。
+ 监测整个 EC2 实例中不同磁盘的磁盘利用率和存储容量。
+ 跟踪内存使用模式和潜在的内存泄漏。
+ 分析 I/O 操作及其对整体性能的影响。
+ 观察网络流量模式和潜在的异常情况。

以下是该解决方案的主要优点：
+ 自动收集 EC2 实例的指标，无需手动检测。
+ 为 EC2 实例指标提供预配置的整合 CloudWatch 控制面板。控制面板将自动处理使用该解决方案配置的新 EC2 实例的指标，即使这些指标在您首次创建控制面板时不存在。它还允许您观察通过自动扩缩组管理的 EC2 实例。

下图是此解决方案控制面板的示例。

![\[EC2 运行状况控制面板示例\]](http://docs.amazonaws.cn/AmazonCloudWatch/latest/monitoring/images/EC2HealthDashboard.png)


## 成本
<a name="Solution-EC2-Health-Costs"></a>

此解决方案在您的账户中创建和使用资源。您需要为标准使用量付费，包括以下各项：
+ CloudWatch 代理收集的所有指标按自定义指标收费。此解决方案使用的指标数量取决于 EC2 主机的数量。

  CloudWatch 代理指标的总数取决于磁盘的配置。除了磁盘和 diskio 指标外，该解决方案还发布了六个指标。磁盘指标的数量（`disk_used_percent`、`disk_inodes_free`）取决于 `device/fstype/path` 维度的数量。diskio 指标（`diskio_io_time`）取决于 `name` 维度的数量。例如，根据 EC2 控制台体验，具有默认设置的单个 t2.micro 总共生成 22 个 CloudWatch 代理指标（4 个 CPU、12 个磁盘、4 个 diskio、1 个内存和 1 个交换）。如 `AWS/EC2` 之类公开发布的指标免费提供。
+ 一个自定义控制面板。
+ CloudWatch 代理请求用于发布指标的 API 操作。使用此解决方案的默认配置，CloudWatch 代理每分钟调用一次 **PutMetricData**。这意味着每台 EC2 主机将在 30 天（一个月）内调用 **PutMetricData** API `30*24*60=43,200` 次。

有关 CloudWatch 定价的信息，请参阅 [Amazon CloudWatch 定价](https://www.amazonaws.cn/cloudwatch/pricing/)。

定价计算器可帮助您估算使用此解决方案的每月大致费用。

**使用定价计算器估算每月解决方案成本**

1. 打开 [Amazon CloudWatch 定价计算器](https://calculator.aws/#/createCalculator/CloudWatch)。

1. 在**指标**部分中，对于**指标数量**，输入 **(6 \$1 total count of disk and diskio metrics per EC2 host as described above) \$1 number of EC2 instances configured for this solution**。

1. 在 **API** 部分中，对于 **API 请求的数量**，输入 **43200 \$1 number of EC2 instances configured for this solution**。

1. 默认情况下，该解决方案每分钟为每台 EC2 主机执行一次 **PutMetricData** 操作。

1. 在**控制面板和警报**部分中，对**控制面板数量**输入 **1**。

1. 您可以在定价计算器底部查看每月估算成本。

## 此解决方案的 CloudWatch 代理配置
<a name="Solution-EC2-Health-Agent-Config"></a>

CloudWatch 代理是在您的服务器和容器化环境中持续自主运行的软件。它从您的基础设施和应用程序收集指标、日志和跟踪，并将其发送到 CloudWatch 和 X-Ray。

有关 CloudWatch 代理的更多信息，请参阅[使用 CloudWatch 代理收集指标、日志和跟踪信息](https://docs.amazonaws.cn/AmazonCloudWatch/latest/monitoring/Install-CloudWatch-Agent.html)。

此解决方案中的代理配置收集一组指标，以帮助您开始监测和观察 EC2 实例。可以将 CloudWatch 代理配置为收集比控制面板默认显示更多的 EC2 指标。有关 Amazon EC2 指标的列表，参阅 [Linux 和 macOS 实例上的 CloudWatch 代理收集的指标](https://docs.amazonaws.cn/AmazonCloudWatch/latest/monitoring/metrics-collected-by-CloudWatch-agent.html#linux-metrics-enabled-by-CloudWatch-agent)。有关在 Windows 实例上收集的指标的信息，请参阅 [Windows Server 实例上的 CloudWatch 代理收集的指标](https://docs.amazonaws.cn/AmazonCloudWatch/latest/monitoring/metrics-collected-by-CloudWatch-agent.html#windows-metrics-enabled-by-CloudWatch-agent)。

### EC2 运行状况解决方案的代理配置
<a name="Solution-EC2-Health-Agent-Config-Details"></a>

代理收集的指标在代理配置中定义。该解决方案提供代理配置，以收集建议的指标，并为解决方案的控制面板提供合适的维度。

稍后将在[为您的解决方案部署代理](#Solution-EC2-Health-Deploy)中介绍部署解决方案的步骤。以下信息旨在帮助您了解如何针对环境自定义代理配置。

**注意**  
如果 EC2 实例不属于自动扩缩组，CloudWatch 代理会完全删除 `AutoScalingGroupName` 维度。此行为有助于防止维度名称为空值。解决方案控制面板中包含的每个指标小部件都会搜索包含和排除 `AutoScalingGroup` 维度的指标。这有助于确保应用该解决方案的所有 EC2 实例都由相同的控制面板提供支持。

如果您想对代理配置进行任何修改，则必须对解决方案随附的控制面板应用相同的更改。例如，如果您决定省略 ImageId 维度，则必须从控制面板小部件使用的指标搜索表达式中删除相同的维度。

### EC2 实例的代理配置
<a name="Solution-EC2-Health-Agent-Config-Instance"></a>

在部署工作负载的 Amazon EC2 实例上使用以下 CloudWatch 代理配置。

```
{
    "agent": {
      "metrics_collection_interval": 60,
      "run_as_user": "cwagent"
    },
    "metrics": {
      "append_dimensions": {
        "InstanceId": "${aws:InstanceId}",
        "InstanceType": "${aws:InstanceType}",
        "ImageId": "${aws:ImageId}",
        "AutoScalingGroupName": "${aws:AutoScalingGroupName}"
      },
      "metrics_collected": {
        "cpu": {
          "measurement": [
            "cpu_usage_idle",
             "cpu_usage_iowait",
             "cpu_usage_user",
             "cpu_usage_system"
          ],
          "totalcpu": true
        },
        "disk": {
          "measurement": [
            "used_percent",
            "inodes_free"
          ],
          "resources": [
            "*"
          ],
          "dimensions": [
            ["device", "fstype", "path"]
          ]
        },
        "diskio": {
           "measurement": [
             "io_time"
           ],
           "resources": [
             "*"
           ]
          },
        "mem": {
          "measurement": [
            "used_percent"
          ]
        },
        "swap": {
          "measurement": [
            "used_percent"
          ]
        }
      }
    }
  }
```

## 为您的解决方案部署代理
<a name="Solution-EC2-Health-Deploy"></a>

安装 CloudWatch 代理有几种方法，具体视用例而定。对于此解决方案，我们建议使用 Systems Manager。它提供了控制台体验，使在单个 Amazon 账户中管理一组托管服务器变得更加简单。本节中的说明使用 Systems Manager，适用于没有使用现有配置运行 CloudWatch 代理的情况。您可以按照[验证 CloudWatch 代理是否正在运行](https://docs.amazonaws.cn/AmazonCloudWatch/latest/monitoring/troubleshooting-CloudWatch-Agent.html#CloudWatch-Agent-troubleshooting-verify-running)中的步骤检查 CloudWatch 代理是否正在运行。

如果您已经在 EC2 主机上运行 CloudWatch 代理并管理代理配置，则可以跳过本节中的说明并按照现有部署机制更新配置。请务必将 EC2 运行状况代理配置与现有的代理配置合并，然后部署合并的配置。如果您使用 Systems Manager 存储和管理 CloudWatch 代理的配置，则可以将配置合并到现有参数值。有关更多信息，请参阅 [Managing CloudWatch agent configuration files](https://docs.amazonaws.cn/prescriptive-guidance/latest/implementing-logging-monitoring-cloudwatch/create-store-cloudwatch-configurations.html)。

**注意**  
使用 Systems Manager 部署以下 CloudWatch 代理配置，将替换或覆盖 EC2 实例上任何现有的 CloudWatch 代理配置。您可以修改此配置以适应您独有的环境或用例。配置中定义的指标是提供解决方案的控制面板所需的最低要求。

部署过程包括以下步骤：
+ 步骤 1：确保目标 EC2 实例具有所需的 IAM 权限。
+ 步骤 2：在 Systems Manager Parameter Store 中存储建议的代理配置文件。
+ 步骤 3：使用 Amazon CloudFormation 堆栈在一个或多个 EC2 实例上安装 CloudWatch 代理。
+ 步骤 4：验证代理设置是否正确配置。

### 步骤 1：确保目标 EC2 实例具有所需的 IAM 权限
<a name="Solution-EC2-Health-Deploy-Step1"></a>

您必须授予 Systems Manager 安装和配置 CloudWatch 代理的权限。您还必须授予 CloudWatch 代理将遥测数据从 EC2 实例发布到 CloudWatch 的权限。确保附加到实例的 IAM 角色已附加 **CloudWatchAgentServerPolicy** 和 **AmazonSSMManagedInstanceCore** IAM 策略。
+ 创建角色后，将该角色附加到 EC2 实例。要将角色附加到 EC2 实例，请按照[将 IAM 角色附加到实例](https://docs.amazonaws.cn/AWSEC2/latest/UserGuide/attach-iam-role.html)中的步骤进行操作。

### 步骤 2：在 Systems Manager Parameter Store 中存储建议的 CloudWatch 代理配置文件
<a name="Solution-EC2-Health-Deploy-Step2"></a>

Parameter Store 通过安全地存储和管理配置参数，简化了 CloudWatch 代理在 EC2 实例上的安装，而无需硬编码值。这可确保更加安全灵活的部署过程，从而实现集中管理，并且可以更轻松地跨多个实例更新配置。

使用以下步骤将建议的 CloudWatch 代理配置文件作为参数存储在 Parameter Store 中。

**创建 CloudWatch 代理配置文件作为参数**

1. 访问 [https://console.aws.amazon.com/systems-manager/](https://console.amazonaws.cn/systems-manager/)，打开 Amazon Systems Manager 控制台。

1. 确认控制台上的所选区域是运行 EC2 实例的区域。

1. 从导航窗格中，依次选择**应用程序管理**、**Parameter Store**。

1. 按照以下步骤为配置创建新参数。

   1. 选择**创建参数**。

   1. 在**名称**框中，输入您将在后续步骤中用来引用 CloudWatch 代理配置文件的名称。例如 **AmazonCloudWatch-EC2Health-Configuration**。

   1. (可选）在**描述**框中，键入参数的描述。

   1. 对于**参数层**，选择**标准**。

   1. 对于**类型**，选择**字符串**。

   1. 对于**数据类型**，选择**文本**。

   1. 在**值**框中，粘贴本文档前面提供的代理配置 JSON。

   1. 选择**创建参数**。

### 步骤 3：安装 CloudWatch 代理并使用 Amazon CloudFormation 模板应用配置
<a name="Solution-EC2-Health-Deploy-Step3"></a>

您可以使用 Amazon CloudFormation 安装代理，并将其配置为使用您在前面步骤中创建的 CloudWatch 代理配置。

**为此解决方案安装和配置 CloudWatch 代理**

1. 使用以下链接打开 Amazon CloudFormation **快速创建堆栈**向导：[https://console.aws.amazon.com/cloudformation/home?\$1/stacks/quickcreate?templateURL=https://aws-observability-solutions-prod-us-east-1.s3.us-east-1.amazonaws.com/CloudWatchAgent/CFN/v1.0.0/cw-agent-installation-template-1.0.0.json](https://console.amazonaws.cn/cloudformation/home?#/stacks/quickcreate?templateURL=https://aws-observability-solutions-prod-us-east-1.s3.us-east-1.amazonaws.com/CloudWatchAgent/CFN/v1.0.0/cw-agent-installation-template-1.0.0.json)。

1. 确认控制台上的所选区域是运行 EC2 实例的区域。

1. 对于**堆栈名称**，输入用于识别此堆栈的名称，如 **CWAgentInstallationStack**。

1. 在**参数**部分中，指定以下各项：

   1. 对于 **CloudWatchAgentConfigSSM**，请输入您之前创建的代理配置的 Systems Manager 参数名称，例如 **AmazonCloudWatch-EC2Health-Configuration**。

   1. 要选择目标实例，您有两种选择。

      1. 对于 **InstanceIds**，请指定一个以逗号分隔的实例 ID 列表，其中包含希望使用此配置安装 CloudWatch 代理的实例 ID。您可以列出一个或多个实例。

      1. 如果要大规模部署，则可以指定 **TagKey** 和相应的 **TagValue**，以将具有此标签和值的所有 EC2 实例作为目标。如果指定 **TagKey**，则必须指定相应的 **TagValue**。（对于自动扩缩组，为 **TagKey** 指定 **aws:autoscaling:groupName** 并为 **TagValue** 指定自动扩缩组名称，以部署到自动扩缩组内的所有实例。）

      如果同时指定了 **InstanceIds** 和 **TagKeys** 参数，将优先采用 **InstanceIds**，而标签将被忽略。

1. 检查设置，然后选择**创建堆栈**。

如果要先编辑模板文件进行自定义，请选择**创建堆栈向导**下的**上传模板文件**选项，上传编辑后的模板。有关更多信息，请参阅[在 Amazon CloudFormation 控制台上创建堆栈](https://docs.amazonaws.cn/AWSCloudFormation/latest/UserGuide/cfn-console-create-stack.html)。您可以使用以下链接下载模板：[https://aws-observability-solutions-prod-us-east-1.s3.us-east-1.amazonaws.com/CloudWatchAgent/CFN/v1.0.0/cw-agent-installation-template-1.0.0.json](https://aws-observability-solutions-prod-us-east-1.s3.us-east-1.amazonaws.com/CloudWatchAgent/CFN/v1.0.0/cw-agent-installation-template-1.0.0.json)。

**注意**  
完成此步骤后，此 Systems Manager 参数将与目标实例中运行的 CloudWatch 代理相关联。这意味着：  
如果删除 Systems Manager 参数，代理将停止。
如果编辑了 Systems Manager 参数，则配置更改将按计划频率（默认为 30 天）自动应用到代理。
如果要立即应用对此 Systems Manager 参数的更改，则必须再次运行此步骤。有关关联的更多信息，请参阅[在 Amazon Systems Manager 中使用关联](https://docs.amazonaws.cn/systems-manager/latest/userguide/state-manager-associations.html)。

### 步骤 4：验证代理设置是否正确配置
<a name="Solution-EC2-Health-Deploy-Step4"></a>

您可以按照[验证 CloudWatch 代理是否正在运行](https://docs.amazonaws.cn/AmazonCloudWatch/latest/monitoring/troubleshooting-CloudWatch-Agent.html#CloudWatch-Agent-troubleshooting-verify-running)中的步骤验证 CloudWatch 代理是否已安装。如果 CloudWatch 代理尚未安装和运行，请确保已正确设置所有内容。
+ 请确保您已为 EC2 实例附加具有正确权限的角色，如[步骤 1：确保目标 EC2 实例具有所需的 IAM 权限](#Solution-EC2-Health-Deploy-Step1)中所述。
+ 请确保您已正确配置 Systems Manager 参数的 JSON。按照[对利用 Amazon CloudFormation 的 CloudWatch 代理安装进行故障排除](https://docs.amazonaws.cn/AmazonCloudWatch/latest/monitoring/Install-CloudWatch-Agent-New-Instances-CloudFormation.html#CloudWatch-Agent-CloudFormation-troubleshooting)中的步骤进行操作。

**验证 EC2 运行状况指标是否已发布到 CloudWatch**

1. 通过 [https://console.aws.amazon.com/cloudwatch/](https://console.amazonaws.cn/cloudwatch/) 打开 CloudWatch 控制台。

1. 选择**指标**、**所有指标**。

1. 确保您已选择部署解决方案的区域，然后选择**自定义命名空间**、**CWAgent**。

1. 搜索本文档代理配置部分中提及的指标，例如 `mem_used_percent`。如果您看到这些指标的结果，则表明这些指标已发布到 CloudWatch。

## 创建 EC2 运行状况解决方案控制面板
<a name="Solution-EC2-Health-Dashboard"></a>

此控制面板显示新发出的指标，显示了 EC2 运行状况指标。此控制面板提供单个区域 EC2 实例运行状况排名靠前的贡献者视图。排名靠前的贡献者视图显示每个指标的前 10 名小部件。这样就能一眼识别出异常值。

要创建控制面板的操作，可以使用以下选项：
+ 使用 CloudWatch 控制台创建控制面板。
+ 使用 Amazon CloudFormation 控制台部署控制面板。
+ 以 Amazon CloudFormation 基础设施即代码，并将其作为持续集成（CI）自动化的一部分进行集成。

通过使用 CloudWatch 控制台创建控制面板，您可以在实际创建和收费之前预览控制面板。

**注意**  
此解决方案中使用 Amazon CloudFormation 创建的控制面板显示解决方案部署区域的指标。请务必在发布 EC2 指标的区域创建 Amazon CloudFormation 堆栈。  
如果您在 CloudWatch 代理配置中指定了 `CWAgent` 以外的自定义命名空间，则必须更改控制面板的 Amazon CloudFormation 模板，将 `CWAgent` 替换为您使用的自定义命名空间。

**使用 CloudWatch 控制台创建控制面板**

1. 使用以下链接打开 CloudWatch 控制台**创建控制面板**：[https://console.aws.amazon.com/cloudwatch/home?\$1dashboards?dashboardTemplate=Ec2LinuxMacOsHealth&referrer=os-catalog](https://console.amazonaws.cn/cloudwatch/home?#dashboards?dashboardTemplate=Ec2LinuxMacOsHealth&referrer=os-catalog)。

1. 确认控制台上的所选区域是运行 EC2 实例的区域。

1. 输入控制面板的名称，然后选择**创建控制面板**。

   为了便于将此控制面板与其他区域的类似控制面板区分开来，我们建议在控制面板名称中包含区域名称，例如 **EC2HealthDashboard-us-east-1**。

1. 预览控制面板并选择**保存**以创建控制面板。

**通过 Amazon CloudFormation 创建控制面板**

1. 使用以下链接打开 Amazon CloudFormation **快速创建堆栈**向导：[https://console.aws.amazon.com/cloudformation/home?\$1/stacks/quickcreate?templateURL=https://aws-observability-solutions-prod-us-east-1.s3.us-east-1.amazonaws.com/EC2\$1Health/CloudWatch/CFN/v1.0.0/dashboard-template-linux-macos-1.0.0.json](https://console.amazonaws.cn/cloudformation/home?#/stacks/quickcreate?templateURL=https://aws-observability-solutions-prod-us-east-1.s3.us-east-1.amazonaws.com/EC2_Health/CloudWatch/CFN/v1.0.0/dashboard-template-linux-macos-1.0.0.json)。

1. 确认控制台上的所选区域是运行 EC2 实例的区域。

1. 对于**堆栈名称**，输入用于识别此堆栈的名称，如 `EC2HealthDashboardStack`。

1. 在**参数**部分，在 **DashboardName** 参数下指定控制面板的名称。

   为了便于将此控制面板与其他区域的类似控制面板区分开来，我们建议在控制面板名称中包含区域名称，例如 **EC2HealthDashboard-us-east-1**。

1. 在**功能和转换**下确认转换的访问功能。请注意，Amazon CloudFormation 不会添加任何 IAM 资源。

1. 检查设置，然后选择**创建堆栈**。

1. 堆栈状态为 **CREATE\$1COM PLETE** 后，选择创建的堆栈下的**资源**选项卡，然后选择**物理 ID** 下的链接转至控制面板。您也可以通过在控制台左侧导航窗格中选择**控制面板**，然后在**自定义控制面板**下找到控制面板名称，在 CloudWatch 控制台中访问控制面板。

如果要编辑模板文件以出于任何目的对其进行自定义，则可以使用**创建堆栈向导**下的**上传模板文件**选项来上传编辑后的模板。有关更多信息，请参阅[在 Amazon CloudFormation 控制台上创建堆栈](https://docs.amazonaws.cn/AWSCloudFormation/latest/UserGuide/cfn-console-create-stack.html)。您可以使用以下链接下载模板：[https://aws-observability-solutions-prod-us-east-1.s3.us-east-1.amazonaws.com/EC2\$1Health/CloudWatch/CFN/v1.0.0/dashboard-template-linux-macos-1.0.0.json](https://aws-observability-solutions-prod-us-east-1.s3.us-east-1.amazonaws.com/EC2_Health/CloudWatch/CFN/v1.0.0/dashboard-template-linux-macos-1.0.0.json) 

## 开始使用 EC2 运行状况解决方案控制面板
<a name="Solution-EC2-Health-Dashboard-Usage"></a>

您可以使用新的 EC2 监测控制面板尝试以下几项任务。这些任务允许您验证控制面板是否正常运行，并为您提供使用它来监测 EC2 实例的一些实践经验。在尝试这些任务的过程中，您将熟悉如何浏览控制面板和解读可视化指标。

监测各种 CPU 利用率指标  
在 **CPU** 部分中，检查 CPU 利用率指标阵列。这些指标可以深入了解 CPU 资源在用户进程、系统任务和 I/O 操作等不同活动中的使用情况。查找利用率一直很高或模式异常的实例，这可能表明需要扩展或优化。

分析不同设备的磁盘利用率  
导航到**磁盘**部分以查找存储使用量和 inode 可用性指标。这些指标可以帮助您确定存储空间或文件系统资源不足的实例。请注意任何接近高磁盘利用率水平的实例，因为这可能会导致性能问题或服务中断。

调查内存利用率模式  
在**内存**部分中，观察绘制内存利用率随时间变化的图表。这显示每个实例使用了多少可用内存。查找可能与特定时间或事件相关的内存使用量模式或峰值。内存利用率较高可能表明需要调整实例大小或优化应用程序。

跨核心利用率指标的关联模式  
比较并观察相关的利用率模式。例如，运行日志轮换过程的工作负载可能会导致 **CPU** 和**内存**利用率定期增加，然后**磁盘**利用率便会降低。

检查网络活动  
在**网络**部分，检查入站和出站网络流量指标，包括数据量和数据包数量。这些指标使您可以深入了解 EC2 实例的网络活动。注意网络流量的正常或异常峰值，或者入站和出站数据之间的不平衡。