如何选择 TSDB 的实例规格?
您可根据以下两个指标选择 TSDB 的实例规格:
-
时间线数:对应设备上的采集点数。一个采集点可以是某个设备上需要上传数据的一个传感器。计算公式:设备规模(总设备数) * 单个设备的采集点数或传感器数。
-
写入效率:全局每秒需要写入时序数据库的平均数据点数(数据记录数)。计算公式:时间线数 * 单条时间线每秒需要写入的平均数据点数。
TSDB 支持公网访问吗?
TSDB 支持公网访问,但您需要先使用 VPC 网络创建实例(详情请见创建实例),然后在 TSDB 控制台开启公网连接,具体操作方式请参考网络连接文档的公网连接一节。
TSDB 如何进行数据可视化展示?
TSDB 目前支持以下两种方式进行数据可视化展示:
-
通过 TSDB 控制台对数据进行可视化展示。详情请见时序洞察。
-
通过接入 Grafana 对数据进行可视化展示。详情请见可视化-接入Grafana。
实例访问超时,显示错误码“Connection timed out”,如何解决?
由于 TSDB 实例默认是专有网络 VPC 的模式,这种模式下如果访问机器和 TSDB 实例不在同一个 VPC 环境内,会出现网络不通,连接超时的错误。解决办法如下:
- 如果写入机器和实例在同一个区域 Region 内,可将写入测试机器加入到 TSDB 所在实例的 VPC 网关下即可。具体操作方式请参考单ECS迁移示例。
请求返回:“Exceed Max TS counter xxxx”,如何解决?
返回这个结果表示 TSDB 实例的时间线(timelines or time series)总数量已经超过当前定义的产品规格(详见产品规格和定价),需要进行扩容,或者删除部分时间线(详见清理时间线)。
TSQL 查询返回错误 “INTERNAL: Missing start time.”
用户在 TSDB 控制台中的“TSQL数据开发”界面执行 SQL 查询时,有可能会遇到执行报错,错误信息如下:
Error in calling SQL restful api with error { "errorMessage" : "INTERNAL_ERROR ERROR: io.grpc.StatusRuntimeException: INTERNAL: Missing start time.\nTSDB query execution failure \n …… }
这种错误的原因是因为用户执行的 SQL 语句中,未在 WHERE 语句中指定查询起始时间,比如:
select * from metric_name
因为不带时间范围的 SQL 查询会执行全表扫描,当数据量较大时可能会影响实例性能,因此我们在新版 TSDB (版本号 >= 2.5.14) 之中添加了这个查询语句限制,要求 SQL 查询像 HTTP 查询接口一样,也必须指定查询的起始时间。
因此用户需要在 SQL 语句中指定查询起始时间,才可以正确执行查询,比如:
select * from metric_name where `timestamp` >= '2020-01-01 00:00:00 +0800'