

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

# 运行时监控问题
<a name="troubleshooting-guardduty-runtime-monitoring"></a>

本节列出了您在设置或使用运行时监控时可能遇到的错误。

## 运行时覆盖率问题
<a name="troubleshooting-runtime-monitoring-coverage-issues"></a>

当受保护资源的运行时覆盖范围变为 “**不健康**” 时， GuardDuty 控制台会提供确切的问题类型。确定问题类型后，使用以下文档查看每种受支持资源类型的故障排除步骤：
+ [对 Amazon EC2 运行时覆盖率问题进行故障排除](gdu-assess-coverage-ec2.md#ec2-runtime-monitoring-coverage-issues-troubleshoot)
+ [对 Amazon ECS-Fargate 运行时覆盖率问题进行故障排除](gdu-assess-coverage-ecs.md#ecs-runtime-monitoring-coverage-issues-troubleshoot)
+ [对 Amazon EKS 运行时覆盖率问题故障排除](eks-runtime-monitoring-coverage.md#eks-runtime-monitoring-coverage-issues-troubleshoot)

## 对运行时监控中的内存不足错误进行故障排除（仅支持 Amazon EC2）
<a name="troubleshoot-ec2-cpu-out-of-memory-error"></a>

本节根据手动部署 GuardDuty 安全代理提供遇到内存不足错误时的故障排除步骤。[CPU 和内存限制](prereq-runtime-monitoring-ec2-support.md#ec2-cpu-memory-limits-gdu-agent)

如果由于`out-of-memory`问题而`systemd`终止 GuardDuty 代理，并且您认为向 GuardDuty 代理提供更多内存是合理的，则可以更新限制。

1. 使用根权限打开 `/lib/systemd/system/amazon-guardduty-agent.service`。

1. 查找 `MemoryLimit` 和 `MemoryMax`，然后更新这两个值。

   ```
   MemoryLimit=256M
   MemoryMax=256M
   ```

1. 更新值后，使用以下命令重新启动 GuardDuty 代理：

   ```
   sudo systemctl daemon-reload
   sudo systemctl restart amazon-guardduty-agent
   ```

1. 运行以下命令以查看状态：

   ```
   sudo systemctl status amazon-guardduty-agent
   ```

   预期的输出将显示新的内存限制：

   ```
   Main PID: 2540 (amazon-guardduty)
   Tasks: 16
   Memory: 21.9M (limit: 256.0M)
   ```

## 我的 AWS Step Functions 工作流程意外失败
<a name="runtime-ecs-step-function-failure"></a>

如果 GuardDuty 容器是导致工作流程失败的原因，请参阅[对 Amazon ECS-Fargate 运行时覆盖率问题进行故障排除](gdu-assess-coverage-ecs.md#ecs-runtime-monitoring-coverage-issues-troubleshoot)。如果问题仍然存在，则为防止工作流程因 GuardDuty 容器而失败，请执行以下步骤**之一**：
+ 将 `GuardDutyManaged`:`false` 标签添加到关联的 Amazon ECS 集群。
+ 在账户级别禁用 AWS Fargate （仅限 ECS）的自动代理配置。将包含标签`GuardDutyManaged`：添加到`true`要继续使用 GuardDuty 自动代理监控的关联的 Amazon ECS 集群中。