从rds postgres实例中获取日志,并与pgbadger一起使用以生成报告。

rdspgbadger的Python项目详细描述


Code HealthVersionPython versions supportedLicense

无线电数据系统PGBadger

获取rds日志文件并用pgBadger进行分析。

先决条件

确保在~/.aws/credentials文件中设置了凭据。 此外,还可以在~/.aws/config文件中设置区域,因此不需要向脚本传递区域选项。 最后但并非最不重要的是,确保已安装pgbadger,并且可以从$PATH中重新访问。

参数组

必须配置数据库参数组。

首先,确保将log_min_duration_statement设置为0或更高版本,否则您将没有要分析的内容。

然后必须启用其他一些参数才能在日志中获取更多信息。

ParameterValue
log_checkpoints1
log_connections1
log_disconnections1
log_lock_waits1
log_temp_files0
log_autovacuum_min_duration0

还要确保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>

已知问题

尽管askainet做了大量工作,但aws api似乎太不稳定了,有时下载大型日志文件可能 失败。在这种情况下,几分钟后重试似乎是可行的。

pull request 10

贡献

对于任何请求,都可以在Github上提出请求或填写问题。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
ArrayList中实体对象上的JAVA泛型   带Redis的爪哇芹菜vs单用Redis   java在设备面向横向时隐藏标题栏/通知栏   java JXTreeTable:如何使用ComponentProvider为一列设置渲染器   java创建异常的成本与记录异常的成本相比   java在方法参数中使用setter传递新对象   java在一个类中的方法与另一个类中的方法交互时遇到问题   java如何迭代2个大小相等的ArrayList   Java getDesktop()。open在Windows中工作,但在Mac中不工作   从tomcat切换到jetty后的java“无法启动嵌入式容器”,Spring引导   java如何使用void方法   java如何在解组时在JAXB的ValidationEventHandler中获取节点值?   如何使用Akka Java API创建不响应的TCP接收器   JavaScriptjQuery在java中将记录上传到数据库时的进度条   如何在重新绘制时在java小程序中显示上一个图像