【问题标题】:AWS EC2 Launch logs in cloudwatch windows 2016 imageCloudWatch Windows 2016 映像中的 AWS EC2 启动日志
【发布时间】:2017-08-17 21:27:59
【问题描述】:

我正在尝试将 EC2 启动日志从我基于 win 2016 的 EC2 实例转发到 cloudwatch。

由于某种原因,我看不到此特定类别的日志组。

这是我的AWS.EC2.Windows.CloudWatch.json 的示例:

{
  "IsEnabled": true,
  "EngineConfiguration": {
    "PollInterval": "00:00:15",
    "Components": [
      {
        "Id": "Ec2Config",
        "FullName": "AWS.EC2.Windows.CloudWatch.CustomLog.CustomLogInputComponent,AWS.EC2.Windows.CloudWatch",
        "Parameters": {
          "LogDirectoryPath": "C:\\ProgramData\\Amazon\\EC2-Windows\\Launch\\Log",
          "TimestampFormat": "yyyy-MM-ddTHH:mm:ss.fffZ:",
          "Encoding": "UTF-8",
          "Filter": "UserdataExecution.log",
          "CultureName": "en-US",
          "TimeZoneKind": "UTC"
        }
      },
      {
        "Id": "EC2ConfigSink",
        "FullName": "AWS.EC2.Windows.CloudWatch.CloudWatchLogsOutput,AWS.EC2.Windows.CloudWatch",
        "Parameters": {
          "Region": "eu-west-1",
          "LogGroup": "/my-customer/deployment/ec2config-userdata",
          "LogStream": "ec2config-userdata"
        }
      }
      ...
      I have a few more definitions in this file
      ...],
    "Flows": {
      "Flows":
      [
        "Ec2Config,EC2ConfigSink",
        ... other references here
      ]
    }
 }

Cloudwatch 代理启动并且不报告任何错误,我可以看到来自其他来源的数据(一些应用程序日志文件 - 我故意跳过了定义)

这意味着 cloudwatch 配置文件是正确的,并且被应用/放置在正确的目录中。

除了 EC2 启动 日志之外,其他日志都可以顺利通过。

我想知道是否有人遇到过这个问题?它在基于 Windows 2012 的图像上完美运行

【问题讨论】:

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


    【解决方案1】:

    显然,SSM 代理在 EC2 Launch 执行UserDatascript 之后启动。我可以从SSM Agent's 日志文件修改时间戳中看到。

    因此,EC2 Launch 期间不会发生日志转发。 当 SSM 代理启动并加载 cloudwatch 插件时,日志文件已经填满了条目并且永远不会更改(壁纸日志是唯一的例外)因此它们永远不会在cloudwatch 控制台中结束。

    在 AWS 端实施了很多更改:他们切换到 .Net 核心,删除了 EC2 config service 并将日志转发逻辑移动到 SSM Agent(cloudwatch 插件)以用于 Windows 2016-based AMI

    看起来行为也发生了很大变化,因此无法在 cloudwatch 中获取 EC2 launch logs(仅使用 AWS 工具集时)

    基本上,我们只能坚持使用我们的应用程序日志,这是非常不幸的。我们依靠EC2 launch 日志来查看实例是否启动并成功执行了用户数据。

    【讨论】:

      猜你喜欢
      • 2017-08-06
      • 2022-10-04
      • 2016-11-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-10-10
      • 2020-03-19
      相关资源
      最近更新 更多