#!/bin/bash
# cw.sh START END : dump 1-min EC2 + EBS metrics for the lab instance
ID=${LAB_ID:?}; VOL=${LAB_VOL:?}; R=${LAB_REGION:-us-west-2}
S=$1; E=$2
q() { aws cloudwatch get-metric-statistics --region $R --namespace $1 --metric-name $2 --dimensions Name=$3,Value=$4 \
  --start-time $S --end-time $E --period 60 --statistics $5 --query 'sort_by(Datapoints,&Timestamp)[].[Timestamp,'$5']' --output text \
  | awk -v m=$2 '{printf "%s %s %.1f\n", substr($1,12,5), m, $2}'; }
q AWS/EC2 EBSByteBalance% InstanceId $ID Average
q AWS/EC2 EBSIOBalance% InstanceId $ID Average
q AWS/EC2 CPUUtilization InstanceId $ID Average
q AWS/EBS VolumeReadBytes VolumeId $VOL Sum | awk '{printf "%s VolumeReadMBps %.1f\n",$1,$3/60/1e6}'
q AWS/EBS VolumeReadOps VolumeId $VOL Sum | awk '{printf "%s VolumeReadIOPS %.0f\n",$1,$3/60}'
q AWS/EBS VolumeWriteBytes VolumeId $VOL Sum | awk '{printf "%s VolumeWriteMBps %.2f\n",$1,$3/60/1e6}'
