AWS Cloudwatch 和应用程序日志的混淆

时间:2021-02-26 05:39:59

标签: amazon-web-services amazon-ec2 amazon-cloudwatch

我在应用程序服务器(例如 Tomcat)中部署了一个本地应用程序,它会生成自己的日志文件。如果我决定将其迁移到 AWS EC2,包括应用程序服务器,是否可以将我的应用程序日志移植到 Cloudwatch 中?还是 Cloudwatch 只能在我的应用程序服务器中记录运行时日志?做这件事需要做很多工作,还是有可能做到?

对 Cloudwatch 有点困惑。似乎它可以做很多事情,但让它这样做真的正确吗?它只应该正确记录指标,因此它可以提醒任何需要提醒的人或任何人。

1 个答案:

答案 0 :(得分:1)

如果您已经开发了可以生成自己的日志文件的应用程序,则可以使用 CloudWatch Logs Agent 将日志提取到 CloudWatch Logs 中:

<块引用>

安装完成后,日志会自动从实例流向您在安装代理时创建的日志流。代理确认它已启动并保持运行,直到您将其禁用。

RAM 使用率、磁盘空间等指标也可以通过代理进行监控并推送到 CloudWatch。

在日志和指标这两种情况下,您都可以设置 CloudWatch 警报以自动检测异常并在检测到异常时通知您或执行其他操作。对于日志,这是通过 metric filters:

完成的 <块引用>

您可以通过创建一个或多个指标过滤器搜索和过滤进入 CloudWatch Logs 的日志数据。指标过滤器定义了在日志数据发送到 CloudWatch Logs 时要在日志数据中查找的术语和模式。 CloudWatch Logs 使用这些指标过滤器将日志数据转换为数值 CloudWatch 指标,您可以在这些指标上绘制图表或设置警报。

更新

您还可以让您的应用程序使用 AWS 开发工具包将日志直接注入到 CloudWatch 日志中。例如,在python中,您可以使用put_log_events