文档说明

InfluxDB 内部 1.x 度量和字段

默认情况下,InfluxDB 生成内部度量并将它们保存到 _internal 数据库。使用这些度量来监控 InfluxDB 和 InfluxDB 企业版,并在出现问题时创建警报来通知您。

在生产中禁用 _internal 数据库

InfluxData 不建议在生产集群中使用 _internal 数据库。它会产生不必要的开销,尤其是在繁忙的集群中,可能会使已经负载过重的集群过载。存储在 _internal 数据库中的度量主要测量工作负载性能,并且仅在非生产环境中进行测试。

要禁用 _internal 数据库,请将 InfluxDB 配置文件[monitor] 部分的 store-enabled 设置为 false

# ...
[monitor]
  # ...
  # Whether to record statistics internally.
  store-enabled = false
  #...

在外部监控器中存储内部度量

要监控生产集群中的 InfluxDB _internal 度量,请使用 Telegraf 和 influxdb 输入插件 从 InfluxDB /debug/vars 端点捕获这些度量并将它们存储在外部 InfluxDB 监控实例中。有关更多信息,请参阅 配置监控监控器

在使用“监控监控器(WoW)”配置时,InfluxDB 度量字段键以 infuxdb_ 预先添加,但与其他列出的内容相同 下面

可视化 InfluxDB 内部度量

使用 InfluxDB OSS 监控仪表板InfluxDB 企业版监控仪表板 来可视化 InfluxDB _internal 度量。

InfluxDB 内部度量字段

ae (仅企业版)

InfluxDB Enterprise集群中与抗熵(AE)引擎相关的度量统计。

bytesRx

数据节点接收的字节数。

errors

导致错误的抗熵作业总数。

jobs

数据节点执行作业的总数。

jobsActive

活动(当前正在执行)作业的数量。


cluster (仅企业版)

集群测量跟踪InfluxDB Enterprise中数据节点聚类特征的统计信息。系列上的标签指示统计信息的数据源。

copyShardReq

向另一个数据节点复制分片时发出的内部请求数量。

createIteratorReq

来自集群中其他数据节点的读请求数量。

expandSourcesReq

向该节点发送以查找与特定正则表达式匹配的测量的远程节点请求数量。表示在另一个数据节点上启动的regex SELECT操作,然后该节点向该节点发送内部请求。目前没有统计跟踪在特定节点上启动了多少个使用正则表达式而不是固定测量的查询。

fieldDimensionsReq

对数据节点上测量的字段和关联类型以及标签键信息请求的远程节点请求数量。

iteratorCostReq

迭代器成本的内部请求数量。

openConnections

跟踪数据节点处理的打开连接数(包括计算单yamux连接上复用的逻辑连接数量)。

removeShardReq

从该数据节点删除分片发出的内部请求数量。仅通过使用influxd-ctl remove shard命令来独家增加。

writeShardFail

远程节点失败的内部写请求数量总和。它是InfluxDB分片统计writeReqErr的表亲。Node A接收到通过HTTP发送的写请求。Node A本地没有分片,因此它创建了一个内部请求到Node B,指示要写入的内容和哪个分片。如果Node B看到请求并且有任何问题,Node B会增加自己的writeShardFail。根据问题所在,在大多数情况下,Node B也会增加从InfluxDB OSS继承的writeReqErr统计。如果Node A本地有分片,则不会有向远程节点写入数据的内部请求,因此writeShardFail不会增加。

writeShardPointsReq

任何远程节点的每个内部写请求中的点的总数,无论是否成功。

writeShardReq

无论是否成功,来自远程数据节点的内部写请求数量。


cq

与连续查询(CQs)相关的测量统计信息。

queryFail

执行但失败的总连续查询数。

queryOk

成功执行的总连续查询数。请注意,在某些情况下,此值可能会增加,例如,由于重采样间隔配置错误,CQ启动但实际上并没有运行。


database

numMeasurements

指定数据库中的测量数量。

系列基数值是估计值,基于HyperLogLog++ (HLL++)。当有数千或数百万个测量或系列时,估计值返回的数字应在一个相对较小的误差范围内是准确的。

numSeries

指定数据库的当前系列基数。系列基数值是估计值,基于HyperLogLog++ (HLL++)。当有数千或数百万个测量或系列时,估计值返回的数字应在一个相对较小的误差范围内是准确的。


hh(仅限企业版)

hh测量统计跟踪InfluxDB企业中产生新提示式提交(HH)处理器的结果事件。`hh`测量有一个额外的标签

  • path - 磁盘上持久化提示式提交队列的路径。

writeShardReq

由提示式交出引擎处理的远程节点初始写请求的数量。后续发送到该节点的写请求,如果目的地是同一远程节点,则不会增加此统计。无论上次进程存活时的状态如何,在 influxd 重启后,此统计将重置为 0。当HH“超级系统”被指令为将节点的一个写操作入队,且目标节点的“子系统”不存在并需要创建,并且“子系统”创建成功时,该统计会增加。如果在进程启动时远程节点上存在HH文件,则增加此统计的分支将不会被执行。

writeShardReqPoints

对远程节点提示式交出引擎的初始请求中每个点的写请求数量。


hh_database(仅企业版)

hh_database 测量值聚合了单个数据库和节点的所有提示式交出队列。这允许对单个数据库到目标节点的总队列大小进行准确的报告。

hh_database 测量值有两个额外的标签

  • db — 数据库名称
  • node — 节点标识符

bytesRead

从提示式交出队列读取并发送到目标数据节点的点的字节数。注意,如果数据节点进程在HH队列中存在数据时重启,则 bytesRead 可能会稳定到一个大于 bytesWritten 的数字。提示式交出写入以由 retry-concurrency 设置确定的并发批次发生。如果单个写入成功,则该指标会增加。如果整个批次中的任何写入失败,则整个批次被视为失败,并且批次的每个部分将稍后重试。这不是此统计的预期行为。另一种情况下,bytesRead 可能更大的情况是在进程重启后。假设HH已正确耗尽,并且没有未来的写入需要HH,则统计将显示1000字节读取和0字节写入。

即使在HH队列非空的情况下,在崩溃或重启后也会重置为0。

bytesWritten

写入提示式交出队列的总字节数。请注意,此统计只跟踪当前进程生命周期中写入的字节。在重启或崩溃后,此统计将重置为0,即使提示式交出队列不为空。

queueBytes

提示式交出队列中剩余的总字节数。此统计应准确绝对地跟踪等待发送到远程节点的编码数据的字节数。

bytesReadbytesWritten 不同(见 #780),此统计应在重启后保持正确。

queueDepth

提示式交出队列中的总段数。HH队列是一系列10MB的“段”文件。这是一个粗粒度的统计,大致表示为远程节点排队的数据量。 queueDepth 值可以让你了解队列何时增长或缩小。

writeBlocked

由于并发HH请求的数量超过限制而被阻塞的写入数量。

writeDropped

由于写入看起来已损坏而从HH队列中丢弃的写入数量。

writeNodeReq

成功将批次写入目标节点的总写入请求数量。

writeNodeReqFail

将数据批次从提示式交出队列写入目标节点失败的总写入请求数量。

writeNodeReqPoints

从HH队列到目标节点成功写入的总点数。

writeShardReq

已入队到提示式交出队列的总写批次请求数量。

writeShardReqPoints

已入队到提示式交出队列的总点数。


hh_node(仅企业版)

自InfluxDB Enterprise 1.9.8版本起可用。《code>hh_node度量存储特定节点所有队列(分片)的提示式迁移统计信息。

《code>hh_node度量有一个额外的标签

  • node - 记录的指标的目标节点。

queueTotalSize

单个节点所有提示式迁移队列占用的磁盘空间总字节数。跟踪特定节点所有提示式迁移队列的磁盘使用情况(不是等待处理的字节数)。由于提示式迁移队列的实现,字节处理和从磁盘删除之间的延迟。

queueTotalSize用于确定节点的提示式迁移队列达到在提示式迁移最大大小参数中配置的最大大小。


hh_processor(仅企业版)

《code>hh_processor度量存储单个队列(分片)的统计信息。在InfluxDB Enterprise中,每个数据节点都有一个提示式迁移处理器。

《code>hh_processor度量有两个额外的标签

  • node - 记录的指标的目标节点。
  • path - 磁盘上持久化提示式提交队列的路径。

针对主机的《code>hh_processor统计信息仅对当前进程的生命周期准确。如果进程崩溃或重启,即使HH队列不为空,bytesReadbytesWritten也会重置为零。

bytesRead

从提示式交出队列读取并发送到目标数据节点的点的字节数。注意,如果数据节点进程在HH队列中存在数据时重启,则 bytesRead 可能会稳定到一个大于 bytesWritten 的数字。提示式交出写入以由 retry-concurrency 设置确定的并发批次发生。如果单个写入成功,则该指标会增加。如果整个批次中的任何写入失败,则整个批次被视为失败,并且批次的每个部分将稍后重试。这不是此统计的预期行为。另一种情况下,bytesRead 可能更大的情况是在进程重启后。假设HH已正确耗尽,并且没有未来的写入需要HH,则统计将显示1000字节读取和0字节写入。

即使在HH队列非空的情况下,在崩溃或重启后也会重置为0。

bytesWritten

写入提示式交出队列的总字节数。请注意,此统计只跟踪当前进程生命周期中写入的字节。在重启或崩溃后,此统计将重置为0,即使提示式交出队列不为空。

queueBytes

提示式交出队列中剩余的总字节数。此统计应准确绝对地跟踪等待发送到远程节点的编码数据的字节数。

bytesReadbytesWritten 不同(见 #780),此统计应在重启后保持正确。

queueDepth

提示式交出队列中的总段数。HH队列是一系列10MB的“段”文件。这是一个粗粒度的统计,大致表示为远程节点排队的数据量。 queueDepth 值可以让你了解队列何时增长或缩小。

writeBlocked

由于并发HH请求的数量超过限制而被阻塞的写入数量。

writeDropped

由于写入看起来已损坏而从HH队列中丢弃的写入数量。

writeNodeReq

成功将批次写入目标节点的总写入请求数量。

writeNodeReqFail

将数据批次从提示式交出队列写入目标节点失败的总写入请求数量。

writeNodeReqPoints

从HH队列到目标节点成功写入的总点数。

writeShardReq

已入队到提示式交出队列的总写批次请求数量。

writeShardReqPoints

已入队到提示式交出队列的总点数。


httpd

《code>httpd度量存储与InfluxDB HTTP服务器相关的字段。

authFail

由于需要认证但未提供或认证错误而中止的HTTP请求数量。

clientError

由于客户端错误导致的HTTP响应数,具有4XX HTTP状态码。

fluxQueryReq

服务的Flux查询请求数量。

fluxQueryReqDurationNs

执行Flux查询请求花费的时间(wall-time),以纳秒为单位。

pingReq

InfluxDB HTTP服务器服务/ping HTTP端点的次数。

pointsWrittenDropped

存储引擎丢弃的点数。

pointsWrittenFail

由HTTP /write端点接受,但无法持久化的点数。

pointsWrittenOK

成功接受并持久化到HTTP /write端点的点数。

promReadReq

对Prometheus /read端点的读请求数量。

promWriteReq

对Prometheus /write端点的写请求数量。

queryReq

查询请求数量。

queryReqDurationNs

查询请求的总持续时间,以纳秒(ns)为单位。

queryRespBytes

查询响应中返回的字节总数。

recoveredPanics

HTTP处理程序恢复的恐慌总数。

req

服务HTTP请求的总数。

reqActive

当前活动请求数量。

reqDurationNs

在HTTP请求中花费的时间(wall time),以纳秒为单位。

serverError

由于服务器错误而导致的HTTP响应数。

statusReq

使用HTTP /status端点服务的状态请求数量。

valuesWrittenOK

成功接受并持久化到HTTP /write端点的值(字段)数。

writeReq

使用HTTP /write端点服务的写请求数量。

writeReqActive

当前活动写请求数量。

writeReqBytes

使用HTTP /write端点接收的线协议数据的总字节数。

writeReqDurationNs

使用/write HTTP端点服务的写请求的持续时间(wall time),以纳秒为单位。


queryExecutor

与InfluxDB引擎查询执行器使用相关的《code>queryExecutor统计信息。

queriesActive

当前正在处理的活动查询数。

queriesExecuted

执行的查询数(启动)。

queriesFinished

已执行完成的查询数。

queryDurationNs

每次执行查询的持续时间(wall time),以纳秒为单位。如果一个查询从开始到完成用了1000纳秒,另一个查询从开始到完成用了500纳秒并且在前一个查询完成之前运行,统计信息会增加1500。

recoveredPanics

查询执行器恢复的恐慌数。


rpc (仅企业版)

《code>rpc《/code>测量统计数据与InfluxDB企业集群中RPC调用的使用相关。

idleStreams

所有活动TCP连接中空闲的复用流的数量。

liveConnections

当前与其他节点建立的活动TCP连接数量。

liveStreams

当前所有活动TCP连接中的复用流数量。

rpcCalls

对远程节点发出的RPC调用总数。

rpcFailures

RPC调用失败总数,这些调用没有恢复。

rpcReadBytes

读取的RPC字节数总数。

rpcRetries

至少重试一次的RPC调用总数。

rpcWriteBytes

写入的RPC字节数总数。

singleUse

使用Dial打开的单次使用连接总数。

singleUseOpen

当前打开的单次使用连接数量。

totalConnections

建立的TCP连接总数。

totalStreams

建立的流总数。


runtime

《code>runtime《/code>测量统计数据包括MemStats记录的子集,统计Go内存分配器的信息。《code>runtime《/code>统计数据有助于确定较差的内存分配策略和相关性能问题。

《a href="https://golang.ac.cn/pkg/runtime/">Go运行时包包含与Go运行时系统交互的操作,包括用于控制goroutines的函数。它还包括由《a href="https://golang.ac.cn/pkg/reflect/">Go反射包使用的低级类型信息。

Alloc

堆对象分配的字节数。

Frees

已释放(活动)堆对象的累积数量。

HeapAlloc

所有堆对象的大小(以字节为单位)。

HeapIdle

空闲堆对象字节数。

HeapInUse

使用中的跨度字节数。

HeapObjects

分配的堆对象数量。

HeapReleased

返回给OS的物理内存字节数。

HeapSys

从OS获得的堆内存字节数。衡量为堆保留的虚拟地址空间。

Lookups

运行时执行的指针查找次数。主要用于调试运行时内部。

Mallocs

分配的堆对象总数。活动对象的总数是Frees

NumGC

完成的GC(垃圾回收)周期数。

NumGoroutine

Go协程的总数。

PauseTotalNs

总GC(垃圾回收)暂停时间的总和,以纳秒为单位。

Sys

从OS获得的内存字节数总数。衡量Go运行时为堆、堆栈和其他内部数据结构保留的虚拟地址空间。

TotalAlloc

为堆对象分配的字节数。当对象释放时,此统计信息不会减少。


shard

《code>shard《/code>测量统计数据与InfluxDB OSS和InfluxDB企业中的碎片工作相关。

diskBytes

碎片的大小(以字节为单位),包括数据目录和WAL目录的大小。

fieldsCreate

创建的字段数量。

indexType

索引类型inmemtsi1

seriesCreate

创建的系列数量。

writeBytes

写入碎片的字节数。

writePointsDropped

由于写入而丢弃的写入点请求的数量。当从写入中丢弃点时,http.pointsWrittentDropped增加(见#780)。

writePointsErr

由于错误而无法写入的写入点请求的数量。

writePointsOk

成功写入的点数量。

writeReq

写入请求的总数。

writeReqErr

由于错误而失败的写入请求总数。

writeReqOk

成功的写入请求总数。


subscriber

《code>subscriber《/code>测量统计数据与InfluxDB订阅的使用相关。

createFailures

创建失败的订阅数量。

pointsWritten

成功写入订阅者的点的总数。

writeFailures

写入订阅者失败的总批次数。


tsm1_cache

《code>tsm1_cache《/code>测量统计数据与TSM缓存的使用相关。以下查询示例计算与TSM缓存相关的各种有用测量。

SELECT
     max(cacheAgeMs) / 1000.000 AS CacheAgeSeconds,
     max(memBytes) AS MaxMemBytes, max(diskBytes) AS MaxDiskBytes,
     max(snapshotCount) AS MaxSnapShotCount,
     (last(cachedBytes) - first(cachedBytes)) / (last(WALCompactionTimeMs) - first(WALCompactionTimeMs)) - 1000.000 AS CompactedBytesPerSecond,
     last(cachedBytes) AS CachedBytes,
     (last(cachedBytes) - first(cachedBytes))/300 as CacheThroughputBytesPerSecond
FROM _internal.monitor.tsm1_cache
WHERE time > now() - 1h
GROUP BY time(5m), path

cacheAgeMs

自上次在样本时间快照缓存以来经过的毫秒数。此统计信息指示缓存的工作量。大数字表示缓存相对于写入是空闲的。

cachedBytes

已写入快照的总字节数。此统计信息在创建快照时更新。此统计信息的目的是允许计算任意两个时间实例之间的缓存吞吐量。此统计信息的两个样本之间的差值与样本间隔的比率是缓存吞吐量的度量(更准确地说,是数据快照的速率)。当与 diskBytesmemBytes 统计信息结合使用时,还可以用来计算数据进入缓存和从缓存中清除的速率。如果输入速率超过了一段时间内的输出速率,则需要解决的问题。

diskBytes

磁盘快照的大小(以字节为单位)。

memBytes

内存缓存的大小(以字节为单位)。

snapshotCount

当前活动快照的级别(数字)。在健康的系统中,此数字应在0到1之间。可能遇到临时写入错误系统的此数字可能会上升。

WALCompactionTimeMs

在压缩快照时保持提交锁的时间(以毫秒为单位)。表达式 (cachedBytes - diskBytes) / WALCompactionTime 提供了WAL日志提交到TSM文件速度的指示。区间开始和结束“WALCompactionTime”值之间的差值与区间长度的比率提供了对最大缓存吞吐量消耗量的指示。

writeDropped

由于超时而丢弃的写入总数。

writeErr

失败的写入总数。

writeOk

成功的写入总数。


tsm1_engine

与压缩块一起使用的TSM存储引擎的 tsm1_engine 测量统计信息。

cacheCompactionDuration

在缓存压缩中花费的持续时间(墙时间),以纳秒为单位。

cacheCompactionErr

由于错误而失败的缓存压缩次数。

cacheCompactions

已运行的缓存压缩总次数。

cacheCompactionsActive

当前正在运行的缓存压缩次数。

tsmFullCompactionDuration

在完全压缩中花费的持续时间(墙时间),以纳秒为单位。

tsmFullCompactionErr

由于错误而失败的TSM完全压缩总次数。

tsmFullCompactionQueue

当前挂起的TSM完全压缩数。

tsmFullCompactions

已运行的TSM完全压缩总次数。

tsmFullCompactionsActive

当前正在运行的TSM完全压缩数。

tsmLevel1CompactionDuration

在TSM级别1压缩中花费的持续时间(墙时间),以纳秒为单位。

tsmLevel1CompactionErr

由于错误而失败的TSM级别1压缩总次数。

tsmLevel1CompactionQueue

当前挂起的TSM级别1压缩数。

tsmLevel1Compactions

已运行的TSM级别1压缩总次数。

tsmLevel1CompactionsActive

当前正在运行的TSM级别1压缩数。

tsmLevel2CompactionDuration

在TSM级别2压缩中花费的持续时间(墙时间),以纳秒为单位。

tsmLevel2CompactionErr

由于错误而失败的TSM级别2压缩次数。

tsmLevel2CompactionQueue

当前挂起的TSM级别2压缩数。

tsmLevel2Compactions

已运行的TSM级别2压缩总次数。

tsmLevel2CompactionsActive

当前正在运行的TSM级别2压缩数。

tsmLevel3CompactionDuration

在TSM级别3压缩中花费的持续时间(墙时间),以纳秒为单位。

tsmLevel3CompactionErr

由于错误而失败的TSM级别3压缩次数。

tsmLevel3CompactionQueue

当前挂起的TSM级别3压缩数。

tsmLevel3Compactions

已运行的TSM级别3压缩总次数。

tsmLevel3CompactionsActive

当前正在运行的TSM级别3压缩数。

tsmOptimizeCompactionDuration

在TSM优化压缩期间花费的持续时间(墙时间),以纳秒为单位。

tsmOptimizeCompactionErr

由于错误而失败的TSM优化压缩总次数。

tsmOptimizeCompactionQueue

当前待处理的TSM优化压缩次数。

tsmOptimizeCompactions

已运行过的TSM优化压缩总数。

tsmOptimizeCompactionsActive

当前正在运行的TSM优化压缩次数。


tsm1_filestore

tsm1_filestore测量统计数据与TSM文件存储的使用相关。

diskBytes

TSM文件存储使用的磁盘空间大小(以字节为单位)。

numFiles

TSM文件存储中的文件总数。


tsm1_wal

tsm1_wal测量统计数据与TSM写入前日志(WAL)的使用相关。

currentSegmentDiskBytes

当前段磁盘的大小(以字节为单位)。

oldSegmentDiskBytes

段磁盘的大小(以字节为单位)。

writeErr

由于错误而失败的写入次数。

writeOK

成功的写入次数。


write

write测量统计数据是关于数据节点的写入,无论写入来源。

pointReq

请求写入此数据节点的每个点的总数。入站写入在到达此点之前必须通过几个检查(点解析正确、提供正确的身份验证等)。在这些检查之后,无论来源(HTTP、UDP、_internal统计、OpenTSDB插件等),此统计信息都应该增加。

pointReqHH(仅限企业版)

此节点收到的写入点的总数,然后入队到目标节点的hinted handoff。

pointReqLocal(仅限企业版)

尝试写入同一(本地)节点上的分片上的点请求总数。

pointReqRemote(仅限企业版)

此节点收到的写入点的总数,但需要转发到远程节点上的分片。在远程写入尝试之前立即增加pointReqRemote统计信息,这仅在不存在该节点的HH时发生。然后如果写入尝试失败,我们再次检查HH是否存在,如果存在,则将点添加到HH。
此统计信息不区分直接写入目标节点或将入队到目标节点hinted handoff队列的请求。

pointsWrittenOK

写入HTTP /write端点并成功持久化的点的数量。

req

请求写入此节点的点的批次数总数。

subWriteDrop

未能发送到订阅分配器的点的批次数总数。

subWriteOk

成功发送到订阅分配器的点的批次数总数。

valuesWrittenOK

写入HTTP /write端点并成功持久化的值(字段)数量。

writeDrop

由于时间戳不匹配任何现有保留策略而丢弃的点的写入请求总数。

writeError

由于无法写入本地或远程分片而未能成功写入的点的批次数总数。

writeOk

以请求的一致性级别写入的点的批次数总数。

writePartial(仅限企业版)

至少写入一个节点但未达到请求一致性级别的点的批次数总数。

writeTimeout

在默认写入超时时间内未能完成的写入请求总数。这可能表明远程节点到远程节点的磁盘I/O严重减少或竞争激烈,或者网络拥塞。对于通过HTTP或其他输入方法传入的单个写入请求,如果整个批次在超时期内未全部写入,则无论批内的点是否可以本地或远程写入,writeTimeout都将增加1。


这个页面有帮助吗?

感谢您的反馈!


Flux 的未来

Flux 正进入维护模式。您可以在不修改代码的情况下继续像现在一样使用它。

阅读更多

InfluxDB v3 增强功能和 InfluxDB 集群版现已正式发布

新功能包括更快的查询性能和管理工具,推动 InfluxDB v3 产品线的进步。InfluxDB 集群版现已正式发布。

InfluxDB v3 性能和功能

InfluxDB v3 产品线在查询性能方面取得了显著提升,并提供了新的管理工具。这些增强包括一个操作仪表板来监控您的 InfluxDB 集群的健康状况,InfluxDB Cloud 专用版中的单点登录(SSO)支持,以及新的令牌和数据库管理 API。

了解新的 v3 增强功能


InfluxDB 集群版正式发布

InfluxDB 集群版现已正式发布,并为您在自管理的堆栈中提供了 InfluxDB v3 的功能。

与我们谈论 InfluxDB 集群版