Stats

OpenTSDB 提供了许多有关其性能的 Metrics,可以通过各种 API 端点进行访问。可通过 GUI 的“统计”选项卡,位于/api/stats的 Http API 或位于/stats的旧版 API 访问主要统计信息。 Telnet 样式 API 还支持“ stats”命令,用于通过 CLI 进行提取。这些可以很容易地以您希望的任何时间间隔立即发布回 OpenTSDB。

可用的其他统计信息包括 JVM 信息,存储详细信息(例如,每个区域 Client 端的 HBase 统计信息)和已执行的查询详细信息。有关其他端点的更多详细信息,请参见/api/stats

来自主要统计信息终结点的所有度量标准都包含一个host标记,该标记包含运行 TSD 的主机的名称。如果设置了tsd.stats.canonical配置标志,它将更改为fqdn,TSD 将尝试解析其主机名以返回完全限定的域名。当前所有统计信息都是整数值。每个请求统计信息都会实时获取统计信息,因此时间戳将反映 TSD 主机上的当前时间。

Note

/api/stats端点是执行 TSD 健康检查的好地方,因为它将执行对存储的查询以获取 UID 统计信息。如果 TSD 无法到达后备存储,则 API 将返回异常。

MetricTagsTypeDescription
tsd.connectionmgr.connectionstype=openGauge当前打开的 Telnet 和 HTTP 连接的数量。
tsd.connectionmgr.connectionstype=totalCounter与 OpenTSDB 的连接总数。这包括所有 Telnet 和 HTTP 连接。
tsd.connectionmgr.exceptionstype=closedCounter写入已关闭的通道导致的异常总数。如果查询花费的时间太长,Client 端会正常关闭其连接,并且 TSD 尝试写入套接字,则可能会发生这种情况。这包括所有 Telnet 和 HTTP 连接。
tsd.connectionmgr.exceptionstype=resetCounterClient 端在不关闭套接字的情况下断开连接而导致的异常总数。这包括所有 Telnet 和 HTTP 连接。
tsd.connectionmgr.exceptionstype=timeoutCounter由套接字不活动超时引起的总异常,即 TSD 在超时时间内既未写入套接字也未从套接字接收数据。这包括所有 Telnet 和 HTTP 连接。
tsd.connectionmgr.exceptionstype=unknownCounter原因未知的总异常。检查日志以获取详细信息。这包括所有 Telnet 和 HTTP 连接。
tsd.rpc.receivedtype=telnetCounter收到的 telnet RPC 请求总数
tsd.rpc.receivedtype=httpCounter收到的 Http RPC 请求总数
tsd.rpc.receivedtype=http_pluginCounter由插件而不是内置 API 接收和处理的 Http RPC 请求总数。 (v2.2)
tsd.rpc.exceptions CounterRPC 调用期间捕获的异常总数。这些可能是用户错误或错误。
tsd.http.latency_50pcttype=allGauge第 50 个百分位数情况下响应 HTTP 请求所花费的时间(以毫秒为单位)
tsd.http.latency_75pcttype=allGauge在第 75 个百分位数的情况下,响应 HTTP 请求所花费的时间(以毫秒为单位)
tsd.http.latency_90pcttype=allGauge在 90%的情况下,响应 HTTP 请求所花费的时间(以毫秒为单位)
tsd.http.latency_95pcttype=allGauge在 95%的情况下,响应 HTTP 请求所花费的时间(以毫秒为单位)
tsd.http.latency_50pcttype=graphGauge第 50 个百分位情况下的图形请求响应时间(以毫秒为单位)
tsd.http.latency_75pcttype=graphGauge第 75 个百分位案例的图形请求时间(以毫秒为单位)
tsd.http.latency_90pcttype=graphGauge第 90 个百分位情况下的图形请求响应时间(以毫秒为单位)
tsd.http.latency_95pcttype=graphGauge第 95 个百分位情况下的图形请求响应时间(以毫秒为单位)
tsd.http.latency_50pcttype=gnuplotGauge生成第 50 个百分位数情况的 GnuPlot 图所花费的时间(以毫秒为单位)
tsd.http.latency_75pcttype=gnuplotGauge生成第 75 个百分位情况下的 GnuPlot 图所花费的时间(以毫秒为单位)
tsd.http.latency_90pcttype=gnuplotGauge生成第 90 个百分位数情况的 GnuPlot 图所花费的时间(以毫秒为单位)
tsd.http.latency_95pcttype=gnuplotGauge生成第 95 个百分位数情况的 GnuPlot 图所花费的时间(以毫秒为单位)
tsd.http.graph.requestscache=diskCounter磁盘缓存满足的图形请求总数
tsd.http.graph.requestscache=missCounter未缓存且需要从存储中提取的图请求总数
tsd.http.query.invalid_requests Counter由于用户错误(例如使用错误的 HTTP 方法,缺少参数或使用没有 UID 的 Metrics 和标签)而导致发送到/ api/query 端点的数据查询总数无效。 (v2.2)
tsd.http.query.exceptions Counter发送到/ api/query 端点的数据查询总数由于用户 Importing 错误或潜在错误而引发异常。有关详细信息,请参见日志。 (v2.2)
tsd.http.query.success Counter发送到/ api/query 端点的成功完成的数据查询总数。请注意,这些可能已返回空结果。 (v2.2)
tsd.rpc.receivedtype=putCounterput个写入数据点的请求总数
tsd.rpc.errorstype=hbase_errorsCounter由 HBase 异常引起的 RPC 错误总数
tsd.rpc.errorstype=invalid_valuesCounterRPC 错误总数导致用户请求中的put值无效,例如字符串而不是数字
tsd.rpc.errorstype=illegal_argumentsCounter由用户的错误数据导致的 RPC 错误总数
tsd.rpc.errorstype=socket_writes_blockedCounter由于缓冲区已满,TSD 无法写回 telnet 套接字的总次数。如果发生这种情况,则可能意味着发生了许多异常。 (v2.2)
tsd.rpc.errorstype=unknown_metricsCounter尝试对未分配 UID 的 Metricsput造成的 RPC 错误总数。仅在禁用“自动度量标准”的情况下递增。
tsd.uid.cache-hitkind=metricsCounter度量标准 UID 的成功缓存查找总数
tsd.uid.cache-misskind=metricsCounter需要调用存储的度量标准 UID 的失败的高速缓存查找总数
tsd.uid.cache-sizekind=metricsGauge当前缓存的 MetricsUID 的数量
tsd.uid.ids-usedkind=metricsCounter当前已分配的度量标准 UID 数。 (注意:如果启用了随机度量 UID 生成,则 ids-used 将始终为 0)
tsd.uid.ids-availablekind=metricsCounter当前可用度量标准 UID 的数量,分配的 UID 会减少。 (注意:如果启用了随机度量 UID 生成,则 ids-used 将始终为 0)
tsd.uid.random-collisionskind=metricsCounter度量标准 UID 由于与现有 UID 发生冲突而尝试重新分配的次数。 (v2.2)
tsd.uid.cache-hitkind=tagkCounterTagk UID 成功缓存查找的总数
tsd.uid.cache-misskind=tagkCounter需要调用存储的 Tagk UID 的失败高速缓存查找总数
tsd.uid.cache-sizekind=tagkGauge当前缓存的 tagk UID 的数量
tsd.uid.ids-usedkind=tagkCounter当前分配的 tagk UID 数
tsd.uid.ids-availablekind=tagkCounter当前可用的 tagk UID 的数量,随着 UID 的增加而减少。
tsd.uid.cache-hitkind=tagvCountertagv UID 的成功高速缓存查找总数
tsd.uid.cache-misskind=tagvCounter需要调用存储的 tagv UID 的失败高速缓存查找总数
tsd.uid.cache-sizekind=tagvGauge当前缓存的 tagv UID 的数量
tsd.uid.ids-usedkind=tagvCounter当前已分配标签 v UID 的数量
tsd.uid.ids-availablekind=tagvCounter当前可用 tagv UID 的数量,分配的 UID 减少。
tsd.jvm.ramfree GaugeJVM 的 Runtime.freeMemory()报告为空闲的字节数
tsd.jvm.ramused Gauge报告的 JVM 的 Runtime.totalMemory()使用的字节数
tsd.hbase.latency_50pctmethod=putGauge对第 50 个百分位数的案例执行看跌期权所需的时间(以毫秒为单位)
tsd.hbase.latency_75pctmethod=putGauge对第 75 个百分位数的案例执行看跌期权所需的时间(以毫秒为单位)
tsd.hbase.latency_90pctmethod=putGauge对第 90 个百分位数的案例执行看跌期权所需的时间(以毫秒为单位)
tsd.hbase.latency_95pctmethod=putGauge对第 95 个百分位数的案例执行看跌期权所需的时间(以毫秒为单位)
tsd.hbase.latency_50pctmethod=scanGauge对第 50 个百分位案例执行一次 Scan 调用所花费的时间(以毫秒为单位)
tsd.hbase.latency_75pctmethod=scanGauge对第 75 个百分位数的案例执行一次 Scan 调用所花费的时间(以毫秒为单位)
tsd.hbase.latency_90pctmethod=scanGauge对第 90 个百分位数的案例执行一次 Scan 调用所花费的时间(以毫秒为单位)
tsd.hbase.latency_95pctmethod=scanGauge对第 95 个百分位数的案例执行一次 Scan 调用所花费的时间(以毫秒为单位)
tsd.hbase.root_lookups CounterClient 端执行的根查询总数
tsd.hbase.meta_lookupstype=uncontendedCounterClient 端执行的无竞争元表查找总数
tsd.hbase.meta_lookupstype=contendedCounterClient 端执行的有争议的元表查找的总数
tsd.hbase.rpcstype=incrementCounterClient 端执行的增量请求总数
tsd.hbase.rpcstype=deleteCounterClient 端执行的删除请求总数
tsd.hbase.rpcstype=getCounterClient 端执行的 Get 请求总数
tsd.hbase.rpcstype=putCounterClient 端执行的 Put 请求总数
tsd.hbase.rpcstype=rowLockCounterClient 端执行的行锁定请求总数
tsd.hbase.rpcstype=openScannerCounterManagement 员执行的 Open Scanner 请求总数

client
tsd.hbase.rpcstype = scanCounterClient 端执行的扫描请求总数。这些指示 scan-> next()调用。
tsd.hbase.rpcs.batched 计数器Client 端发送的批处理请求总数
tsd.hbase.flushes 计数器Client 端执行的刷新总数
tsd.hbase.connections.created 计数器Client 端到区域服务器的连接总数
tsd.hbase.nsre 计数器未捕获任何此类区域异常的总数。当区域服务器崩溃,脱机或区域分裂(?)时,可能会发生这些情况
tsd.hbase.nsre.rpcs_delayed Counter由于 NSRE 而延迟并随后成功执行的呼叫总数
tsd.hbase.region_clients.open 计数器自 TSD 启动以来与区域服务器构建的连接总数。如果此数字攀升,则区域服务器可能崩溃并重新启动。 (v2.2)
tsd.hbase.region_clients.idle_closed 计数器到区域服务器由于空闲连接而关闭的连接总数。这表示在一段时间内未从服务器读取任何内容或向服务器写入任何内容,并且 TSD 将在需要时重新连接。 (v2.2)
tsd.compaction.counttype = trivialCounterTSD 执行的琐碎压缩总数
tsd.compaction.counttype = complexCounterTSD 执行的复杂压实总数
tsd.compaction.duplicatestype = identicalCounter在压缩期间发现的同时重复且具有相同值的数据点总数。 (v2.2)
tsd.compaction.duplicatestype = variantCounter在压缩期间发现的同时重复但值不同的数据点总数。 (v2.2)
tsd.compaction.queue.size Gauge队列中当前有多少行数据要压缩。 (v2.2)
tsd.compaction.errorstype = readCounter由于某种错误而无法从存储读取的总行数。 (v2.2)
tsd.compaction.errorstype = putCounter由于某种错误而无法写入存储的总行数。 (v2.2)
tsd.compaction.errorstype = deleteCounter由于某种错误而无法从存储中删除旧的非压缩数据的总行数。 (v2.2)
tsd.compaction.writestype = readCounter回写到压缩值存储区的总数。 (v2.2)
tsd.compaction.deletestype = readCounter对存储执行的删除调用总数,以删除已压缩的旧数据。 (v2.2)