从rds postgres实例中获取日志,并与pgbadger一起使用以生成报告。
rdspgbadger的Python项目详细描述
无线电数据系统PGBadger
获取rds日志文件并用pgBadger进行分析。
先决条件
确保在~/.aws/credentials文件中设置了凭据。 此外,还可以在~/.aws/config文件中设置区域,因此不需要向脚本传递区域选项。 最后但并非最不重要的是,确保已安装pgbadger,并且可以从$PATH中重新访问。
参数组
必须配置数据库参数组。
首先,确保将log_min_duration_statement设置为0或更高版本,否则您将没有要分析的内容。
然后必须启用其他一些参数才能在日志中获取更多信息。
Parameter | Value |
---|---|
log_checkpoints | 1 |
log_connections | 1 |
log_disconnections | 1 |
log_lock_waits | 1 |
log_temp_files | 0 |
log_autovacuum_min_duration | 0 |
还要确保lc_messages处于引擎默认值或设置为C。
有关详细信息,请参阅dalibo的pgBadger文档。
安装
您可以使用pip:
$ pip install rdspgbadger
使用量
要生成pgbadger报表,只需运行以下命令(用实例ID替换instanceid):
$ rds-pgbadger instanceid
选项
只有实例ID是必需的,但也可以使用其他选项:
- -d,–date:默认情况下,脚本下载所有可用的日志。通过以YYYY-MM-DD格式指定日期,您可以只下载当天的日志。
- -r,–region:默认情况下,脚本使用aws配置文件中指定的区域。如果没有,或者如果您希望更改它,可以使用此选项进行更改。
- -o,–output:默认情况下,脚本将日志文件和报告输出到out文件夹。此选项允许您更改它。
- -无进程:下载日志文件,但不要用pgbadger处理它们。
- -x,–pgbadger args:要传递给pgbadger的命令行参数
- –承担角色:通过指定角色,您可以使用sts承担角色,这对于跨帐户访问非常有用,而无需设置.config文件。格式arn:aws:iam::<account_id>:<role_name>
贡献
对于任何请求,都可以在Github上提出请求或填写问题。