Skip to content

Instantly share code, notes, and snippets.

@lijie2000
Forked from dsmrt/query-aws-logs-insights.bash
Created September 1, 2023 19:38
Show Gist options
  • Save lijie2000/ddfebcfdff8ed7be8e31a6a32b6316b9 to your computer and use it in GitHub Desktop.
Save lijie2000/ddfebcfdff8ed7be8e31a6a32b6316b9 to your computer and use it in GitHub Desktop.
Using AWS CLI to query CloudWatch Logs with Insights. Looking -30 mins to now.
# this script queries aws logs with insights filtering on ERROR
# explanation of start and end times
#--start-time = unix timestamp 30 mins in the past
#--end-time = unix timestamp now
QUERY_ID=$(aws logs start-query \
--profile $profile \
--log-group-name /aws/lambda/aap-event-consumer-dev \
--start-time `date -v-30M "+%s"` \
--end-time `date "+%s"` \
--query-string 'fields @message filter @message like /ERROR/' \
| jq -r '.queryId')
echo "Query started (query id: $QUERY_ID), please hold ..." && sleep 5 # give it some time to query
aws --profile $profile logs get-query-results --query-id $QUERY_ID
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment