问题描述
在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=