[英]Export DynamoDb metrics logs to S3 or CloudWatch
我正在尝试在外部可观察性工具中使用 DynamoDB 指标日志。
为此,我需要从 S3 或 CloudWatch 日志组(而不是从 Insights 或 CloudTrail)中获取这些日志数据。
因此,如果无法使用 CloudWatch,我需要将这些指标日志从 DynamoDb 导出到 S3,然后从那里导出到 CloudWatch,或者尝试直接从 S3 获取这些数据。
你知道这是可能的吗?
您可以尝试使用 Logstash,它有一个 Cloudwatch 和 S3 插件:
https://www.elastic.co/guide/en/logstash/current/plugins-inputs-cloudwatch.html
https://www.elastic.co/guide/en/logstash/current/plugins-inputs-s3.html
AWS 将 DynamoDB 指标(表操作、表和账户)置于 CloudWatch 指标之上。 此外,您可以根据需要创建任意数量的指标。 如果你使用 Python,你可以用 boto3 读取。 CloudWatch 客户端有这个方法: get_metric_data
用你的指标试试这个:
cloudwatch_client = boto3.client('cloudwatch')
yesterday = date.today() - timedelta(days=1)
today = date.today()
response = cloudwatch_client.get_metric_data(
MetricDataQueries=[
{
'Id': 'some_request',
'MetricStat': {
'Metric': {
'Namespace': 'DynamoDB',
'MetricName': 'metric_name',
'Dimensions': []
},
'Period': 3600,
'Stat': 'Sum',
}
},
],
StartTime=datetime(yesterday.year, yesterday.month, yesterday.day),
EndTime=datetime(today.year, today.month, today.day),
)
print(response)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.