I was able to extrat DatabaseConnections metric, but i got many useless dimentions like ‘EngineName’, ‘DatabaseClass’… I only need ‘DBInstanceIdentifier’
- list_metrics:
namespace: AWS/RDS
metric_name: DatabaseConnections
get_metric_statistics:
- period: 604800 points.
start_time: 2024-12-01T00:00:01Z
end_time: 2024-12-07T23:59:59Z
statistics: [Maximum, Minimum, Sum, Average]
If the implementation is close to CLI it’s can be more accurate to pass the namespace and metric name to the aws cloudwatch get-metric-statistics
instead using aws cloudwatch list-metrics
to list metric and then calling get-metric for each
Sample of cli
aws cloudwatch list-metrics --namespace "AWS/RDS" --metric-name "DatabaseConnections"
{
"Metrics": [
{
"Namespace": "AWS/RDS",
"MetricName": "DatabaseConnections",
"Dimensions": [
{
"Name": "DBInstanceIdentifier",
"Value": "my-db"
}
]
},
{
"Namespace": "AWS/RDS",
"MetricName": "DatabaseConnections",
"Dimensions": [
{
"Name": "EngineName",
"Value": "postgres"
}
]
},
{
"Namespace": "AWS/RDS",
"MetricName": "DatabaseConnections",
"Dimensions": []
},
{
"Namespace": "AWS/RDS",
"MetricName": "DatabaseConnections",
"Dimensions": [
{
"Name": "DatabaseClass",
"Value": "db.t4g.medium"
}
]
}
]
}
aws cloudwatch get-metric-statistics \
--namespace AWS/RDS \
--metric-name DatabaseConnections \
--start-time 2024-12-01T00:00:00Z \
--end-time 2024-12-07T23:59:59Z \
--period 604800 \
--statistics Maximum Minimum Average Sum
{
"Label": "DatabaseConnections",
"Datapoints": [
{
"Timestamp": "2024-12-01T00:00:00+00:00",
"Average": 17.524305555555557,
"Sum": 176645.0,
"Minimum": 0.0,
"Maximum": 19.0,
"Unit": "Count"
}
]
}
I try to pass namespace and metric-name directly to to the get_metric_statistics table options like this
- get_metric_statistics:
- namespace: AWS/RDS
metric_name: DatabaseConnections
period: 604800
start_time: 2024-12-01T00:00:01Z
end_time: 2024-12-07T23:59:59Z
statistics: [Maximum, Minimum, Sum, Average]
But i got this error
Error: failed to sync v3 source aws: failed to init source aws: rpc error: code = Internal desc = failed to init plugin: failed to initialize client: invalid table_options: invalid input: cannot set Namespace in CloudwatchMetrics.GetMetricStatisticsOpts
Any hint will be appreciate
JP