使用 AWS CLI 的 CloudWatch Logs 示例 - AWS Command Line Interface

使用 AWS CLI 的 CloudWatch Logs 示例

以下代码示例演示了如何通过将 AWS Command Line Interface与 CloudWatch Logs 结合使用,来执行操作和实现常见场景。

操作是大型程序的代码摘录,必须在上下文中运行。您可以通过操作了解如何调用单个服务函数,还可以通过函数相关场景的上下文查看操作。

每个示例都包含一个指向完整源代码的链接,您可以从中找到有关如何在上下文中设置和运行代码的说明。

主题

操作

以下代码示例演示了如何使用 create-log-group

AWS CLI

以下命令创建名为 my-logs 的日志组:

aws logs create-log-group --log-group-name my-logs
  • 有关 API 详细信息,请参阅《AWS CLI 命令参考》中的 CreateLogGroup

以下代码示例演示了如何使用 create-log-stream

AWS CLI

以下命令在日志组 my-logs 中创建一个名为 20150601 的日志流:

aws logs create-log-stream --log-group-name my-logs --log-stream-name 20150601
  • 有关 API 详细信息,请参阅《AWS CLI 命令参考》中的 CreateLogStream

以下代码示例演示了如何使用 delete-log-group

AWS CLI

以下命令删除名为 my-logs 的日志组:

aws logs delete-log-group --log-group-name my-logs
  • 有关 API 详细信息,请参阅《AWS CLI 命令参考》中的 DeleteLogGroup

以下代码示例演示了如何使用 delete-log-stream

AWS CLI

以下命令从名为 my-logs 的日志组中删除名为 20150531 的日志流:

aws logs delete-log-stream --log-group-name my-logs --log-stream-name 20150531
  • 有关 API 详细信息,请参阅《AWS CLI 命令参考》中的 DeleteLogStream

以下代码示例演示了如何使用 delete-retention-policy

AWS CLI

以下命令移除以前应用于名为 my-logs 的日志组的留存策略:

aws logs delete-retention-policy --log-group-name my-logs

以下代码示例演示了如何使用 describe-log-groups

AWS CLI

以下命令描述名为 my-logs 的日志组:

aws logs describe-log-groups --log-group-name-prefix my-logs

输出:

{ "logGroups": [ { "storedBytes": 0, "metricFilterCount": 0, "creationTime": 1433189500783, "logGroupName": "my-logs", "retentionInDays": 5, "arn": "arn:aws:logs:us-west-2:0123456789012:log-group:my-logs:*" } ] }
  • 有关 API 详细信息,请参阅《AWS CLI 命令参考》中的 DescribeLogGroups

以下代码示例演示了如何使用 describe-log-streams

AWS CLI

以下命令显示日志组 my-logs 中以前缀 2015 开头的所有日志流:

aws logs describe-log-streams --log-group-name my-logs --log-stream-name-prefix 2015

输出:

{ "logStreams": [ { "creationTime": 1433189871774, "arn": "arn:aws:logs:us-west-2:0123456789012:log-group:my-logs:log-stream:20150531", "logStreamName": "20150531", "storedBytes": 0 }, { "creationTime": 1433189873898, "arn": "arn:aws:logs:us-west-2:0123456789012:log-group:my-logs:log-stream:20150601", "logStreamName": "20150601", "storedBytes": 0 } ] }
  • 有关 API 详细信息,请参阅《AWS CLI 命令参考》中的 DescribeLogStreams

以下代码示例演示了如何使用 get-log-events

AWS CLI

以下命令从日志组 my-logs 中名为 20150601 的日志流中检索日志事件:

aws logs get-log-events --log-group-name my-logs --log-stream-name 20150601

输出:

{ "nextForwardToken": "f/31961209122447488583055879464742346735121166569214640130", "events": [ { "ingestionTime": 1433190494190, "timestamp": 1433190184356, "message": "Example Event 1" }, { "ingestionTime": 1433190516679, "timestamp": 1433190184356, "message": "Example Event 1" }, { "ingestionTime": 1433190494190, "timestamp": 1433190184358, "message": "Example Event 2" } ], "nextBackwardToken": "b/31961209122358285602261756944988674324553373268216709120" }
  • 有关 API 详细信息,请参阅《AWS CLI 命令参考》中的 GetLogEvents

以下代码示例演示了如何使用 put-log-events

AWS CLI

以下命令在日志组 my-logs 中名为 20150601 的日志流中添加日志事件:

aws logs put-log-events --log-group-name my-logs --log-stream-name 20150601 --log-events file://events

输出:

{ "nextSequenceToken": "49542672486831074009579604567656788214806863282469607346" }

上面的示例将从当前目录中名为 events 的文件中读取一个 JSON 事件数组:

[ { "timestamp": 1433190184356, "message": "Example Event 1" }, { "timestamp": 1433190184358, "message": "Example Event 2" }, { "timestamp": 1433190184360, "message": "Example Event 3" } ]

每个后续调用都需要使用序列令牌选项指定上一个调用提供的下一个序列令牌:

aws logs put-log-events --log-group-name my-logs --log-stream-name 20150601 --log-events file://events2 --sequence-token "49542672486831074009579604567656788214806863282469607346"

输出:

{ "nextSequenceToken": "49542672486831074009579604567900991230369019956308219826" }
  • 有关 API 详细信息,请参阅《AWS CLI 命令参考》中的 PutLogEvents

以下代码示例演示了如何使用 put-retention-policy

AWS CLI

以下命令向名为 my-logs 的日志组中添加 5 天留存策略:

aws logs put-retention-policy --log-group-name my-logs --retention-in-days 5
  • 有关 API 详细信息,请参阅《AWS CLI 命令参考》中的 PutRetentionPolicy