Postgres是否在EC2实例上使用100%CPU?为什么?怎么修?

时间:2019-04-01 10:33:55

标签: postgresql amazon-ec2

我经常遇到相同的问题,一个月发生1-3次,大部分在周末发生。

为说明起见,从最近 32小时开始,CPU利用率已超过100%。

  • EC2实例为 t3.medium
  • Postgres版本为10.6
  • 操作系统:Amazon Linux 2

我已经尝试使用参考文献https://severalnines.com/blog/why-postgresql-running-slow-tips-tricks-get-source

中提供的命令来收集我可以获得的所有信息。

但是在我的数据库中没有发现任何不一致或泄漏,尽管在检查消耗所有CPU资源的进程时,我发现以下命令是导致运行32小时以上的罪魁祸首。

  

/ var / lib / postgresql / 10 / main / postgresql -u pg_linux_copy -B

此命令目前从3个单独的进程运行,分别从过去的32小时,16小时和16小时开始运行。

有关此问题的搜索甚至没有在Google上返回令人心碎的结果。

如果我终止了该进程,一切都会恢复正常。

问题是什么,我该怎么做才能防止将来再次发生?

1 个答案:

答案 0 :(得分:2)

AWS EC2滥用小组最近与我联系,询问我的实例涉及对其他服务器的入侵攻击。

令我惊讶的是,我发现我使用了非常一周的密码 root 作为我数据库的默认 postgres 帐户,并且还拥有postgres端口public(攻击者)默默地获得对实例的访问权,并使用我的实例尝试获得对另一个实例的访问权。

我仍然不确定,他如何能够通过访问主数据库帐户来尝试 ssh命令

总而言之,服务器上数据库异常高峰的原因之一可能是有人在攻击您的系统。