我正在尝试从使用10.6版本的RDS实例获取postgreSQL日志,该版本是在cloudformation模板中设置的。当我在整个系统中运行它时,我会收到错误消息
您不能将日志类型“ Postgresql”与引擎版本postgres 10.6一起使用。有关受支持的日志类型,请参阅文档。
documentation看起来很简单。参数的字符串列表,以及postgreSQL supports Postgresql日志和升级日志。我知道这是正确的,因为我能够通过AWS控制台导出这些日志。该文档没有提及期望使用什么字符串。因此,我尝试了“ postgres”,“ postgresql”,“ postgresql_log”等,但是没有发现任何问题。我确定我一定错过了一些重要的东西,但我找不到它,并且互联网上的the only example I have found无法启发我。
RDSInstance:
Type: AWS::RDS::DBInstance
DependsOn: RDSMonitoringRole
Properties:
****
EnableCloudwatchLogsExports:
- Postgresql
MonitoringInterval: 60
MonitoringRoleArn: !GetAtt ["RDSMonitoringRole", "Arn"]
****
RDSMonitoringRole:
Type: AWS::IAM::Role
Properties:
ManagedPolicyArns:
- arn:aws:iam::aws:policy/service-role/AmazonRDSEnhancedMonitoringRole
AssumeRolePolicyDocument:
Version: '2008-10-17'
Statement:
-
Effect: Allow
Principal:
Service: 'monitoring.rds.amazonaws.com'
Action: 'sts:AssumeRole'
答案 0 :(得分:0)
对于其他任何人,我也为此感到困惑,docs也不是很有帮助。
直到我打开“ AWS CLI”部分:
aws rds modify-db-instance \
--db-instance-identifier mydbinstance \
--cloudwatch-logs-export-configuration '{"EnableLogTypes":["postgresql", "upgrade"]}'
那些价值观对我有用。
我发现您提到您已经尝试过它们,所以也许您遇到了版本限制?
只有PostgreSQL版本9.6.6和更高版本以及10.4和更高版本才支持将日志文件发布到CloudWatch Logs。
答案 1 :(得分:0)
文档令人困惑,但是如果仔细阅读,您会发现 在Publishing PostgreSQL Logs to CloudWatch Logs下写道:
您可以将以下日志类型发布到CloudWatch Logs for RDS for PostgreSQL:
PostgreSQL日志
升级日志(不适用于Aurora PostgreSQL)
导航到AWS CLI示例时:
1)您可以在以下位置看到:示例修改实例以将日志发布到CloudWatch Logs :
该对象的键是
EnableLogTypes
,其值是一个数组 具有postgresql
和upgrade
的任意组合的字符串。
2)继续进行以下操作:示例创建实例以将日志发布到CloudWatch Logs :
字符串可以是
postgresql
和upgrade
的任意组合。
对于使用Aurora PostgreSQL的用户-摘自here:
请注意以下几点:Aurora PostgreSQL支持发布日志 9.6.12及更高版本以及10.7和更高版本的CloudWatch Logs 以上。
在Aurora PostgreSQL中,只能发布PostgreSQL日志。
不支持发布升级日志。
答案 2 :(得分:0)
很晚了,但可能会帮助其他人:
RDSInstance:
Type: AWS::RDS::DBInstance
DependsOn: RDSMonitoringRole
Properties:
****
EnableCloudwatchLogsExports:
- postgresql
MonitoringInterval: 60
MonitoringRoleArn: !GetAtt ["RDSMonitoringRole", "Arn"]
****