映射未映射的存储桶后,InfluxDB v2兼容性端点/查询不起作用

问题描述

在Grafana中为InfluxDB 2.0(2.0.0-beta.16)创建InfluxQL数据源失败,并显示以下错误

can't assign to property "executedQueryString" on "<!doctype html><html><head><Meta charset=\"utf-8\"><Meta name=\"viewport\" content=\"width=device-width,initial-scale=1\"><title>InfluxDB 2.0</title><base href=\"/\"><link rel=\"shortcut icon\" href=\"/favicon.ico\"></head><body><div id=\"react-root\" data-basepath=\"\"></div><script src=\"/5e93c5f5aa.js\"></script></body></html>": not an object

我按照以下过程在https://docs.influxdata.com/influxdb/v2.0/query-data/influxql/#map-unmapped-buckets上映射未映射的存储桶,并尝试使用https://docs.influxdata.com/influxdb/v2.0/tools/grafana/#configure-grafana-to-use-influxql在Grafana中创建数据源

使用邮递员,在查询与InfluxDB v1兼容的端点时得到的输出相同:

curl --location --request GET 'http://54.226.129.163/query?db=db-35days&rp=rp-35days' \
--header 'Authorization: Token VuLd01YvgyBNnWQlzFXDgDT08DFGdfgr4et6456HzrNpHqKF4q8VvQUZrmlLoyUUpJbdSU0mwUPYISV1LdjQ==' \
--data-urlencode 'q=select * from ping'

<!doctype html>
<html>

<head>
    <Meta charset="utf-8">
    <Meta name="viewport" content="width=device-width,initial-scale=1">
    <title>InfluxDB 2.0</title>
    <base href="/">
    <link rel="shortcut icon" href="/favicon.ico">
</head>

<body>
    <div id="react-root" data-basepath=""></div>
    <script src="/5e93c5f5aa.js"></script>
</body>

</html>

我已验证数据库保留策略映射是否可用:

curl --location --request GET 'http://my-influxdb/api/v2/dbrps/06868db0219ad000?org=PBC' \
--header 'Authorization: Token VuLd01YvgyBNnWQlzFXDgDT08DFGdfgr4et6456HzrNpHqKF4q8VvQUZrmlLoyUUpJbdSU0mwUPYISV1LdjQ=='


{
    "content": {
        "id": "06868db0219ad000","database": "db-35days","retention_policy": "rp-35days","default": true,"organization_id": "218adfcaf421474d","bucket_id": "9fd165c106e5f962"
    }
}

根据https://docs.influxdata.com/influxdb/v2.0/reference/api/influxdb-1x/dbrp/上的文档,将使用DBRP映射自动创建新的数据库/保留策略存储桶,如果找不到匹配的存储桶,则将数据写入存储桶。我也使用“所有访问令牌”进行了尝试,但是得到了相同的错误响应:

curl --location --request POST 'http://my-influxdb/write?db=testdb&rp=testrp' \
--header 'Content-Type: application/json' \
--header 'Authorization: Token VuLd01YvgyBNnWQlzFXDgDT08DFGdfgr4et6456HzrNpHqKF4q8VvQUZrmlLoyUUpJbdSU0mwUPYISV1LdjQ==' \
--data-raw 'measurement,host=host1 field1=2i,field2=2.0 1577836800000000000'


<!doctype html>
<html>

<head>
    <Meta charset="utf-8">
    <Meta name="viewport" content="width=device-width,initial-scale=1">
    <title>InfluxDB 2.0</title>
    <base href="/">
    <link rel="shortcut icon" href="/favicon.ico">
</head>

<body>
    <div id="react-root" data-basepath=""></div>
    <script src="/5e93c5f5aa.js"></script>
</body>

</html>

我可以使用Flux查询v2终结点:

curl --location --request POST 'http://my-influxdb/api/v2/query?org=PBC' \
--header 'Content-Type: application/vnd.flux' \
--header 'Accept: application/csv' \
--header 'Authorization: Token VuLd01YvgyBNnWQlzFXDgDT08DFGdfgr4et6456HzrNpHqKF4q8VvQUZrmlLoyUUpJbdSU0mwUPYISV1LdjQ==' \
--data-raw 'from(bucket: "35days")
  |> range(start: -12h)
  |> filter(fn: (r) => r["_measurement"] == "ping")
  |> yield(name: "mean")',result,table,_start,_stop,_time,_value,_field,_measurement,account,mean,2020-10-27T22:52:58.644679856Z,2020-10-28T10:52:58.644679856Z,2020-10-28T08:49:35Z,0.4,standard_deviation_ms,ping,pbc

解决方法

使用InfluxDB v2 GA版本解决了该问题。

,

在InfluxDB 2.0.2中仍然对我来说是问题 我可以在日志中看到它根本无法读取我的查询:

curl --request GET http://localhost:8086/query \
> --header "Authorization: Token <token>" \
> --data-urlencode "db=<db>" \
> --data-urlencode "rp=autogen" \
> --data-urlencode "q=SELECT * FROM <measurment>"

在映射之后。 这是我在日志中看到的内容

ts=2020-12-09T11:26:08.379293Z lvl=info msg="executing new query" log_id=0QwcNMnG000 query=