以随机时间顺序获取aws cloudwatch数据点
Getting aws cloudwatch datapoints in random time order
运行 下面提到的 aws cli 查询
"aws cloudwatch get-metric-statistics --namespace xx --metric-name xx --period xx --statistics Maximum --dimensions Name=xx,Value=i-xx --start-time xx --end-time xx --output json"
我得到如下随机顺序的输出 -
Datapoints": [
{
"Timestamp": "2016-07-17T19:18:00Z",
"Maximum": 1.0,
"Unit": "Percent"
},
{
"Timestamp": "2016-07-20T17:48:00Z",
"Maximum": 1.8,
"Unit": "Percent"
},
{
"Timestamp": "2016-07-18T16:18:00Z",
"Maximum": 1.33,
"Unit": "Percent"
},
任何人都可以帮助我获得按时间排序的输出。
有可用的命令行选项吗?
您可以使用 jq sort_by 方法(参见 manual)
aws cloudwatch get-metric-statistics --namespace xx --metric-name xx --period xx --statistics Maximum --dimensions Name=xx,Value=i-xx --start-time xx --end-time xx --output json |\
jq '.Datapoints | sort_by(.Timestamp)'
这将return一个按时间戳字段值
排序的新Json对象
运行 下面提到的 aws cli 查询
"aws cloudwatch get-metric-statistics --namespace xx --metric-name xx --period xx --statistics Maximum --dimensions Name=xx,Value=i-xx --start-time xx --end-time xx --output json"
我得到如下随机顺序的输出 -
Datapoints": [
{
"Timestamp": "2016-07-17T19:18:00Z",
"Maximum": 1.0,
"Unit": "Percent"
},
{
"Timestamp": "2016-07-20T17:48:00Z",
"Maximum": 1.8,
"Unit": "Percent"
},
{
"Timestamp": "2016-07-18T16:18:00Z",
"Maximum": 1.33,
"Unit": "Percent"
},
任何人都可以帮助我获得按时间排序的输出。 有可用的命令行选项吗?
您可以使用 jq sort_by 方法(参见 manual)
aws cloudwatch get-metric-statistics --namespace xx --metric-name xx --period xx --statistics Maximum --dimensions Name=xx,Value=i-xx --start-time xx --end-time xx --output json |\
jq '.Datapoints | sort_by(.Timestamp)'
这将return一个按时间戳字段值
排序的新Json对象