Pulsar Metrics

Pulsar 以 Prometheus 的格式暴露如下度量值。 你可以用这些度量值监视你的集群。

可以使用下列类型的度量值:

  • Counter: 累计度量,代表一个单调递增的计数器。 值默认会增加。 你可以将值重置为零或重新启动你的集群。
  • Gauge: 本指标代表一个可以随意增加或减少的数值。
  • Histogram: 直方图样本观测 (通常是请求持续时间和响应大小) ,并将它们计入可配置的 bucket 中。 _bucket 后缀是用参数 {le="< upper inclusive bound>"} 配置的直方图桶内的观察次数。 _count 后缀是以时间序列显示的观察次数,其行为就像计数器。 _sum 后缀是观察到的值的总量,也作为时间序列显示并像计数器一样。 这些后缀由 _* 在本文档中指明。
  • Summary: 与直方图类似的总结样本观察 (通常是请求持续时间和响应大小)。 但它同时也提供了总观测次数以及所有观测值的总和,它会在滑动的时间窗口上计算可配置的分位数。

ZooKeeper

ZooKeeper 度量值会暴露在端口 8000 的 “/metrics”下。 您可以通过conf/zookeeper.conf配置 metricsProvider.httpPort 来使用另一个端口。

ZooKeeper 从 3.6.0 开始提供了一个新的 Metrics System,更详细的指标可以参考 ZooKeeper Monitor Guide

BookKeeper

BookKeeper 度量值会暴露在端口 8000 的”/metrics”下。 你可以通过更新 bookkeeper.conf 配置文件中的 prometheusStatsHttpPort 来更改端口。

服务器度量值

配置项类型说明
bookie_SERVER_STATUS计量表bookie 服务器的服务状态。
  • 1: bookie 正运行于可写入模式。
  • 0: bookie 正运行于只读模式。
bookkeeper_server_ADD_ENTRY_count计数器The total number of ADD_ENTRY requests received at the bookie. success 标签会被用于区分成功与失败。
bookkeeper_server_READ_ENTRY_count计数器The total number of READ_ENTRY requests received at the bookie. success 标签会被用于区分成功与失败。
bookie_WRITE_BYTES计数器The total number of bytes written to the bookie.
bookie_READ_BYTES计数器The total number of bytes read from the bookie.
bookkeeper_server_ADD_ENTRY_REQUEST总结The summary of request latency of ADD_ENTRY requests at the bookie. success 标签会被用于区分成功与失败。
bookkeeper_server_READ_ENTRY_REQUEST总结The summary of request latency of READ_ENTRY requests at the bookie. success 标签会被用于区分成功与失败。

日志度量值

配置项类型说明
bookie_journal_JOURNAL_SYNC_count计数器bookie 中日志 fsync 操作的总次数。 success 标签会被用于区分成功与失败。
bookie_journal_JOURNAL_QUEUE_SIZE计量表日志队列中待处理的请求总数。
bookie_journal_JOURNAL_FORCE_WRITE_QUEUE_SIZE计量表在强制写入队列中等待的强制写入 (fsync) 请求总数。
bookie_journal_JOURNAL_CB_QUEUE_SIZE计量表回调队列中待处理的回调总数。
bookie_journal_JOURNAL_ADD_ENTRY总结在日志中添加条目的请求延迟的总数。
bookie_journal_JOURNAL_SYNC总结同步数据到日志磁盘的 fsync 延迟的总数。

存储度量值

配置项类型说明
bookie_ledgers_count计量表bookie 中存储的 ledger 总数。
bookie_entries_count计量表bookie 中存储的条目总数。
bookie_write_cache_size计量表bookie 的写缓存大小(以字节为单位)。
bookie_read_cache_size计量表bookie 的读缓存大小(以字节为单位)。
bookie_DELETED_LEDGER_COUNT计数器bookie 被启动以来被删除的 ledger 总数。
bookie_ledger_writable_dirs计量表bookie 中可写入目录的数量。

Broker

broker 度量值会暴露在端口 8080 的”/metrics”下。 你可以通过更新 broker.conf 配置文件中的 webServicePort 来更改端口。

broker 暴露的所有度量值会带有 cluster=${pulsar_cluster} 标签。 Pulsar 集群的名称是 ${pulsar_cluster} 的值,也就是你在 broker.conf 文件中所设置的。

如下的度量值对 broker 可用:

命名空间度量值

命名空间度量值只有在 exposeTopicLevelMetricsInPrometheus 被设为 false 时才暴露。

所有命名空间度量值都带有以下标签:

  • cluster: cluster=${pulsar_cluster}. ${pulsar_cluster} 就是你在 broker.conf 中配置的集群名称。
  • namespace: namespace=${pulsar_namespace}. ${pulsar_namespace} 是命名空间名称。
配置项类型说明
pulsartopics_count计量表命名空间下由此 broker 拥有的 Pulsar 主题数。
pulsar_subscriptions_count计量表命名空间下由此 broker 服务的 Pulsar 订阅数。
pulsar_producers_count计量表命名空间下连接到此 broker 的活动生产者数。
pulsar_consumers_count计量表命名空间下连接到此 broker 的活动消费者数。
pulsar_rate_in计量表命名空间下的所有消息进入此 broker 的频率(消息/秒)。
pulsar_rate_out计量表命名空间下的所有消息从此 broker 发出的频率(消息/秒)。
pulsar_throughput_in计量表命名空间下数据进入此 broker 的总吞吐量(字节/秒)。
pulsar_throughput_out计量表命名空间下数据由此 broker 发出的总吞吐量(字节/秒)。
pulsar_storage_size计量表命名空间下由此 broker 拥有的主题的总存储大小 (字节)。
pulsar_storage_backlog_size计量表命名空间下由此 broker 拥有的总积压大小 (消息)。
pulsar_storage_offloaded_size计量表此命名空间中已卸载到层级存储的数据总量(字节)。
pulsar_storage_write_rate计量表此命名空间写入到存储的总消息批处理(条目)数 (消息批处理/秒)。
pulsar_storage_read_rate计量表此命名空间从存储中读取的总消息批处理(条目)数 (消息批处理/秒)。
pulsar_subscription_delayed计量表被延迟派发的总消息批处理(条目)数。
pulsar_storage_write_latency_le直方图The entry rate of a namespace that the storage write latency is smaller with a given threshold.
可用的阈值:
  • pulsarstorage_write_latency_le_0_5: <= 0.5ms
  • pulsar_storage_write_latency_le_1: <= 1ms
  • pulsar_storage_write_latency_le_5: <= 5ms
  • pulsar_storage_write_latency_le_10: <= 10ms
  • pulsar_storage_write_latency_le_20: <= 20ms
  • pulsar_storage_write_latency_le_50: <= 50ms
  • pulsar_storage_write_latency_le_100: <= 100ms
  • pulsar_storage_write_latency_le_200: <= 200ms
  • pulsar_storage_write_latency_le_1000: <= 1s
  • pulsar_storage_write_latency_le_overflow: > 1s
pulsar_entry_size_le直方图The entry rate of a namespace that the entry size is smaller with a given threshold.
Available thresholds:
  • pulsar_entry_size_le_128: <= 128 bytes
  • pulsar_entry_size_le_512: <= 512 bytes
  • pulsar_entry_size_le_1_kb: <= 1 KB
  • pulsar_entry_size_le_2_kb: <= 2 KB
  • pulsar_entry_size_le_4_kb: <= 4 KB
  • pulsar_entry_size_le_16_kb: <= 16 KB
  • pulsar_entry_size_le_100_kb: <= 100 KB
  • pulsar_entry_size_le_1_mb: <= 1 MB
  • pulsar_entry_size_le_overflow: > 1 MB

复制度量值

如果一个命名空间被配置为在多个Pulsar集群中复制,当replicationMetricsEnabled 启用时,相应的复制度量值也会暴露出来。

所有的复制度量值也带有 remoteCluster=${pulsar_remote_cluster} 标签。

配置项类型说明
pulsar_replication_rate_in计量表命名空间从远程集群进行复制的总消息频率(消息/秒)。
pulsar_replication_rate_out计量表命名空间复制到远程集群的总消息频率(消息/秒)。
pulsar_replication_throughput_in计量表命名空间从远程集群进行复制的总吞吐量(字节/秒)。
pulsar_replication_throughput_out计量表命名空间复制到远程集群的总吞吐量(字节/秒)。
pulsar_replication_backlog计量表命名空间复制到远程集群的总积压量(消息)。
pulsar_replication_rate_expired计量表消息过期总速率(消息/秒)。
pulsar_replication_connected_count计量表复制-订阅者的数量,正在运行以复制到远程集群。
pulsar_replication_delay_in_seconds计量表消息从生产到即将复制的时间(秒为单位)

主题度量值

主题度量值只有在 exposeTopicLevelMetricsInPrometheus 被设为 true 时才暴露。

所有主题度量值都带有以下标签:

  • cluster: cluster=${pulsar_cluster}. ${pulsar_cluster} 就是你在 broker.conf 中配置的集群名称。
  • namespace: namespace=${pulsar_namespace}. ${pulsar_namespace} 是命名空间名称。
  • topic: topic=${pulsar_topic}. ${pulsar_topic} 是主题名。
配置项类型说明
pulsarsubscriptions_count计量表主题下由此 broker 服务的 Pulsar 订阅数。
pulsar_producers_count计量表主题下连接到此 broker 的活动生产者数。
pulsar_consumers_count计量表主题下连接到此 broker 的活动消费者数。
pulsar_rate_in计量表主题下的所有消息进入此 broker 的频率(消息/秒)。
pulsar_rate_out计量表主题下的所有消息从此 broker 发出的频率(消息/秒)。
pulsar_throughput_in计量表主题下数据进入此 broker 的总吞吐量(字节/秒)。
pulsar_throughput_out计量表主题下数据由此 broker 发出的总吞吐量(字节/秒)。
pulsar_storage_size计量表主题下由此 broker 拥有的主题的总存储大小 (字节)。
pulsar_storage_backlog_size计量表主题下由此 broker 拥有的总积压大小 (消息)。
pulsar_storage_offloaded_size计量表此主题中已卸载到层级存储的数据总量(字节)。
pulsar_storage_backlog_quota_limit计量表此主题中限制积压定额的数据总量(字节)。
pulsar_storage_write_rate计量表此主题写入到存储的总消息批处理(条目)数 (消息批处理/秒)。
pulsar_storage_read_rate计量表此主题从存储中读取的总消息批处理(条目)数 (消息批处理/秒)。
pulsar_subscription_delayed计量表被延迟派发的总消息批处理(条目)数。
pulsar_storage_write_latency_le直方图The entry rate of a topic that the storage write latency is smaller with a given threshold.
可用的阈值:
  • pulsarstorage_write_latency_le_0_5: <= 0.5ms
  • pulsar_storage_write_latency_le_1: <= 1ms
  • pulsar_storage_write_latency_le_5: <= 5ms
  • pulsar_storage_write_latency_le_10: <= 10ms
  • pulsar_storage_write_latency_le_20: <= 20ms
  • pulsar_storage_write_latency_le_50: <= 50ms
  • pulsar_storage_write_latency_le_100: <= 100ms
  • pulsar_storage_write_latency_le_200: <= 200ms
  • pulsar_storage_write_latency_le_1000: <= 1s
  • pulsar_storage_write_latency_le_overflow: > 1s
pulsar_entry_size_le直方图The entry rate of a topic that the entry size is smaller with a given threshold.
Available thresholds:
  • pulsar_entry_size_le_128: <= 128 bytes
  • pulsar_entry_size_le_512: <= 512 bytes
  • pulsar_entry_size_le_1_kb: <= 1 KB
  • pulsar_entry_size_le_2_kb: <= 2 KB
  • pulsar_entry_size_le_4_kb: <= 4 KB
  • pulsar_entry_size_le_16_kb: <= 16 KB
  • pulsar_entry_size_le_100_kb: <= 100 KB
  • pulsar_entry_size_le_1_mb: <= 1 MB
  • pulsar_entry_size_le_overflow: > 1 MB
pulsar_in_bytes_total计数器The total number of bytes received for this topic
pulsar_in_messages_total计数器The total number of messages received for this topic
pulsar_out_bytes_total计数器The total number of bytes read from this topic
pulsar_out_messages_total计数器The total number of messages read from this topic

复制度量值

如果主题所属的命名空间被配置为在多个Pulsar集群中复制,当replicationMetricsEnabled 启用时,相应的复制度量值也会暴露出来。

所有的复制度量值带有 remoteCluster=${pulsar_remote_cluster} 标签。

配置项类型说明
pulsar_replication_rate_in计量表主题从远程集群进行复制的总消息频率(消息/秒)。
pulsar_replication_rate_out计量表主题复制到远程集群的总消息频率(消息/秒)。
pulsar_replication_throughput_in计量表主题从远程集群进行复制的总吞吐量(字节/秒)。
pulsar_replication_throughput_out计量表主题复制到远程集群的总吞吐量(字节/秒)。
pulsar_replication_backlog计量表主题复制到远程集群的总积压量(消息)。

ManagedLedgerCache 度量值

所有 ManagedLedgerCache 度量值都带有以下标签:

  • 集群: cluster=${pulsar_cluster}。 ${pulsar_cluster} 就是你在 broker.conf 中配置的集群名称。
配置项类型说明
pulsar_ml_cache_evictions计量表在过去 1 分钟内的缓存驱逐数。
pulsar_ml_cache_hits_rate计量表每秒缓存命中数。
pulsar_ml_cache_hits_throughput计量表从缓存中取出的数据量,以字节/秒为单位
pulsar_ml_cache_misses_rate计量表每秒缓存失效数
pulsar_ml_cache_misses_throughput计量表从缓存中取出的数据量,以字节/秒为单位
pulsar_ml_cache_pool_active_allocations计量表直接场地(direct arena)中当前活动的分配数
pulsar_ml_cache_pool_active_allocations_huge计量表直接场地(direct arena)中当前活动的大型(huge)分配数
pulsar_ml_cache_pool_active_allocations_normal计量表直接场地(direct arena)中当前活动的正常(normal)分配数
pulsar_ml_cache_pool_active_allocations_small计量表直接场地(direct arena)中当前活动的小型(small)分配数
pulsar_ml_cache_pool_active_allocations_tiny计量表直接场地(direct arena)中当前活动的超小型(tiny)分配数
pulsar_ml_cache_pool_allocated计量表直接场地(direct arena)中为 chunk 列表分配的总内存
pulsar_ml_cache_pool_used计量表直接场地(direct arena)中 chunk 列表使用的总内存
pulsar_ml_cache_used_size计量表用于存储条目负载的字节大小
pulsar_ml_count计量表当前打开的托管 ledger 数量。

ManagedLedger 度量值

所有 managedLedger 度量值都带有以下标签:

  • 集群: cluster=${pulsar_cluster}。 ${pulsar_cluster} 就是你在 broker.conf 中配置的集群名称。
  • 命名空间: namespace=${pulsar_namespace}。 ${pulsar_namespace} 是命名空间名称。
  • 分位数: quantile=${quantile}. 分位数是只提供给 直方图 的类型度量值,代表了给定 Bucket 的阈值。
配置项类型说明
pulsar_ml_AddEntryBytesRate计量表添加消息的字节/秒频率
pulsar_ml_AddEntryErrors计量表失败的 addEntry 请求数
pulsar_ml_AddEntryLatencyBuckets直方图The latency of adding a ledger entry with a given quantile (threshold), including time spent on waiting in queue on the broker side
Available quantile:
  • quantile=”0.0_0.5” 是 AddEntryLatency 介于 (0.0ms, 0.5ms]
  • quantile=”0.5_1.0” 是 AddEntryLatency 介于 (0.5ms, 1.0ms]
  • quantile=”1.0_5.0” 是 AddEntryLatency 介于 (1ms, 5ms]
  • quantile=”5.0_10.0” 是 AddEntryLatency 介于 (5ms, 10ms]
  • quantile=”10.0_20.0” 是 AddEntryLatency 介于 (10ms, 20ms]
  • quantile=”20.0_50.0” 是 AddEntryLatency 介于 (20ms, 50ms]
  • quantile=”50.0_100.0” 是 AddEntryLatency 介于 (50ms, 100ms]
  • quantile=”100.0_200.0” 是 AddEntryLatency 介于 (100ms, 200ms]
  • quantile=”200.0_1000.0” 是 AddEntryLatency 介于 (200ms, 1s]
pulsar_ml_AddEntryLatencyBuckets_OVERFLOW计量表The number of times the AddEntryLatency is longer than 1 second
pulsar_ml_AddEntryMessagesRate计量表The msg/s rate of messages added
pulsar_ml_AddEntrySucceed计量表The number of addEntry requests that succeeded
pulsar_ml_EntrySizeBuckets直方图The added entry size of a ledger with a given quantile.
Available quantile:
  • quantile=”0.0_128.0” 是 EntrySize 介于 (0byte, 128byte]
  • quantile=”128.0_512.0” 是 EntrySize 介于 (128byte, 512byte]
  • quantile=”512.0_1024.0” 是 EntrySize 介于 (512byte, 1KB]
  • quantile=”1024.0_2048.0” 是 EntrySize 介于 (1KB, 2KB]
  • quantile=”2048.0_4096.0” 是 EntrySize 介于 (2KB, 4KB]
  • quantile=”4096.0_16384.0” 是 EntrySize 介于 (4KB, 16KB]
  • quantile=”16384.0_102400.0” 是 EntrySize 介于 (16KB, 100KB]
  • quantile=”102400.0_1232896.0” 是 EntrySize 介于 (100KB, 1MB]
pulsar_ml_EntrySizeBuckets_OVERFLOW计量表The number of times the EntrySize is larger than 1MB
pulsar_ml_LedgerSwitchLatencyBuckets直方图The ledger switch latency with a given quantile.
可用的分位数:
  • quantile=”0.0_0.5” 是 EntrySize 介于 (0ms, 0.5ms]
  • quantile=”0.5_1.0” 是 EntrySize 介于 (0.5ms, 1ms]
  • quantile=”1.0_5.0” 是 EntrySize 介于 (1ms, 5ms]
  • quantile=”5.0_10.0” 是 EntrySize 介于 (5ms, 10ms]
  • quantile=”10.0_20.0” 是 EntrySize 介于 (10ms, 20ms]
  • quantile=”20.0_50.0” 是 EntrySize 介于 (20ms, 50ms]
  • quantile=”50.0_100.0” 是 EntrySize 介于 (50ms, 100ms]
  • quantile=”100.0_200.0” 是 EntrySize 介于 (100ms, 200ms]
  • quantile=”200.0_1000.0” 是 EntrySize 介于 (200ms, 1000ms]
pulsar_ml_LedgerSwitchLatencyBuckets_OVERFLOW计量表The number of times the ledger switch latency is longer than 1 second
pulsar_ml_LedgerAddEntryLatencyBuckets直方图The latency for bookie client to persist a ledger entry from broker to BookKeeper service with a given quantile (threshold).
Available quantile:
  • quantile=”0.0_0.5” is LedgerAddEntryLatency between (0.0ms, 0.5ms]
  • quantile=”0.5_1.0” is LedgerAddEntryLatency between (0.5ms, 1.0ms]
  • quantile=”1.0_5.0” is LedgerAddEntryLatency between (1ms, 5ms]
  • quantile=”5.0_10.0” is LedgerAddEntryLatency between (5ms, 10ms]
  • quantile=”10.0_20.0” is LedgerAddEntryLatency between (10ms, 20ms]
  • quantile=”20.0_50.0” is LedgerAddEntryLatency between (20ms, 50ms]
  • quantile=”50.0_100.0” is LedgerAddEntryLatency between (50ms, 100ms]
  • quantile=”100.0_200.0” is LedgerAddEntryLatency between (100ms, 200ms]
  • quantile=”200.0_1000.0” is LedgerAddEntryLatency between (200ms, 1s]
pulsar_ml_LedgerAddEntryLatencyBuckets_OVERFLOW计量表The number of times the LedgerAddEntryLatency is longer than 1 second
pulsar_ml_MarkDeleteRate计量表The rate of mark-delete ops/s
pulsar_ml_NumberOfMessagesInBacklog计量表The number of backlog messages for all the consumers
pulsar_ml_ReadEntriesBytesRate计量表The bytes/s rate of messages read
pulsar_ml_ReadEntriesErrors计量表The number of readEntries requests that failed
pulsar_ml_ReadEntriesRate计量表The msg/s rate of messages read
pulsar_ml_ReadEntriesSucceeded计量表The number of readEntries requests that succeeded
pulsar_ml_StoredMessagesSize计量表The total size of the messages in active ledgers (accounting for the multiple copies stored)

托管游标确认状态的统计信息

确认状态(acknowledgment state)首先会被持久化到 ledger 中。 当确认状态无法被持久化到 ledger 中时,它们将被持久化到 ZooKeeper。 To track the stats of acknowledgment, you can configure the metrics for the managed cursor.

All the cursor acknowledgment state metrics are labelled with the following labels:

  • namespace: namespace=${pulsar_namespace}. ${pulsar_namespace} 是命名空间名称。

  • ledger_name: ledger_name=${pulsar_ledger_name}. ${pulsar_ledger_name} is the ledger name.

  • cursor_name: ledger_name=${pulsar_cursor_name}. ${pulsar_cursor_name} is the cursor name.

Name |Type |Description |—-|—-|—- brk_ml_cursor_persistLedgerSucceed(namespace=””, ledger_name=””, cursor_name:””)|Gauge|The number of acknowledgment states that is persistent to a ledger.| brk_ml_cursor_persistLedgerErrors(namespace=””, ledger_name=””, cursor_name:””)|Gauge|The number of ledger errors occurred when acknowledgment states fail to be persistent to the ledger.| brk_ml_cursor_persistZookeeperSucceed(namespace=””, ledger_name=””, cursor_name:””)|Gauge|The number of acknowledgment states that is persistent to ZooKeeper. brk_ml_cursor_persistZookeeperErrors(namespace=””, ledger_name=””, cursor_name:””)|Gauge|The number of ledger errors occurred when acknowledgment states fail to be persistent to ZooKeeper. brk_ml_cursor_nonContiguousDeletedMessagesRange(namespace=””, ledger_name=””, cursor_name:””)|Gauge|The number of non-contiguous deleted messages ranges.

LoadBalancing 度量值

所有负载均衡度量值都带有以下标签:

  • 集群: cluster=${pulsar_cluster}。 ${pulsar_cluster} 就是你在 broker.conf 中配置的集群名称。
  • broker: broker=${broker}. ${broker} 是 broker 的 IP 地址
  • 度量值: metric=”loadBalancing”。
配置项类型说明
pulsar_lb_bandwidth_in_usage计量表Broker 入站带宽使用量(百分比)。
pulsar_lb_bandwidth_out_usage计量表Broker 出站带宽使用量(百分比)。
pulsar_lb_cpu_usage计量表Broker cpu 的使用率(百分比)。
pulsar_lb_directMemory_usage计量表Broker 进程的直接内存使用量( 百分比 )
pulsar_lb_memory_usage计量表Broker 进程的内存使用量( 百分比 )

BundleUnloading 度量值

所有 bundleUnloading 度量值都带有以下标签:

  • 集群: cluster=${pulsar_cluster}。 ${pulsar_cluster} 就是你在 broker.conf 中配置的集群名称。
  • 度量值: metric=”bundleUnloading”。
配置项类型说明
pulsar_lb_unload_broker_count计数器在本次 bundle 卸载中卸载的 broker 计数
pulsar_lb_unload_bundle_count计数器在本次 bundle 卸载中卸载的 bundle 计数

BundleSplit 度量值

所有 bundleUnloading 度量值都带有以下标签:

  • 集群: cluster=${pulsar_cluster}。 ${pulsar_cluster} 就是你在 broker.conf 中配置的集群名称。
  • 度量值: metric=”bundlesSplit”。
配置项类型说明
pulsar_lb_bundles_split_count计数器在本次 bundle 切分检查中切分的 bundle 计数

Subscription metrics

订阅度量值只有在 exposeTopicLevelMetricsInPrometheus 被设为 true 时才暴露。

All the subscription metrics are labelled with the following labels:

  • cluster: cluster=${pulsar_cluster}. ${pulsar_cluster} 就是你在 broker.conf 中配置的集群名称。
  • namespace: namespace=${pulsar_namespace}. ${pulsar_namespace} 是命名空间名称。
  • topic: topic=${pulsar_topic}. ${pulsar_topic} 是主题名。
  • subscription: subscription=${subscription}. ${subscription} is the topic subscription name.
配置项类型说明
pulsar_subscription_back_log计量表The total backlog of a subscription (messages).
pulsar_subscription_delayed计量表The total number of messages are delayed to be dispatched for a subscription (messages).
pulsar_subscription_msg_rate_redeliver计量表The total message rate for message being redelivered (messages/second).
pulsar_subscription_unacked_messages计量表The total number of unacknowledged messages of a subscription (messages).
pulsar_subscription_blocked_on_unacked_messages计量表Indicate whether a subscription is blocked on unacknowledged messages or not.
  • 1 means the subscription is blocked on waiting unacknowledged messages to be acked.
  • 0 means the subscription is not blocked on waiting unacknowledged messages to be acked.
pulsar_subscription_msg_rate_out计量表The total message dispatch rate for a subscription (messages/second).
pulsar_subscription_msg_throughput_out计量表The total message dispatch throughput for a subscription (bytes/second).

Consumer metrics

消费者度量值只有当 exposeTopicLevelMetricsInPrometheusexposeConsumerLevelMetricsInPrometheus 都设为 true 时才暴露。

All the consumer metrics are labelled with the following labels:

  • cluster: cluster=${pulsar_cluster}. ${pulsar_cluster} 就是你在 broker.conf 中配置的集群名称。
  • namespace: namespace=${pulsar_namespace}. ${pulsar_namespace} 是命名空间名称。
  • topic: topic=${pulsar_topic}. ${pulsar_topic} 是主题名。
  • subscription: subscription=${subscription}. ${subscription} is the topic subscription name.
  • consumer_name: consumer_name=${consumer_name}. ${consumer_name} is the topic consumer name.
  • consumer_id: consumer_id=${consumer_id}. ${consumer_id} is the topic consumer id.
配置项类型说明
pulsar_consumer_msg_rate_redeliver计量表The total message rate for message being redelivered (messages/second).
pulsar_consumer_unacked_messages计量表The total number of unacknowledged messages of a consumer (messages).
pulsar_consumer_blocked_on_unacked_messages计量表Indicate whether a consumer is blocked on unacknowledged messages or not.
  • 1 means the consumer is blocked on waiting unacknowledged messages to be acked.
  • 0 means the consumer is not blocked on waiting unacknowledged messages to be acked.
pulsar_consumer_msg_rate_out计量表The total message dispatch rate for a consumer (messages/second).
pulsar_consumer_msg_throughput_out计量表The total message dispatch throughput for a consumer (bytes/second).
pulsar_consumer_available_permits计量表The available permits for for a consumer.

托管的 ledger bookie 客户端度量值

所有的托管 ledger bookie 客户端度量值都带有以下标签:

  • cluster: cluster=${pulsar_cluster}. ${pulsar_cluster} 就是你在 broker.conf 中配置的集群名称。
配置项类型说明
pulsarmanagedLedger_client_bookkeeper_ml_scheduler_completed_tasks计量表调度程序执行器已执行完成的任务数。
broker.confmanagedLedgerNumerThrad 配置的调度器线程数所决定的度量值数。
pulsarmanagedLedger_client_bookkeeper_ml_scheduler_queue计量表在调度器执行者队列中排队的任务数量。
broker.confmanagedLedgerNumerThrad 配置的调度器线程数所决定的度量值数。
pulsarmanagedLedger_client_bookkeeper_ml_scheduler_total_tasks*计量表调度程序执行器接收的任务数。
broker.confmanagedLedgerNumerThrad 配置的调度器线程数所决定的度量值数。
pulsar_managedLedger_client_bookkeeper_ml_scheduler_task_execution总结按毫秒计算的调度器任务执行延迟。
pulsar_managedLedger_client_bookkeeper_ml_scheduler_task_queued总结按毫秒计算的调度器任务排队延迟。

Token metrics

All the token metrics are labelled with the following labels:

  • cluster: cluster=${pulsar_cluster}. ${pulsar_cluster} 就是你在 broker.conf 中配置的集群名称。
配置项类型说明
pulsar_expired_token_count计数器在 Pulsar 中过期令牌的数量。
pulsar_expiring_token_minutes直方图剩余的令牌在几分钟内到期。

Authentication metrics

All the authentication metrics are labelled with the following labels:

  • cluster: cluster=${pulsar_cluster}. ${pulsar_cluster} 就是你在 broker.conf 中配置的集群名称。
  • provider_name: provider_name=${provider_name}. ${provider_name} is the class name of the authentication provider.
  • auth_method: auth_method=${auth_method}. ${auth_method} is the authentication method of the authentication provider.
  • reason: reason=${reason}. ${reason} is the reason for failing authentication operation. (This label is only for pulsar_authentication_failures_count.)
配置项类型说明
pulsar_authentication_success_count计数器成功认证操作的数量。
pulsar_authentication_failures_count计数器失败的认证操作的数量。

连接指标

All the connection metrics are labelled with the following labels:

  • cluster: cluster=${pulsar_cluster}. ${pulsar_cluster} 就是你在 broker.conf 中配置的集群名称。
  • broker: broker=${advertised_address}. ${advertised_address} is the advertised address of the broker.
  • metric: metric=${metric}. ${metric} is the connection metric collective name.
配置项类型说明
pulsar_active_connections计量表活跃连接的数量。
pulsar_connection_created_total_count计量表连接总数。
pulsar_connection_create_succes_count计量表成功创建连接的数量。
pulsar_connection_create_fail_count计量表连接失败的数量。
pulsar_connection_closed_total_count计量表已关闭连接的总数。
pulsar_broker_throttled_connection计量表阻塞连接的数量。
pulsar_broker_throtled_connections_global_limit计量表由于连接的数量限制而导致的阻塞的连接数量。

Jetty metrics

对于与brokers分开运行的function-worker,只有当includeStandardPrometheusMetrics被设置为true时,其Jetty指标才会被暴露。

所有 jetty 度量值都带有以下标签:

  • cluster: cluster=${pulsar_cluster}. ${pulsar_cluster} 就是你在 broker.conf 中配置的集群名称。
配置项类型说明
jetty_requests_total计数器请求数量。
jetty_requests_activity计量表当前活跃的请求数量。
jetty_requests_active_max计量表一次活跃请求的最大数量。
jetty_request_time_max_seconds计量表处理请求的最大时间。
jetty_request_time_seconds_total计数器在所有请求处理中花费的总时间。
jetty_dispatched_total计数器调度数量。
jetty_dispatched_activity计量表当前活跃的调度数量。
jetty_dispatched_active_max计量表正在处理的最大活动调度数。
jetty_dispatched_time_max计量表调度处理花费的最大时间。
jetty_dispatched_time_seconds_total计数器调度处理的总时间。
jetty_async_requests_total计数器异步请求总数。
jetty_async_requests_waiting计量表目前等待中的异步请求。
jetty_async_requests_waiting_max计量表等待异步请求的最大数量。
jetty_async_appailches_total计数器已被异步派发的请求数。
jetty_expires_total计数器已经过期的异步请求数量。
jetty_responses_total计数器响应的数量,按状态代码标示。 code 标签可以是 “1. xx”, “2xx”, “3xx”, “4xx”, 或者”5xx”.
jetty_stats_seconds计量表收集统计资料的时间,以秒为单位。
jetty_responses_bytes_total计数器所有响应的字节总数.

Pulsar Functions

所有 Pulsar Functions 度量值都带有以下标签:

  • cluster: cluster=${pulsar_cluster}. ${pulsar_cluster} 就是你在 broker.conf 中配置的集群名称。
  • namespace: namespace=${pulsar_namespace}. ${pulsar_namespace} 是命名空间名称。
配置项类型说明
pulsarfunction_processed_successfully_total计数器成功处理的消息总数。
pulsar_function_processed_successfully_total_1min计数器在过去 1 分钟内成功处理的消息总数。
pulsar_function_system_exceptions_total计数器系统异常总数。
pulsar_function_system_exceptions_total_1min计数器在过去 1 分钟内的系统异常总数。
pulsar_function_user_exceptions_total计数器用户异常总数。
pulsar_function_user_exceptions_total_1min计数器在过去 1 分钟内的用户异常总数。
pulsar_function_process_latency_ms总结进程延迟,以毫秒计。
pulsar_function_process_latency_ms_1min总结在过去 1 分钟内的进程延迟,以毫秒计。
pulsar_function_last_invocation计量表该函数最后一次调用的时间戳。
pulsar_function_received_total计数器从源接收的消息总数。
pulsar_function_received_total_1min计数器在过去 1 分钟内从源接收的消息总数。
pulsar_function_user_metric总数用户定义的指标。

连接器

所有 Pulsar 连接器指标都带有以下标签:

  • cluster: cluster=${pulsar_cluster}. ${pulsar_cluster} 就是你在 broker.conf 中配置的集群名称。
  • namespace: namespace=${pulsar_namespace}. ${pulsar_namespace} 是命名空间名称。

Connector metrics contain source metrics and sink metrics.

  • Source metrics

    配置项类型说明

pulsar_source_written_total|Counter|写入Pulsar topic 的记录总数。 pulsar_source_written_total_1min|Counter|在最后1分钟内写入Pulsar topic 的记录总数。 pulsar_source_receed_total|Counter|从 source 收到的记录总数。 pulsar_source_receed_total_1min|Counter|在最后1分钟内从 source 收到的记录总数。 pulsar_source_last_invocation|Gauge|最后一次调用 source 的时间戳。 pulsar_source_source_exception|Gauge|一个 source 的异常。 pulsar_source_source_exceptions_total|Counter| source 异常的总数。 pulsar_source_source_exceptions_total_1min|Counter|在最后1分钟内的source 异常总数。 pulsar_source_system_exception|Gauge|系统异常代码。 pulsar_source_system_exceptions_total|Counter|系统异常的总数。 pulsar_source_system_exceptions_total_1min|Counter|在最后1分钟内的系统异常总数。 pulsar_source_user_metric_| 总数|用户定义的指标。

  • Sink metrics

    配置项类型说明

pulsar_sink_written_total|Counter|由 sink 处理的记录总数。 pulsar_sink_written_total_1min|Counter| 在最后1分钟内由 sink 处理的记录总数。 pulsar_sink_receed_total_1min|Counter| 过去 1 分钟内从 Pulsar topic 收到的消息总数。 pulsar_sink_receed_total|Counter| 一个 sink 从Pulsar topic 收到的记录总数。 pulsar_sink_last_invocation|Gauge|上次调用 sink 的时间戳。 pulsar_sink_sink_exception|Gauge| 来自 Sink 的异常 pulsar_sink_sink_exceptions_total|计数器异常总数。 pulsar_sink_sink_exceptions_total_1min|Counter|在最后1分钟内 sink 的异常总数。 pulsar_sink_system_exception|Gauge|系统异常代码。 pulsar_sink_system_exceptions_total|计数器|系统异常的总数。 pulsar_sink_system_exceptions_total_1min|Counter|在最后1分钟内的系统异常总数。 pulsar_sink_user_metric_| 总数|用户定义的指标。

代理

所有代理度量值都带有以下标签:

  • cluster: cluster=${pulsar_cluster}. ${pulsar_cluster} 就是你在 broker.conf 中配置的集群名称。
  • kubernetes_pod_name: kubernetes_pod_name=${kubernetes_pod_name}. ${kubernetes_pod_name} 是 kubernetes pod 名称。
配置项类型说明
pulsar_proxy_active_connections计量表代理中当前活动的连接数量。
pulsar_proxy_new_connections计数器代理中正在打开的连接的计数器。
pulsar_proxy_rejected_connections计数器由于阈值而拒绝的连接计数器。
pulsar_proxy_binary_ops计数器代理操作计数器。
pulsar_proxy_binary_bytes计数器代理字节计数器。

Pulsar SQL Worker

配置项类型说明
split_bytes_read计数器从 BookKeeper 读取的字节数。
split_num_messages_deserialized计数器反序列化的消息数量。
split_num_record_deserialized计数器反序列化的记录数量。
split_bytes_read_per_query总结每个查询中读取的字节总数.
split_entry_deserialize_time总结用于对条目进行反序列化的时间。
split_entry_deserialize_time_per_query总结用于对每个查询中的条目进行反序列化的时间。
split_entry_queue_dequeue_wait_time总结由于队列为空而等待从条目队列获取条目花费的时间。
split_entry_queue_dequeue_wait_time_per_query总结从每个查询的条目队列中等待获取条目的总时间。
split_message_queue_dequeue_wait_time_per_query总结每个查询中由于队列为空而等待从消息队列中移除所花的时间。
split_message_queue_enqueue_wait_time总结由于消息队列已满,等待进入消息队列的时间。
split_message_queue_enqueue_wait_time_per_query总结每个查询中由于消息队列已满,等待进入消息队列的时间。
split_num_entries_per_batch总结每个批处理的条目数。
split_num_entries_per_query总结每个查询的条目数。
split_num_messages_deserialized_per_entry总结每个条目反序列化的消息数量。
split_num_messages_deserialized_per_query总结每个查询反序列化的消息数量。
split_read_attempts总结读取尝试次数(如果队列已满会失败)。
split_read_attempts_per_query总结每个查询的读取尝试次数。
split_read_latency_per_batch总结每个批处理的读取延迟。
split_read_latency_per_query总结每个查询的总读取延迟。
split_record_deserialize_time总结将消息反序列化到记录花费的时间。 例如,Avro、JSON 等等。
split_record_deserialize_time_per_query总结每个查询将消息反序列化到记录花费的时间。
split_total_execution_time总结总执行时间。

Pulsar transaction

所有transaction指标都带有以下标签:

  • cluster: cluster=${pulsar_cluster}. ${pulsar_cluster} 就是你在 broker.conf 中配置的集群名称。
  • coordinator_id: coordinator_id=${coordinator_id}. ${coordinator_id} 是Coordinator id。
配置项类型说明
pulsartxn_active_count计量表活动的事务数量。
pulsar_txn_created_count计数器创建的事务次数。
pulsar_txn_committed_count计数器提交的事务数量。
pulsar_txn_abuted_count计数器该协调器的中止事务的数量。
pulsar_txn_timeout_count计数器超时事务数量。
pulsar_txn_append_log_count计数器附加事务日志的数量。
pulsar_txn_execution_latency_le*直方图事务执行延迟。
可用的延迟如下所示:
  • latency=”10” 是 (0ms, 10ms] 之间的事务执行延迟
  • latency=”20” 是 (10ms, 20ms] 之间的事务执行延迟
  • latency=”50” 是 (20 ms, 50ms] 之间的事务执行延迟
  • latency=”100” 是 (50ms, 100ms] 之间的事务执行延迟
  • latency=”500” 是 (50ms, 500ms] 之间的事务执行延迟
  • latency=”1000” 是 (500ms, 1000ms] 之间的事务执行延迟
  • latency=”5000” 是 (1s, 5s] 之间的事务执行延迟
  • latency=”15000” 是 (5s, 15s] 之间的事务执行延迟
  • latency=”30000” 是 (15s, 30s] 之间的事务执行延迟
  • latency=”60000” 是 (30s, 60s] 之间的事务执行延迟
  • latency=”300000” 是 (1m, 5m] 之间的事务执行延迟
  • latency=”1500000” 是 (5m, 15m] 之间的事务执行延迟
  • latency=”3000000” 是 (15m, 30m] 之间的事务执行延迟
  • latency=”overflow” 是 (30m, ∞] 之间的事务执行延迟