使用 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-name20150601
-
有关 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-name20150531
-
有关 API 详细信息,请参阅《AWS CLI 命令参考》中的 DeleteLogStream
。
-
以下代码示例演示了如何使用 delete-retention-policy
。
- AWS CLI
-
以下命令移除以前应用于名为
my-logs
的日志组的留存策略:aws logs delete-retention-policy --log-group-name
my-logs
-
有关 API 详细信息,请参阅《AWS CLI 命令参考》中的 DeleteRetentionPolicy
。
-
以下代码示例演示了如何使用 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-prefix2015
输出:
{ "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-name20150601
输出:
{ "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-name20150601
--log-eventsfile://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-name20150601
--log-eventsfile://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-days5
-
有关 API 详细信息,请参阅《AWS CLI 命令参考》中的 PutRetentionPolicy
。
-