Skip to main content

监控 Apache IoTDB 物联网时序数据库

对 Apache IoTDB 物联网时序数据库的运行状态(JVM相关),内存任务集群等相关指标进行监测。

监控前操作

您需要在 IoTDB 开启metrics功能,他将提供 prometheus metrics 形式的接口数据。

开启metrics功能, 参考 官方文档

主要如下步骤:

  1. metric 采集默认是关闭的,需要先到 conf/iotdb-metric.yml 中修改参数打开后重启 server
# 是否启动监控模块,默认为false
enableMetric: true

# 是否启用操作延迟统计
enablePerformanceStat: false

# 数据提供方式,对外部通过jmx和prometheus协议提供metrics的数据, 可选参数:[JMX, PROMETHEUS, IOTDB],IOTDB是默认关闭的。
metricReporterList:
- JMX
- PROMETHEUS

# 底层使用的metric架构,可选参数:[MICROMETER, DROPWIZARD]
monitorType: MICROMETER

# 初始化metric的级别,可选参数: [CORE, IMPORTANT, NORMAL, ALL]
metricLevel: IMPORTANT

# 预定义的指标集, 可选参数: [JVM, LOGBACK, FILE, PROCESS, SYSTEM]
predefinedMetrics:
- JVM
- FILE
  1. 重启 IoTDB, 打开浏览器或者用curl 访问 http://ip:9091/metrics, 就能看到metric数据了。

  2. 在 HertzBeat 添加对应 IoTDB 监控即可。

配置参数

参数名称参数帮助描述
监控Host被监控的对端IPV4,IPV6或域名。注意⚠️不带协议头(eg: https://, http://)。
任务名称标识此监控的名称,名称需要保证唯一性。
端口IoTDB指标接口对外提供的端口,默认为9091。
超时时间HTTP请求查询超时时间
采集间隔监控周期性采集数据间隔时间,单位秒,可设置的最小间隔为30秒
是否探测新增监控前是否先探测检查监控可用性,探测成功才会继续新增修改操作
描述备注更多标识和描述此监控的备注信息,用户可以在这里备注信息

采集指标

指标集合:cluster_node_status

指标名称指标单位指标帮助描述
name节点名称IP
status节点状态,1=online 2=offline

指标集合:jvm_memory_committed_bytes

指标名称指标单位指标帮助描述
areaheap内存或nonheap内存
id内存区块
valueMB当前向JVM申请的内存大小

指标集合:jvm_memory_used_bytes

指标名称指标单位指标帮助描述
areaheap内存或nonheap内存
id内存区块
valueMBJVM已使用内存大小

指标集合:jvm_threads_states_threads

指标名称指标单位指标帮助描述
state线程状态
count线程状态对应线程数量

指标集合:quantity 业务数据

指标名称指标单位指标帮助描述
name业务名称 timeSeries/storageGroup/device/deviceUsingTemplate
type类型 total/normal/template/template
value当前时间timeSeries/storageGroup/device/激活了模板的device的数量

指标集合:cache_hit 缓存

指标名称指标单位指标帮助描述
name缓存名称 chunk/timeSeriesMeta/bloomFilter
value%chunk/timeSeriesMeta缓存命中率,bloomFilter拦截率

指标集合:queue 任务队列

指标名称指标单位指标帮助描述
name队列名称 compaction_inner/compaction_cross/flush
status状态 running/waiting
value当前时间任务数

指标集合:thrift_connections

指标名称指标单位指标帮助描述
name名称
connectionthrift当前连接数