3

我将 Chronograph 配置为使用通用 OAuth 2.0(使用云代工 UAA)。用户身份验证工作正常,但问题是没有考虑默认的 influxdb 连接。事实上,这个配置有效:

chronograf  --log-level="debug" --resources-path="/usr/share/chronograf/resources" --influxdb-url="http://influxDB.log.database:8086" --influxdb-username="usename" --influxdb-password="pass"

这是/usr/share/chronograf/resources文件夹的内容:

涌入数据库.src:

{
  "id": "9999",
  "name": "MyInfluxDB",
  "username": "user1,
  "password": "password1",
  "url": "http://influxDB.log.database:8086",
  "type": "influx",
  "insecureSkipVerify": true,
  "default": true,
  "telegraf": "telegraf.autogen",
  "organization": "Default"
}

chronoraf启动时会自动创建两个连接:

但是当我使用以下选项运行 chronograf 时(使用OAuth 2.0并创建influxdb 连接):

export TOKEN_SECRET="token_secret"; export JWKS_URL="https://uaa/token_keys"; export PUBLIC_URL="http://chronograf:8888"; chronograf  --log-level="debug" --resources-path="/usr/share/chronograf/resources" --generic-name="generic" --generic-client-id="id" --generic-client-secret="secret" --generic-scopes="openid" --generic-auth-url="https://uaa/oauth/authorize" --generic-token-url="https://uaa/oauth/token" --generic-api-url="https://uaa/userinfo"

OAuth 2.0 工作正常,但一旦重定向到chronograf仪表板,我就看不到连接,即使我手动创建连接并登录,我也找不到任何在启动时根据需要自动创建的连接。

4

1 回答 1

0

该字段organization需要一个ID。id用于组织的使用Default小写d。如果您将 src 文件更改为,

{
  "id": "9999",
   "name": "MyInfluxDB",
   "username": "user1,
   "password": "password1",
   "url": "http://influxDB.log.database:8086",
   "type": "influx",
   "insecureSkipVerify": true,
   "default": true,
   "telegraf": "telegraf.autogen",
   "organization": "default"
}

它现在应该可以工作了。

您可以在此处查看其源代码中定义 id 的位置https://github.com/influxdata/chronograf/blob/9d8a49ba0ef8131cdce22d73718859f55f434db2/bolt/organizations.go#L20

于 2020-01-07T16:27:25.297 回答