search
数据采集 采集源配置 druid 指标采集

druid 指标采集

简介

采集 druid 数据指标上报到 DataFlux 中。

前置条件

配置

druid 开启指标功能

druid 服务细分了多个启动程序,例如 apache-druid-XXX/bin/XXX为版本号)目录下的 start-micro-quickstartstart-nano-quickstart 等,每个启动程序都有独立的配置目录。

本文以运行 start-micro-quickstart 为例

其执行程序所在路径为 apache-druid-XXX/bin/start-micro-quickstart

需要修改的配置文件所在路径为apache-druid-XXX/conf/druid/single-server/micro-quickstart/_common/common.runtime.properties(注意第 5 项的 micro-quickstart

在大概位于第 120 行的 Monitoring 下方,添加修改参数:

#
# Monitoring
#
druid.monitoring.emissionPeriod=PT10s
druid.monitoring.monitors=["org.apache.druid.java.util.metrics.JvmMonitor"]
druid.emitter=http
druid.emitter.http.flushMillis=10000
druid.emitter.http.recipientBaseUrl=http://127.0.0.1:9529/druid

参数解析:

  • druid.monitoring.emissionPeriod:数据上报频率
  • druid.monitoring.monitors:监控项,具体参数选项可查看 官方文档 链接中的Property/druid.monitoring.monitors,datakit 采集到的数据条目跟此参数相关。
  • druid.emitter:数据上报方式,需要配置为 http
  • druid.emitter.http.flushMillis:消息缓冲区刷新频率,单位是毫秒
  • druid.emitter.http.recipientBaseUrl:数据接收端 url,即 datakit 配置的 http 地址和 druid path,例如 http://127.0.0.1:9529/druid

此外,还可以修改位于第 37 行的 host 参数,datakit 会将此参数补充到 tags

druid.host=datakit_druid

运行 start-micro-quickstart 程序,需要等待 20 秒左右程序才会启动完毕。

配置 datakit

进入 DataKit 安装目录下的 conf.d/druid 目录,复制 druid.conf.sample 并命名为 druid.conf。示例配置及说明如下:

[inputs.druid]
    # 用以接收 druid 数据的 http path
    path = "/druid"

    # 自定义 tags
    # [inputs.druid.tags]
    # tags1 = "tags1"
  • 如上配置,DataKit 会开启 HTTP 服务器并注册 /druid 路由,用以接收 druid 服务所发送过来的指标数据
  • 如有多个 druid 服务,建议区分 path,注意不要跟其他采集器的 path 冲突
  • HTTP 服务器监听的 ip 和端口在 datakit.conf 中配置,默认为 0.0.0.0:9529

采集指标

指标 描述 单位
druid.query.time 完成查询所花费的毫秒数 Shown as millisecond
druid.query.bytes 查询响应中返回的字节数。 Shown as byte
druid.query.node.time 查询单个历史/实时过程所花费的毫秒数。 Shown as millisecond
druid.query.node.ttfb 到第一个字节的时间,直到Broker开始从各个历史/实时流程接收响应之前,耗费的时间。 Shown as millisecond
druid.query.node.bytes 查询单个历史/实时进程返回的字节数。 Shown as byte
druid.query.intervalChunk.time 仅在启用间隔分块时才发出,查询间隔块所需的毫秒数。该度量标准已被弃用 Shown as millisecond
druid.query.segment.time 查询单个段所花费的毫秒数,在磁盘中的段中包括翻页时间。 Shown as millisecond
druid.query.wait.time 等待要扫描的段所花费的毫秒数。 Shown as millisecond
druid.query.segmentAndCache.time 查询单个段或命中缓存所花费的毫秒数(如果已在“历史记录”进程中启用了该记录)。 Shown as millisecond
druid.query.cpu.time 完成查询所用的CPU时间。 Shown as microsecond
druid.query.count 总查询数。 Shown as query
druid.query.success.count 成功处理的查询数。 Shown as query
druid.query.failed.count 查询失败的数量。 Shown as query
druid.query.cache.delta.numEntries 缓存条目的增量数量。
druid.query.cache.delta.sizeBytes 缓存条目的增量大小。 Shown as byte
druid.query.cache.delta.hits 缓存命中的增量数量。 Shown as hit
druid.query.cache.delta.misses 缓存未命中的增量数量。 Shown as miss
druid.query.cache.delta.evictions 缓存逐出的增量数量。 Shown as eviction
druid.query.cache.delta.hitRate 增量缓存命中率。 Shown as fraction
druid.query.cache.delta.averageBytes Delta平均高速缓存条目字节大小。 Shown as byte
druid.query.cache.delta.timeouts 缓存超时的增量数量。
druid.query.cache.delta.errors 缓存错误的增量数量。
druid.query.cache.total.numEntries 缓存条目的总数。
druid.query.cache.total.sizeBytes 高速缓存条目的总大小。 Shown as byte
druid.query.cache.total.hits 高速缓存命中总数。 Shown as hit
druid.query.cache.total.misses 高速缓存未命中总数。 Shown as miss
druid.query.cache.total.evictions 缓存逐出的总数。 Shown as eviction
druid.query.cache.total.hitRate 总缓存命中率。 Shown as fraction
druid.query.cache.total.averageBytes 总平均缓存条目字节大小。 Shown as byte
druid.query.cache.total.timeouts 缓存超时总数。
druid.query.cache.total.errors 缓存错误总数。
druid.ingest.events.thrownAway 由于它们在windowPeriod之外而被拒绝的事件数。 Shown as event
druid.ingest.events.unparseable 由于事件不可解析而被拒绝的事件数。 Shown as event
druid.ingest.events.processed 每个发射周期成功处理的事件数。 Shown as event
druid.ingest.rows.output 持续存在的德鲁伊行数。 Shown as row
druid.ingest.persists.count 持续发生的次数。
druid.ingest.persists.time 进行中间操作花费的毫秒数持续存在。 Shown as millisecond
druid.ingest.persists.cpu 持续进行中间操作所花费的CPU时间。 Shown as nanosecond
druid.ingest.persists.backPressure 创建持久性任务并阻止等待它们完成所花费的毫秒数。 Shown as millisecond
druid.ingest.persists.failed 失败的持久化次数。
druid.ingest.handoff.failed 失败的切换次数。
druid.ingest.merge.time 合并中间段所花费的毫秒数。 Shown as millisecond
druid.ingest.merge.cpu 合并中间段所花费的CPU时间。 Shown as nanosecond
druid.ingest.events.processed
druid.ingest.events.buffered 在冲区中排队的事件数。 Shown as event
druid.task.run.time 运行任务花费的毫秒数。 Shown as millisecond
druid.segment.added.bytes 创建的新段的大小。 Shown as byte
druid.segment.moved.bytes 通过移动任务移动/归档的段的大小。 Shown as byte
druid.segment.nuked.bytes 通过Kill Task删除的段的大小。 Shown as byte
druid.segment.assigned.count 分配要在集群中加载的段数。 Shown as segment
druid.segment.moved.count 集群中移动的段数。 Shown as segment
druid.segment.dropped.count 段数由于被遮盖而下降。 Shown as segment
druid.segment.deleted.count 由于规则而删除的细分数。 Shown as segment
druid.segment.scan.pending 队列中等待扫描的段数。 Shown as unit
druid.segment.unneeded.count 由于标记为未使用而丢弃的段数。 Shown as segment
druid.segment.unavailable.count 直到应该在集群中加载的段可供查询之前,要加载的段(不包括副本)的数量。 Shown as segment
druid.segment.underReplicated.count 直到应该在集群中加载的段可供查询之前,要加载的段(包括副本)的数量。 Shown as segment
druid.segment.cost.raw 用于成本平衡。托管细分的原始费用。
druid.segment.cost.normalization 用于成本平衡。托管细分的标准化。
druid.segment.cost.normalized 用于成本平衡。托管细分的标准化费用。
druid.segment.loadQueue.size 要加载的段的字节大小。 Shown as byte
druid.segment.loadQueue.failed 加载失败的段数。 Shown as segment
druid.segment.loadQueue.count 要加载的段数。 Shown as segment
druid.segment.dropQueue.count 要删除的段数。 Shown as segment
druid.segment.size 可用段的大小。 Shown as byte
druid.segment.overShadowed.count 阴影段的数量。 Shown as segment
druid.segment.max 段可用的最大字节数限制。 Shown as byte
druid.segment.used 用于投放细分的字节。 Shown as byte
druid.segment.Count
druid.segment.usedPercent 投放的细分受众群使用的空间百分比。 Shown as fraction
druid.jvm.pool.committed 已提交的池。 Shown as byte
druid.jvm.pool.init 初始池数。 Shown as byte
druid.jvm.pool.max 最大池数。 Shown as byte
druid.jvm.pool.used 池使用的字节数。 Shown as byte
druid.jvm.bufferpool.count 缓冲池计数。 Shown as byte
druid.jvm.bufferpool.used 缓冲池使用的字节数。 Shown as byte
druid.jvm.bufferpool.capacity 缓冲池容量。 Shown as byte
druid.jvm.mem.init 初始内存。 Shown as byte
druid.jvm.mem.max 最大内存。 Shown as byte
druid.jvm.mem.used 已用内存。 Shown as byte
druid.jvm.mem.committed 承诺的内存。 Shown as byte
druid.jvm.gc.count 垃圾回收计数。
druid.jvm.gc.cpu 在垃圾收集上花费的CPU时间。 Shown as nanosecond
druid.sys.swap.free 可用字节交换。 Shown as byte
druid.sys.swap.max 最大交换数。 Shown as byte
druid.sys.swap.pageIn 分页交换。 Shown as page
druid.sys.swap.pageOut 分页掉交换。 Shown as page
druid.sys.disk.write.count 写入磁盘总数。 Shown as write
druid.sys.disk.read.count 从磁盘读取总数。 Shown as read
druid.sys.disk.write.size 写入磁盘的字节。 Shown as byte
druid.sys.disk.read.size 从磁盘读取的字节。 Shown as byte
druid.sys.net.write.size 写入网络的字节。 Shown as byte
druid.sys.net.read.size 从网络读取的字节。 Shown as byte
druid.sys.fs.used 文件系统使用的字节数。 Shown as byte
druid.sys.fs.max 文件系统的字节上限 Shown as byte
druid.sys.mem.used 已使用的内存。 Shown as byte
druid.sys.mem.max 最大内存字节数 Shown as byte
druid.sys.storage.used 使用的磁盘空间字节数。 Shown as byte
druid.sys.cpu 使用的CPU占比。 Shown as percent
druid.coordinator.segment.count 协调器段数。 Shown as segment
druid.historical.segment.count 历史细分数。 Shown as segment
druid.jetty.numopenconnections