【问题标题】:AWS Elastic Beanstalk Application Console Logs Publish to CloudwatchAWS Elastic Beanstalk 应用程序控制台日志发布到 Cloudwatch
【发布时间】:2022-09-26 13:14:52
【问题描述】:

我在 AWS Elastic Beanstalk(Windows 服务器)中部署了一个 .net 6 应用程序。应用程序已配置为将应用程序级别日志写入控制台。目前,这些日志默认不会发布到 CloudWatch。

有没有办法可以将这些控制台日志发布到 Cloudwatch 日志组?例如,当使用 Lambdas 时,默认情况下它们会自动将控制台日志发送到 Cloudwatch 流。类似的东西是理想的。

谢谢

    标签: amazon-web-services amazon-elastic-beanstalk amazon-cloudwatch .net-6.0


    【解决方案1】:

    按照这个

    将实例日志流式传输到 CloudWatch Logs

    • 打开 Elastic Beanstalk 控制台,然后在区域列表中,选择您的 AWS 区域。
    • 在导航窗格中,选择环境,然后从列表中选择您的环境名称。
    • 在导航窗格中,选择配置。
    • 在软件配置类别中,选择编辑。
    • 在实例日志流式传输到 CloudWatch Logs 下: 启用日志流。
    • 将保留时间设置为保存日志的天数。 选择确定环境终止后是否保存日志的生命周期设置。 选择应用。
    • 启用日志流后,您可以返回到软件配置类别或页面并找到日志组链接。单击此链接可在 CloudWatch 控制台中查看您的日志。

    注意:- 在启用之前,您应该有适当的 permissions 用于 cloudwatch 代理。

    更新(基于 cmets )

    • .net 在 Linux 上支持应用程序,对于 windows 用户需要实现自定义解决方案

    /var/log/eb-engine.log,/var/log/eb-hooks.log,/var/log/web.stdout.log,/var/log/nginx/access.log,/var/log/nginx/error.log

    这是另一种方式,https://aws.plainenglish.io/how-to-setup-aws-elasticbeanstalk-to-stream-your-custom-application-logs-to-cloudwatch-d5c877eaa242

    【讨论】:

    • 感谢您的回复。我已经这样做了。设置完成后,它创建了一些日志组(IIS-Log、BEDeploy-Log、EBHook.log)。但是它们都没有我正在写入控制台的应用程序日志。另外,我也关注了该链接。我认为,根据它,日志需要在日志文件中才能将它们推送到云手表。我只是想添加一个 serilog-cloudwatch-sink,如果控制台日志不能自动发布到云手表。
    • 不幸的是,默认情况下只会推送这三个文件您需要设置自定义日志和自定义日志配置,或者如果您在 linux 上使用 .NET,您可以获得实例日志 + 应用程序日志
    • 感谢贾廷。是的,我添加了一个单独的 AWS Cloudfront Sink(我正在使用 serilog)来解决这个问题。但很高兴知道 .net + linux 开箱即用地处理它。稍后也会尝试。
    • 如果您不介意,我是否应该更新我的答案,以便将来对其他人有所帮助
    • 当然是的,请这样做。
    猜你喜欢
    • 2023-04-06
    • 2016-11-07
    • 2020-12-23
    • 2017-10-18
    • 1970-01-01
    • 2018-10-21
    • 2017-09-19
    • 2021-03-22
    • 2020-05-26
    相关资源
    最近更新 更多