我在EC2实例上安装了一个带有grafana的ELK堆栈。我在RDS中创建了一个mysql数据库,创建了一个grafana数据库和一个具有相应权限的grafana用户。可以使用适当设置的IAM角色通过mysql访问该用户。
但是,当我尝试使用该数据库启动Grafana服务时,我在日志中收到以下错误:
"Fail to initialize orm engine" logger=sqlstore error="Sqlstore::Migration
failed err: Error 1045: Access denied for user 'grafana'@'SERVERIP' (using
password: YES)\n"
我的grafana.ini数据库部分如下所示:
[database]
host = aurora-cluster-ClusterName.cluster-
RandomAWSSuppliedChars.Region.rds.amazonaws.com:3306
type = mysql
name = grafanaDbName
user = grafanaUserName
password = `aws rds generate-db-auth-token --hostname aurora-cluster-
ClusterName.cluster-RandomAWSSuppliedChars.Region.rds.amazonaws.com --
username grafanaUserName --port 3306 --region
Region`
我也尝试过不提供密码,但我很确定我需要提供生成的身份验证令牌。我还尝试生成一个身份验证令牌并在15分钟的窗口期间手动粘贴它,同时它有利于测试目的,我得到了相同的拒绝访问错误。
是否支持IAM身份验证?如果是这样,我如何提供所需的Auth令牌?
答案 0 :(得分:0)
配置文件需要几个特定设置才能连接。 RDS要求两者一个ssl证书和一个IAM令牌。令牌是一个长期生成的字符串,最好设置为环境变量然后传入。证书必须是downloaded并且可以访问。
[database]
host = ClusterUri:3306
type = mysql
name = grafanaDatabaseName
user = grafanaUserName
password = AwsSuppliedToken
ssl_mode=true
ca_cert_path=/CertificatePath/rds-combined-ca-bundle.pem
server_cert_name=ClusterName.cluster-RandomAwsSuppliedCharacters.AwsRegion.rds.amazonaws.com