Logs
Logs 提供有关应用程序中事件的丰富上下文信息。它们对于调试和理解出错原因非常重要。
本节提供可作为最佳实践使用的方法,用于从 .NET 应用程序发送 logs 到 AWS 原生日志服务——Amazon CloudWatch Logs。
从 Amazon EC2 实例或本地服务器上的日志文件流式传输 logs 到 Amazon CloudWatch Logs
当您现有的 .NET 应用程序将 logs 写入日志文件,并且您希望使用 Amazon CloudWatch Logs 进行日志存储和分析而无需更改代码时,可以使用此方法。
步骤 1: 在运行应用程序的 Amazon EC2 实例或本地服务器上安装 CW Agent。安装 CW Agent 的说明可在此处找到。
步骤 2: 接下来,我们需要向 CloudWatch agent 提供将 logs 写入 CloudWatch 的权限。您可以创建 IAM 角色、IAM 用户或两者兼有,以授予 CloudWatch agent 将 logs 写入 CloudWatch 所需的权限。如果您要在 Amazon EC2 实例上使用 agent,则必须创建 IAM 角色。如果您要在本地服务器上使用 agent,则必须创建 IAM 用户。CloudWatchAgentServerPolicy 是一个 AWS 托管 IAM 策略,包含将 logs 写入 CloudWatch 所需的权限。
按照这些说明向 CW Agent 提供权限。
步骤 3: 在任何服务器上运行 CloudWatch agent 之前,您必须创建一个或多个 CloudWatch agent 配置文件。agent 配置文件是一个 JSON 文件,指定 agent 要收集的 metrics、logs 和 traces 以及发送目标(如 CloudWatch 中的哪个日志组或命名空间)。您可以通过使用向导创建它,也可以从头自行创建。
agent 配置文件有四个部分:agent、metrics、logs 和 traces。您可以在 agent 部分提供之前创建的凭证(步骤 2)。logs 部分指定将哪些日志文件发布到 CloudWatch Logs。如果服务器运行 Windows Server,这可以包括来自 Windows 事件日志的事件。配置 agent 和 logs 部分的详细说明可在此处找到。
步骤 4: 一旦以上所有内容就绪,您就可以启动 CloudWatch agent。