Amazon cloudwatch AWS CloudWatch代理未上载旧文件

Amazon cloudwatch AWS CloudWatch代理未上载旧文件,amazon-cloudwatch,amazon-cloudwatchlogs,Amazon Cloudwatch,Amazon Cloudwatchlogs,在最初迁移到AWS CloudWatch日志期间,我还希望同步遗留日志文件。但是,似乎只有当前活动文件(即仍在更新)将被同步。即使与文件名格式匹配的旧文件也将被忽略 那么,有什么简单的方法可以上传遗留文件吗 参考资料:简短回答:您应该能够通过合并上传所有文件。或者为每个文件创建一个新的[logstream]节 /var/Log中的日志文件通常定期存档,例如通过logrotate进行存档。如果当前活动文件名为bao.log,则几天后将自动创建名为bao.log.1,bao.log.2的文件。。。

在最初迁移到AWS CloudWatch日志期间,我还希望同步遗留日志文件。但是,似乎只有当前活动文件(即仍在更新)将被同步。即使与文件名格式匹配的旧文件也将被忽略

那么,有什么简单的方法可以上传遗留文件吗


参考资料:

简短回答:您应该能够通过合并上传所有文件。或者为每个文件创建一个新的
[logstream]

/var/Log
中的日志文件通常定期存档,例如通过
logrotate
进行存档。如果当前活动文件名为
bao.log
,则几天后将自动创建名为
bao.log.1
bao.log.2
的文件。。。 根据您的具体系统和配置,它们也可以自动压缩(
abcd.log.1.gz
abcd.log.1.gz
,…)

定义
文件
配置参数如下:

文件

指定要推送到CloudWatch日志的日志文件。文件可以指向一个特定文件或多个文件(使用通配符,如/var/log/system.log*)。根据文件修改时间,仅将最新文件推送到CloudWatch日志

注意:因此,使用带有星形(
*
)的全局路径不足以上载历史文件

假设您已经配置了glob路径,您可以在每个历史文件上依次使用
touch
命令来触发其上载。问题:

  • 在继续下一步之前,您需要猜测CloudWatch代理何时注意到每个文件
  • 您需要暂时暂停当前活动文件
  • 不支持压缩文件,但您可以手动解压缩它们
或者,您可以解压,然后将所有历史文件聚合到一个合并文件中。在第一个示例的上下文中,您可以运行
cat abcd.log.*>abcd.log.merged
。这个新创建的文件将由CyrdWAT代理(匹配GLUB模式)来检测,它将它视为活动文件。问题:以前的活动文件可能会同时更新,并在CloudWatch注意到合并的文件之前起主导作用。如果这是一个问题,您可以简单地在历史文件中创建一个新的
[logstream]
config部分

或者,只需解压缩历史文件,然后为每个文件创建一个新的
[logstream]
配置部分


请纠正我对您的系统做出的任何错误假设。

从何处迁移到AWS CloudWatch日志记录?您的意思是说有一个EC2实例存储了这些日志文件,而CloudWatch代理只能将最新的日志文件发送给CWL吗?您还可以共享已配置的CloudWatch代理的配置吗?将只上载具有最新更改的文件。你有多少这些旧文件?如果有效,请将赏金分配给@Caerbannog