GithubHelp home page GithubHelp logo

sportscafe / rds-pgbadger Goto Github PK

View Code? Open in Web Editor NEW

This project forked from fpietka/rds-pgbadger

0.0 3.0 1.0 40 KB

Fetch logs from RDS instance, and process them with pgBadger

License: MIT License

Python 100.00%

rds-pgbadger's Introduction

Code Health Version Python versions supported License

RDS-pgBadger

Fetches RDS log files and analyzes them with pgBadger.

Prerequisites

Make sure your credentials are set in the ~/.aws/credentials file. Also, you can set a region in the ~/.aws/config file, so passing region option to the script is not needed. Last but not least, make sure you have pgbadger installed and reacheable from your $PATH.

Parameter group

You will have to configure your database parameter group.

First of all, ensure log_min_duration_statement is set to 0 or higher, else you won't have anything to be parsed.

Then you must enable some other parameters to get more information in the logs.

Parameter Value
log_checkpoints 1
log_connections 1
log_disconnections 1
log_lock_waits 1
log_temp_files 0
log_autovacuum_min_duration 0

Also make sure lc_messages is either at engine default or set to C.

For further details, please refer to Dalibo's pgBadger documentation.

Installation

You can install it using pip:

$ pip install rdspgbadger

Usage

To build a pgbadger report, just run the following (replacing instanceid by your instance ID):

$ rds-pgbadger instanceid

Options

Only the Instance ID is mandatory, but there are also other options you can use:

  • -d, --date : by default the script downloads all the available logs. By specifying a date in the format YYYY-MM-DD, you can then download only that day's logs.
  • -r, --region : by default the script use the region specified in your AWS config file. If none, or if you wish to change it, you can use this option to do so.
  • -o, --output : by default the script outputs log files and reports to the out folder. This option allows you to change it.
  • -n, --no-process : download log file(s), but do not process them with pgBadger.
  • -X, --pgbadger-args : command-line arguments to pass to pgBadger
  • --assume-role : By specifying a role you can use STS to assume a role, which is useful for cross account access with out having to setup the .config file. Format arn:aws:iam::<account_id>:<role_name>

Known issue

In spite of the great work of askainet, AWS API seems to be too instable, and sometimes download of big log files can fail. In such case retrying a few minutes later seems to work.

see pull request 10

Contribute

For any request, feel free to make a pull request or fill an issue on Github.

rds-pgbadger's People

Contributors

askainet avatar fpietka avatar goetzb avatar lgtml avatar mpettypiece avatar stickler-ci avatar

Watchers

 avatar  avatar  avatar

Forkers

offsportscafe

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.