7

我创建了一个 AWS CloudWatch 日志组,其名称不太适合未来。是否可以重命名这样的日志组?我找不到通过 CloudWatch 控制台执行此操作的选项。

我想另一种方法是导出日志组的内容,创建一个具有所需名称的新日志组,然后将导出的日志重新使用到新的日志组。不过,我宁愿避免这种方法,因为(除了乏味之外)这会重置ingestionTime日志组中所有日志事件。

4

2 回答 2

6

目前看来是不可能的。AWS CLI 目前仅列出以下log-group相关操作:

  • 创建日志组
  • 删除日志组
  • 描述日志组
  • 列表标签日志组
  • 标记日志组
  • 取消标记日志组

我的解决方案是,由于最近才创建日志组并且所有原始日志文件仍在 EC2 实例上,因此我的解决方案是:

  1. 使用 停止 EC2 实例上的 CloudWatch Logs 代理$ /etc/init.d/awslogs stop
  2. 确保应用程序当前未在 EC2 实例上运行/记录
  3. 删除 CloudWatch 上的现有日志组
  4. 将现有日志文件移出 EC2 实例上的预期目录
  5. 编辑/var/awslogs/etc/awslogs.confEC2 实例上的文件以指定所需的日志组名称,而不是之前的名称。
  6. 使用 .在 EC2 实例上启动 CloudWatch Logs 代理$ /etc/init.d/awslogs start
  7. 将每个日志文件移回 EC2 实例上的预期目录,一次一个,从最早到最新(就文件修改时间而言),因此日志代理将处理所有这些文件(而不仅仅是忽略文件非最新修改时间)并将它们发送到新的日志组。
  8. 在 EC2 实例上重新启动应用程序

相当乏味的过程,尤其是必须手动移动日志文件,一次一个,以正确的顺序。如果将来有重命名日志组的功能,那就太好了。

于 2017-03-07T11:15:30.173 回答
2

一个解法” ...

创建新的日志组。让流写入此日志组。使用 aws cli 获取旧日志组的每个流的事件,然后将它们放入新组。

我有大约 2,000 个流,我也将这样做。我们重组的是组名。

于 2017-11-30T15:07:02.170 回答