【问题标题】:What is "AWS_LOG_STREAM" in amazon-CloudWatch?amazon-CloudWatch 中的“AWS_LOG_STREAM”是什么?
【发布时间】:2021-12-27 18:22:22
【问题描述】:
cloudwatch.CloudwatchHandler('AWS_KEY_ID','AWS_SECRET_KEY','AWS_REGION','AWS_LOG_GROUP','AWS_LOG_STREAM')
我是 AWS cloudwatch 的新手,我正在尝试在我的 python 项目中使用 cloudwatch 轻量级处理程序。我拥有.CloudwatchHandler() 所需的所有值,AWS_LOG_STREAM 除外。我不明白 AWS_LOG_STREAM 是什么,我在哪里可以在 AWS 控制台中找到该值。我在 Google 上搜索“日志流是共享同一源的一系列日志事件。”但这是否意味着“相同的来源”。 AWS_LOG_STREAM 的价值是多少?
我需要支持,在此先感谢您。
【问题讨论】:
标签:
python
amazon-web-services
amazon-ec2
amazon-cloudwatch
amazon-cloudwatchlogs
【解决方案1】:
AWS_LOG_STREAM 基本上是根据执行时间划分的日志组事件。通过指定一个流,您将获取特定持续时间的日志,而不是自开始以来。
示例:如果是 AWS Lambda,您可以通过
检查它的当前日志流
LOG_GROUP=log-group
aws logs get-log-events --log-group-name $LOG_GROUP --log-stream-name aws logs describe-log-streams --log-group-name $LOG_GROUP --max-items 1 --order-by LastEventTime --descending --query logStreams[].logStreamName --output text | head -n 1 --query events[].message --output text
在 python 中,您可以使用 boto3 获取现有日志流,然后使用相应的流名称调用 cloudwatch 处理程序
[https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/logs.html#CloudWatchLogs.Client.describe_log_streams]
【解决方案2】:
正如Mohit所说,日志流是日志组的一个细分,通常用来标识原始执行源(容器的时间和ID,lambda或进程常用)
在最新版本中,您可以跳过命名日志流,这会给它一个时间戳日志流名称:
handler = cloudwatch.CloudwatchHandler(log_group = 'my_log_group')
免责声明:我是 cloudwatch 软件包的贡献者