Apache kafka 如何检查Kafka集群中使用的增量获取会话缓存插槽的实际数量?

Apache kafka 如何检查Kafka集群中使用的增量获取会话缓存插槽的实际数量?,apache-kafka,Apache Kafka,我正在阅读这个问题,我正在尝试应用Hrishikesh Mishra建议的解决方案,因为我们也面临类似的问题,所以我将代理设置max.incremental.fetch.session.cache.slots增加到2000,默认值为1000。但现在我想知道如何监控使用的增量获取会话缓存插槽的实际数量,在普罗米修斯,我看到kafka_server_fetchsessioncache_numincrementalfetchpartitionscached度量,而promql查询在三个代理中的每一个上

我正在阅读这个问题,我正在尝试应用Hrishikesh Mishra建议的解决方案,因为我们也面临类似的问题,所以我将代理设置max.incremental.fetch.session.cache.slots增加到2000,默认值为1000。但现在我想知道如何监控使用的增量获取会话缓存插槽的实际数量,在普罗米修斯,我看到kafka_server_fetchsessioncache_numincrementalfetchpartitionscached度量,而promql查询在三个代理中的每一个上都显示了现在明显超过2000的数量,即2703、2655和2054,因此,如果我看正确的指标,我会感到困惑。还有kafka_server_fetchsessioncache_IncrementalFetchSessionVictotions_total,它在所有代理上显示零

好的,还有一个kafka_服务器_fetchsessioncache_numincrementalfetchsessions,它在三个代理中的每一个上显示cca 500,这总共是cca 1500,介于1000和2000之间,所以这个度量值可能是由max.incremental.fetch.session.cache.slots控制的

事实上,到目前为止,每个代理上已经有700多个增量获取会话,总共超过2100个,因此,很明显,每个代理都有2000个增量获取会话的限制,因此整个集群中的增量获取会话数可以达到6000个。每个代理上的数字现在低于1000的原因是,在配置更改后重新启动了代理

问题是如何在个人消费者层面上检查这种分配。这样一个问题:

count by (__name__) ({__name__=~".*fetchsession.*"})
仅返回此表:

Element                                                             Value
kafka_server_fetchsessioncache_incrementalfetchsessionevictions_total{} 3
kafka_server_fetchsessioncache_numincrementalfetchpartitionscached{}    3
kafka_server_fetchsessioncache_numincrementalfetchsessions{}            3

名为
kafka.server:type=FetchSessionCache,name=NumIncrementalFetchSessions
的度量是监视FetchSessions数量的正确方法

可通过
max.incremental.fetch.session.cache.slots
配置大小。请注意,此设置是针对每个代理应用的,因此每个代理最多可以缓存
max.incremental.fetch.session.cache.slot
会话

您看到的另一个指标,
kafka.server:type=FetchSessionCache,name=NumIncrementalFetchPartitionsCached
,是所有FetchSession中使用的分区总数。许多FetchSession将使用多个分区,因此预计会看到更多的分区

正如您所说,您看到的FetchSessions数量少可能是因为重新启动