Apache Ignite 监控指标全面解析
ignite Apache Ignite 项目地址: https://gitcode.com/gh_mirrors/ignite15/ignite
概述
Apache Ignite 作为一款高性能的内存计算平台,提供了丰富的监控指标来帮助开发者和管理员了解系统运行状态。本文将深入解析 Ignite 的监控指标体系,帮助读者全面掌握系统监控的关键要素。
系统级指标
系统级指标主要反映 JVM 和操作系统层面的运行状况,注册名为 sys
。
核心指标详解
-
CPU 相关指标
CpuLoad
:系统 CPU 负载百分比GcCpuLoad
:垃圾回收占用的 CPU 负载SystemLoadAverage
:系统平均负载
-
线程相关指标
DaemonThreadCount
:守护线程数量PeakThreadCount
:峰值线程数ThreadCount
:当前线程数TotalStartedThreadCount
:累计启动线程数
-
内存相关指标
memory.heap
系列:堆内存使用情况(committed/init/used)memory.nonheap
系列:非堆内存使用情况
-
其他重要指标
UpTime
:JVM 运行时长TotalExecutedTasks
:总执行任务数
缓存指标
缓存指标是 Ignite 监控的核心,注册名格式为 cache.{cache_name}.{near}
。
关键性能指标
-
基本操作统计
CacheGets/Puts/Removals
:缓存操作次数CacheHits/Misses
:缓存命中率相关CacheTxCommits/Rollbacks
:事务提交/回滚次数
-
性能指标
CommitTime/RollbackTime
:事务处理时间直方图GetTime/PutTime
:读写操作耗时统计Query
系列:SQL 查询性能指标
-
内存使用
HeapEntriesCount
:堆上条目数OffHeap
系列:堆外内存使用情况
-
Rebalance 相关
RebalancedKeys
:已重平衡的键数RebalancingBytesRate
:重平衡速率
缓存组指标
注册名格式为 cacheGroups.{group_name}
,提供缓存组级别的监控。
重要指标
-
分区状态
LocalNodeOwning/MovingPartitionsCount
:分区状态统计AffinityPartitionsAssignmentMap
:分区分配映射
-
存储指标
StorageSize
:分配的存储空间TotalAllocatedPages
:总分配页数
-
加密相关
ReencryptionBytesLeft
:剩余需重加密数据量ReencryptionFinished
:重加密完成标志
事务指标
注册名为 tx
,监控事务处理情况。
关键指标
-
事务状态
OwnerTransactionsNumber
:本节点发起的事务数LockedKeysNumber
:被锁定的键数
-
性能指标
nodeSystemTimeHistogram
:系统时间直方图LastCommit/RollbackTime
:最后提交/回滚时间
-
统计信息
txCommits/Rollbacks
:事务提交/回滚次数
分区映射交换(PME)指标
注册名为 pme
,监控分区映射交换过程。
核心指标
Duration
:当前 PME 持续时间CacheOperationsBlockedDuration
:缓存操作被阻塞时间- 对应的直方图指标反映历史分布情况
计算任务指标
注册名为 compute.jobs
,监控计算任务执行情况。
重要指标
Active/Finished
:活跃/已完成任务数Waiting
:排队任务数Execution/WaitingTime
:执行/等待时间
线程池指标
注册名格式为 threadPools.{thread_pool_name}
,监控各线程池状态。
关键指标
-
容量相关
CorePoolSize/MaximumPoolSize
:核心/最大线程数PoolSize
:当前线程数
-
任务统计
QueueSize
:队列大小CompletedTaskCount
:已完成任务数TaskExecutionTime
:任务执行时间直方图
I/O 统计指标
缓存组 I/O
注册名格式为 io.statistics.cacheGroups.{group_name}
LOGICAL/PHYSICAL_READS
:逻辑/物理读取次数
索引 I/O
-
排序索引
- 区分内部节点和叶节点的读写统计
- 注册名格式:
io.statistics.sortedIndexes.{cache_name}.{index_name}
-
哈希索引
- 类似排序索引的统计维度
- 注册名格式:
io.statistics.hashIndexes.{cache_name}.{index_name}
索引操作
注册名格式:index.{schema_name}.{table_name}.{index_name}
- 按操作类型统计次数和耗时
{opType}Count/Time
:操作次数和总耗时
网络通信指标
通用通信
注册名:io.communication
ActiveSessionsCount
:活跃会话数Sent/ReceivedBytesCount
:收发字节数- SSL 相关指标(如启用)
客户端连接器
-
Thin Client
- 注册名:
client.connector
- 包含会话统计和亲和性路由指标
AffinityKeyRequestsHits/Misses
:亲和性请求命中情况
- 注册名:
-
REST Client
- 注册名:
rest.client
- 基础连接和 SSL 指标
- 注册名:
发现协议
注册名:io.discovery
CurrentTopologyVersion
:当前拓扑版本Joined/LeftNodes
:节点加入/离开数- 协调器相关指标
总结
Apache Ignite 提供了从系统底层到应用层的全方位监控指标,涵盖了:
- 资源使用(CPU、内存、线程)
- 缓存性能(读写、事务、查询)
- 分布式特性(分区、重平衡)
- 网络通信(连接、吞吐量)
- 计算任务(执行、排队)
合理利用这些指标可以:
- 及时发现性能瓶颈
- 优化资源配置
- 诊断系统问题
- 监控集群健康状态
建议根据实际应用场景,重点关注相关指标类别,建立完善的监控告警机制。
ignite Apache Ignite 项目地址: https://gitcode.com/gh_mirrors/ignite15/ignite
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考