Skip to main content

AWS CloudWatch Logs Insights is wrapped by Python

Project description

PyInsights

PyPI - Python Version PyPI GitHub

A CLI tool To query CloudWatch Logs Insights.

usage1

usage2

ToC

Usage

Write Configuration

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.

Execute command

pyinsights -c pyinsights.yml -p aws_profile -r region

Configuration

version

Type Required
string true

Choose configuration version from ['1.0']

log_group_name

Type Required
array true

Target log group names to query

query_string

Type Required
string or array true

Specify CloudWatch Logs Insights query commands. Please see CloudWatch Logs Insights Query Syntax.

:warning: If query_string type is array, Unix-style pipe | 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/'

duration

Type Required
string or object true

type: string

Specify weeks, days, hours, minutes or seconds unit.

weeks = w
days = d
hours = h
minutes = m
seconds = s

ex)

duration: 10h

type: object

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'

limit

Type Required
integer false

The number of log to fetch. Of course, you can specify limit in query_string.

CLI Options

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

Environment Variable

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.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pyinsights-0.4.1.tar.gz (11.8 kB view hashes)

Uploaded Source

Built Distribution

pyinsights-0.4.1-py3-none-any.whl (13.1 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page