A CLI tool To query CloudWatch Logs Insights.
ToC
Write configuration to pyinsights.yml
like:
version: '1.0'
log_group_name:
- '/ecs/sample'
query_string: 'field @message | filter @message like /ERROR/'
duration: '30m'
limit: 10
I wrote examples, so see examples folder.
pyinsights -c pyinsights.yml -p aws_profile -r region
Type | Required |
---|---|
string | true |
Choose configuration version from ['1.0']
Type | Required |
---|---|
array | true |
Target log group names to query
Type | Required |
---|---|
string or array | true |
Specify CloudWatch Logs Insights query commands. Please see CloudWatch Logs Insights Query Syntax.
|
is not required. Execute in order from the top.
ex)
query_string:
- 'field @message'
- 'fileter @message like /WARN/'
Equal to
query_string: 'field @message | fileter @message like /WARN/'
Type | Required |
---|---|
string or object | true |
Specify weeks, days, hours, minutes or seconds unit.
weeks = w
days = d
hours = h
minutes = m
seconds = s
ex)
duration: 10h
Specify start_time
and end_time
.
The format must be YYYY-MM-DD HH:MM:SS
.
ex)
duration:
start_time: '2020-01-01 00:00:00'
end_time: '2020-01-01 01:00:00'
Type | Required |
---|---|
integer | false |
The number of log to fetch.
Of course, you can specify limit
in query_string.
Option | Required | Description |
---|---|---|
-c, --config | true | Specify yaml configuration by absolute or relative path |
-f, --format | false | Choose from json or table |
-p, --profile | false | AWS profile name |
-r, --region | false | AWS region |
-q, --quiet | false | Suppress progress message |
-o, --output | false | Specify the filename to output the query result |
-v, --version | false | Show version |
If profile
and region
options are not specified, AWS Credentials must be set as environment variables.
- AWS_ACCESS_KEY_ID
- AWS_SECRET_ACCESS_KEY
- AWS_DEFAULT_REGION
Please see Environment Variable Configuration for the detail.