

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

# 使用 CloudWatch FAQ 设计和实现日志记录和监控
<a name="faq"></a>

本节提供了有关设计和实施日志和监控解决方案的常见问题的答案 CloudWatch。

## 我在哪里存储我的 CloudWatch 配置文件？
<a name="q1"></a>

Amazon EC2 的 CloudWatch 代理可以应用存储在配置目录中的多个 CloudWatch 配置文件。理想情况下，您应该将 CloudWatch配置存储为一组文件，因为您可以进行版本控制并在多个帐户和环境中再次使用它们。有关这方面的更多信息，请参阅本指南的[管理 CloudWatch 配置](create-store-cloudwatch-configurations.md#store-cloudwatch-configuration-s3)部分。或者，您可以将配置文件存储在上的存储库中， GitHub 并在配置新的 EC2 实例时自动检索配置文件。

## 警报发出后，如何在我的服务管理解决方案中创建工单？
<a name="q2"></a>

您将服务管理系统与亚马逊简单通知服务 (Amazon SNS) Simple Notification Service 主题集成，并将警报配置 CloudWatch 为在警报发出时通知 SNS 主题。您的集成系统会收到 SNS 消息，并可以使用您的服务管理系统 APIs 或 SDKs创建票证。

## 如何使用 CloudWatch 来捕获容器中的日志文件？
<a name="q3"></a>

 可以将 Amazon ECS 任务和 Amazon EKS 容器配置为自动将 STDOUT 和 STDERR 输出发送到。 CloudWatch记录容器化应用程序的推荐方法是让容器将其输出发送到 STDOUT 和 STDERR。[十二因子应用程序](https://12factor.net/)宣言中也对此进行了介绍。

但是，如果您想向其发送特定的日志文件， CloudWatch 则可以在您的 Amazon EKS 容器或 Amazon ECS 任务定义中将卷挂载到应用程序写入其批文件的位置，然后使用 Fluentd 或 Fluent Bit 的边车容器将日志发送到。 CloudWatch您应该考虑将容器中的特定日志文件符号链接到`/dev/stdout`和`/dev/stderr`。有关这方面的更多信息，请参阅 Docker 文档中的[查看容器或服务的日志](https://docs.docker.com/config/containers/logging/)。

## 如何监控 AWS 服务的运行状况问题？
<a name="q4"></a>

您可以使用[AWS Health Dashboard](https://docs.aws.amazon.com/health/latest/ug/getting-started-health-dashboard.html)来监控 AWS 运行状况事件。您也可以参考[aws-health-tools](https://github.com/aws/aws-health-tools) GitHub 存储库，获取与 AWS 健康事件相关的自动化解决方案示例。

## 在没有代理支持的情况下，如何创建自定义 CloudWatch 指标？
<a name="q5"></a>

 您可以使用嵌入式指标格式来提取指标。 CloudWatch您还可以使用 AWS SDK（例如 [put\_metric\_dat](https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/cloudwatch.html#CloudWatch.Client.put_metric_data) a） AWS CLI （例如 [put-metric-data](https://docs.aws.amazon.com//cli/latest/reference/cloudwatch/put-metric-data.html)）或 AWS API（例如 [PutMetricData](https://docs.aws.amazon.com//AmazonCloudWatch/latest/APIReference/API_PutMetricData.html)）来创建自定义指标。您应该考虑如何长期维护任何自定义逻辑。一种方法是使用集成嵌入式指标格式支持的 Lambda 来创建指标，并使用 CloudWatch 事件事件[计划规则](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-create-rule-schedule.html)来确定指标的周期。

## 如何将我现有的日志和监控工具与集成 AWS？
<a name="q6"></a>

您应参考软件或服务供应商提供的指南，以便与集成 AWS。您可以使用代理软件、SDK 或 API 向他们的解决方案发送日志和指标。您也可以使用根据供应商规格配置的开源解决方案，例如 Fluentd 或 Fluent Bit。您还可以将 AWS 软件开发工具包和 CloudWatch 日志订阅筛选器与 Lambda 和 Kinesis Data Streams 配合使用来创建自定义日志处理器和采集器。最后，如果您使用多个账户和区域，您还应该考虑如何集成软件。