监控
Cassandra 中的指标使用 Dropwizard Metrics 库进行管理。可以通过 JMX、虚拟表 查询指标,或者使用各种 内置报告器 或 第三方 报告器插件将指标推送到外部监控系统。
指标是针对单个节点收集的。由操作员使用外部监控系统来聚合它们。
指标类型
Cassandra 报告的所有指标都属于以下类型之一。
量规
-
值的瞬时测量。
计数器
-
用于
AtomicLong
实例的量规。通常,这是通过监控自上次调用以来的更改来使用,以查看与正常情况相比是否有大幅度增加。 直方图
-
测量数据流中值的统计分布。+ 除了最小值、最大值、平均值等之外,它还测量中位数、第 75 个百分位数、第 90 个百分位数、第 95 个百分位数、第 98 个百分位数、第 99 个百分位数和第 99.9 个百分位数。
计时器
-
测量特定代码段被调用的速率以及其持续时间的直方图。
延迟
-
特殊类型,使用
Timer
跟踪延迟(以微秒为单位),以及跟踪自启动以来累积的总延迟的Counter
。如果您跟踪自上次检查以来的总延迟变化,前者将很有用。此类型的每个指标名称将附加 'Latency' 和 'TotalLatency'。 仪表
-
仪表指标,测量平均吞吐量以及一分钟、五分钟和十五分钟的指数加权移动平均吞吐量。
表指标
Cassandra 中的每个表都有指标负责跟踪其状态和性能。
指标名称都附加了特定的 Keyspace
和 Table
名称。
报告的名称格式
- 指标名称
-
org.apache.cassandra.metrics.Table.<MetricName>.<Keyspace>.<Table>
- JMX MBean
-
org.apache.cassandra.metrics:type=Table keyspace=<Keyspace> scope=<Table> name=<MetricName>
有一个名为 'all' 的特殊表,没有 keyspace。它表示节点上所有表和 keyspace 的指标聚合。 |
名称 | 类型 | 描述 |
---|---|---|
MemtableOnHeapSize |
Gauge<Long> |
存储在 堆内 的 memtable 中的数据总量,包括与列相关的开销和被覆盖的分区。 |
MemtableOffHeapSize |
Gauge<Long> |
存储在 堆外 的 memtable 中的数据总量,包括与列相关的开销和被覆盖的分区。 |
MemtableLiveDataSize |
Gauge<Long> |
存储在 memtable 中的活动数据总量,不包括任何数据结构开销。 |
AllMemtablesOnHeapSize |
Gauge<Long> |
存储在 memtable(包括 2i 和待刷新 memtable)中的数据总量,位于 堆内。 |
AllMemtablesOffHeapSize |
Gauge<Long> |
存储在 memtable(包括 2i 和待刷新 memtable)中的数据总量,位于 堆外。 |
AllMemtablesLiveDataSize |
Gauge<Long> |
存储在 memtable(包括 2i 和待刷新 memtable)中的活动数据总量,位于堆外,不包括任何数据结构开销。 |
MemtableColumnsCount |
Gauge<Long> |
memtable 中存在的列总数。 |
MemtableSwitchCount |
计数器 |
刷新导致 memtable 被切换出去的次数。 |
CompressionRatio |
Gauge<Double> |
所有 SSTable 的当前压缩率。 |
EstimatedPartitionSizeHistogram |
Gauge<long[]> |
估计分区大小(以字节为单位)的直方图。 |
EstimatedPartitionCount |
Gauge<Long> |
表中键的大致数量。 |
EstimatedColumnCountHistogram |
Gauge<long[]> |
估计列数的直方图。 |
SSTablesPerReadHistogram |
直方图 |
每次分区读取访问的 sstable 数据文件数量的直方图。由于布隆过滤器、最小-最大键或分区索引查找而跳过的 SSTable 不会被考虑在内。 |
ReadLatency |
延迟 |
此表的本地读取延迟。 |
RangeLatency |
延迟 |
此表的本地范围扫描延迟。 |
WriteLatency |
延迟 |
此表的本地写入延迟。 |
CoordinatorReadLatency |
计时器 |
此表的协调器读取延迟。 |
CoordinatorWriteLatency |
计时器 |
此表的协调器写入延迟。 |
CoordinatorScanLatency |
计时器 |
此表的协调器范围扫描延迟。 |
PendingFlushes |
计数器 |
此表待处理的刷新任务的估计数量。 |
BytesFlushed |
计数器 |
自服务器 [重新] 启动以来刷新的字节总数。 |
CompactionBytesWritten |
计数器 |
自服务器 [重新] 启动以来压缩写入的字节总数。 |
PendingCompactions |
Gauge<Integer> |
此表待处理压缩的估计数量。 |
LiveSSTableCount |
Gauge<Integer> |
此表磁盘上的 SSTable 数量。 |
LiveDiskSpaceUsed |
计数器 |
此表 SSTable 使用的磁盘空间(以字节为单位)。 |
TotalDiskSpaceUsed |
计数器 |
此表 SSTable 使用的总磁盘空间,包括等待 GC 的过时 SSTable。 |
MaxSSTableSize |
Gauge<Long> |
此表 SSTable 的最大大小 - 此类 SSTable 的所有组件在磁盘上的物理大小(以字节为单位)。如果磁盘上没有 SSTable,则等于零。 |
MaxSSTableDuration |
Gauge<Long> |
此表 SSTable 的最大持续时间(以毫秒为单位),计算为 |
MinPartitionSize |
Gauge<Long> |
最小压缩分区的大小(以字节为单位)。 |
MaxPartitionSize |
Gauge<Long> |
最大压缩分区的大小(以字节为单位)。 |
MeanPartitionSize |
Gauge<Long> |
平均压缩分区的大小(以字节为单位)。 |
BloomFilterFalsePositives |
Gauge<Long> |
表布隆过滤器上的误报次数。 |
BloomFilterFalseRatio |
Gauge<Double> |
表布隆过滤器的误报率。 |
BloomFilterDiskSpaceUsed |
Gauge<Long> |
布隆过滤器使用的磁盘空间(以字节为单位)。 |
BloomFilterOffHeapMemoryUsed |
Gauge<Long> |
布隆过滤器使用的堆外内存。 |
IndexSummaryOffHeapMemoryUsed |
Gauge<Long> |
索引摘要使用的堆外内存。 |
CompressionMetadataOffHeapMemoryUsed |
Gauge<Long> |
压缩元数据使用的堆外内存。 |
KeyCacheHitRate |
Gauge<Double> |
此表的键缓存命中率。 |
TombstoneScannedHistogram |
直方图 |
此表查询中扫描的墓碑的直方图。 |
LiveScannedHistogram |
直方图 |
此表查询中扫描的活动单元的直方图。 |
ColUpdateTimeDeltaHistogram |
直方图 |
此表上列更新时间差的直方图。 |
ViewLockAcquireTime |
计时器 |
在此表上获取物化视图更新的分区锁所花费的时间。 |
ViewReadTime |
计时器 |
物化视图更新的本地读取期间所花费的时间。 |
TrueSnapshotsSize |
Gauge<Long> |
此表快照使用的磁盘空间,包括所有 SSTable 组件。 |
RowCacheHitOutOfRange |
计数器 |
表行缓存命中次数,但未满足查询过滤器,因此转到磁盘。 |
RowCacheHit |
计数器 |
表行缓存命中次数。 |
RowCacheMiss |
计数器 |
表行缓存未命中次数。 |
CasPrepare |
延迟 |
paxos 准备轮的延迟。 |
CasPropose |
延迟 |
paxos 提案轮的延迟。 |
CasCommit |
延迟 |
paxos 提交轮的延迟。 |
PercentRepaired |
Gauge<Double> |
磁盘上已修复的表数据的百分比。 |
BytesRepaired |
Gauge<Long> |
磁盘上修复的表数据的大小 |
BytesUnrepaired |
Gauge<Long> |
磁盘上未修复的表数据的大小 |
BytesPendingRepair |
Gauge<Long> |
正在进行的增量修复中隔离的表数据的大小 |
SpeculativeRetries |
计数器 |
此表进行推测重试的次数。 |
SpeculativeFailedRetries |
计数器 |
推测重试失败次数,无法防止超时。 |
SpeculativeInsufficientReplicas |
计数器 |
由于副本不足而无法尝试的推测重试次数。 |
SpeculativeSampleLatencyNanos |
Gauge<Long> |
尝试推测之前等待的纳秒数。该值可以静态配置,也可以根据协调器延迟定期更新。 |
AnticompactionTime |
计时器 |
一致性修复之前进行反压缩所花费的时间。 |
ValidationTime |
计时器 |
修复期间进行验证压缩所花费的时间。 |
SyncTime |
计时器 |
修复期间进行流式传输所花费的时间。 |
BytesValidated |
直方图 |
验证期间读取的字节数的直方图。 |
PartitionsValidated |
直方图 |
验证期间读取的分区数的直方图。 |
BytesAnticompacted |
计数器 |
我们进行反压缩的字节数。 |
BytesMutatedAnticompaction |
计数器 |
由于 SSTable 完全包含在修复范围内,我们避免进行反压缩的字节数。 |
MutatedAnticompactionGauge |
Gauge<Double> |
修复的总字节数中突变字节数的比率。 |
键空间指标
Cassandra 中的每个键空间都有指标负责跟踪其状态和性能。
大多数指标与上面的 表指标
相同,只是它们在键空间级别进行聚合。键空间特定的指标在下面的表格中指定。
报告的名称格式
- 指标名称
-
org.apache.cassandra.metrics.keyspace.<MetricName>.<Keyspace>
- JMX MBean
-
org.apache.cassandra.metrics:type=Keyspace scope=<Keyspace> name=<MetricName>
名称 | 类型 | 描述 |
---|---|---|
WriteFailedIdeaCL |
计数器 |
无法达到配置的理想一致性级别或 0(如果未配置)的写入次数。 |
IdealCLWriteLatency |
延迟 |
以配置的理想一致性级别进行写入的协调器延迟。如果未配置理想一致性级别,则不会记录任何值。 |
RepairTime |
计时器 |
作为修复协调器所花费的总时间。 |
RepairPrepareTime |
计时器 |
准备修复所花费的总时间。 |
线程池指标
Cassandra 将特定类型的工作分成自己的线程池。这为节点上的请求提供背压和异步性。监控这些线程池的状态非常重要,因为它们可以告诉你节点的饱和程度。
指标名称都附加了特定的 ThreadPool
名称。线程池也按特定类型进行分类。
报告的名称格式
- 指标名称
-
org.apache.cassandra.metrics.ThreadPools.<MetricName>.<Path>.<ThreadPoolName>
- JMX MBean
-
org.apache.cassandra.metrics:type=ThreadPools path=<Path> scope=<ThreadPoolName> name=<MetricName>
名称 | 类型 | 描述 |
---|---|---|
ActiveTasks |
Gauge<Integer> |
此池正在积极处理的任务数。 |
PendingTasks |
Gauge<Integer> |
在此池上排队的任务数。 |
CompletedTasks |
计数器 |
已完成的任务数。 |
TotalBlockedTasks |
计数器 |
由于队列饱和而被阻塞的任务数。 |
CurrentlyBlockedTask |
计数器 |
由于队列饱和而当前被阻塞的任务数,但重试后将解除阻塞。 |
MaxPoolSize |
Gauge<Integer> |
此池中的最大线程数。 |
MaxTasksQueued |
Gauge<Integer> |
在任务被阻塞之前排队的最大任务数。 |
可以监控以下线程池。
名称 | 类型 | 描述 |
---|---|---|
Native-Transport-Requests |
transport |
处理客户端 CQL 请求。 |
CounterMutationStage |
request |
负责计数器写入。 |
ViewMutationStage |
request |
负责物化视图写入。 |
MutationStage |
request |
负责所有其他写入。 |
ReadRepairStage |
request |
读取修复发生在此线程池中。 |
ReadStage |
request |
本地读取在此线程池中运行。 |
RequestResponseStage |
request |
协调器对集群的请求在此线程池中运行。 |
AntiEntropyStage |
internal |
为修复构建 Merkle 树。 |
CacheCleanupExecutor |
internal |
在此线程池中执行缓存维护。 |
CompactionExecutor |
internal |
压缩在此线程中运行。 |
GossipStage |
internal |
处理八卦请求。 |
HintsDispatcher |
internal |
执行暗示传递。 |
InternalResponseStage |
internal |
负责集群内回调。 |
MemtableFlushWriter |
internal |
将内存表写入磁盘。 |
MemtablePostFlush |
internal |
在内存表写入磁盘后清理提交日志。 |
MemtableReclaimMemory |
internal |
内存表回收。 |
MigrationStage |
internal |
运行模式迁移。 |
MiscStage |
internal |
杂项任务在此运行。 |
PendingRangeCalculator |
internal |
计算令牌范围。 |
PerDiskMemtableFlushWriter_0 |
internal |
负责写入规范(每个磁盘 0-N 有一个)。 |
Sampler |
internal |
负责重新采样 SSTable 的索引摘要。 |
SecondaryIndexManagement |
internal |
对辅助索引执行更新。 |
ValidationExecutor |
internal |
执行验证压缩或清理。 |
ViewBuildExecutor |
internal |
执行物化视图初始构建。 |
客户端请求指标
客户端请求有自己的一组指标,用于封装协调器级别发生的工作。
不同类型的客户端请求按 RequestType
进行细分。
报告的名称格式
- 指标名称
-
org.apache.cassandra.metrics.ClientRequest.<MetricName>.<RequestType>
- JMX MBean
-
org.apache.cassandra.metrics:type=ClientRequest scope=<RequestType> name=<MetricName>
- RequestType
-
CASRead
- 描述
-
与事务性读取请求相关的指标。
- 指标
名称 | 类型 | 描述 |
---|---|---|
Timeouts |
计数器 |
遇到的超时次数。 |
Failures |
计数器 |
遇到的事务失败次数。 |
延迟 |
事务读取延迟。 |
|
Unavailables |
计数器 |
遇到的不可用异常次数。 |
UnfinishedCommit |
计数器 |
在读取时已提交的事务数。 |
ConditionNotMet |
计数器 |
事务先决条件与当前值不匹配的次数。 |
ContentionHistogram |
直方图 |
遇到的争用读取次数。 |
- RequestType
-
CASWrite
- 描述
-
与事务性写入请求相关的指标。
- 指标
名称 | 类型 | 描述 |
---|---|---|
Timeouts |
计数器 |
遇到的超时次数。 |
Failures |
计数器 |
遇到的事务失败次数。 |
延迟 |
事务写入延迟。 |
|
Unavailables |
计数器 |
遇到的不可用异常次数。 |
UnfinishedCommit |
计数器 |
在写入时已提交的事务数。 |
ConditionNotMet |
计数器 |
事务先决条件与当前值不匹配的次数。 |
ContentionHistogram |
直方图 |
遇到的争用写入次数。 |
MutationSizeHistogram |
直方图 |
请求突变的总字节数。 |
- RequestType
-
Read
- 描述
-
与标准读取请求相关的指标。
- 指标
名称 | 类型 | 描述 |
---|---|---|
Timeouts |
计数器 |
遇到的超时次数。 |
Failures |
计数器 |
遇到的读取失败次数。 |
延迟 |
读取延迟。 |
|
Unavailables |
计数器 |
遇到的不可用异常次数。 |
- RequestType
-
RangeSlice
- 描述
-
与令牌范围读取请求相关的指标。
- 指标
名称 | 类型 | 描述 |
---|---|---|
Timeouts |
计数器 |
遇到的超时次数。 |
Failures |
计数器 |
遇到的范围查询失败次数。 |
延迟 |
范围查询延迟。 |
|
Unavailables |
计数器 |
遇到的不可用异常次数。 |
- RequestType
-
Write
- 描述
-
与常规写入请求相关的指标。
- 指标
名称 | 类型 | 描述 |
---|---|---|
Timeouts |
计数器 |
遇到的超时次数。 |
Failures |
计数器 |
遇到的写入失败次数。 |
延迟 |
写入延迟。 |
|
Unavailables |
计数器 |
遇到的不可用异常次数。 |
MutationSizeHistogram |
直方图 |
请求突变的总字节数。 |
- RequestType
-
ViewWrite
- 描述
-
与物化视图写入相关的指标。
- 指标
Timeouts | 计数器 | 遇到的超时次数。 |
---|---|---|
Failures |
计数器 |
遇到的事务失败次数。 |
Unavailables |
计数器 |
遇到的不可用异常次数。 |
ViewReplicasAttempted |
计数器 |
尝试的视图副本写入总数。 |
ViewReplicasSuccess |
计数器 |
成功的视图副本写入总数。 |
ViewPendingMutations |
Gauge<Long> |
ViewReplicasAttempted - ViewReplicasSuccess。 |
ViewWriteLatency |
计时器 |
将突变应用于基本表的时间与在视图上实现 CL.ONE 的时间之间的间隔。 |
缓存指标
Cassandra 缓存有指标来跟踪缓存的有效性。虽然 表指标
可能更有用。
报告的名称格式
- 指标名称
-
org.apache.cassandra.metrics.Cache.<MetricName>.<CacheName>
- JMX MBean
-
org.apache.cassandra.metrics:type=Cache scope=<CacheName> name=<MetricName>
名称 | 类型 | 描述 |
---|---|---|
Capacity |
Gauge<Long> |
缓存容量(以字节为单位)。 |
Entries |
Gauge<Integer> |
缓存条目总数。 |
FifteenMinuteCacheHitRate |
Gauge<Double> |
15 分钟缓存命中率。 |
FiveMinuteCacheHitRate |
Gauge<Double> |
5 分钟缓存命中率。 |
OneMinuteCacheHitRate |
Gauge<Double> |
1 分钟缓存命中率。 |
HitRate |
Gauge<Double> |
所有时间的缓存命中率。 |
Hits |
仪表 |
缓存命中总数。 |
Misses |
仪表 |
缓存未命中总数。 |
MissLatency |
计时器 |
未命中的延迟。 |
Requests |
Gauge<Long> |
缓存请求总数。 |
Size |
Gauge<Long> |
已占用缓存的总大小(以字节为单位)。 |
涵盖以下缓存。
名称 | 描述 |
---|---|
CounterCache |
将热门计数器保存在内存中以提高性能。 |
ChunkCache |
进程内未压缩页面缓存。 |
KeyCache |
分区到 SSTable 偏移量的缓存。 |
RowCache |
保存在内存中的行的缓存。 |
Misses 和 MissLatency 仅针对 ChunkCache 定义。 |
CQL 指标
特定于 CQL 准备语句缓存的指标。
报告的名称格式
- 指标名称
-
org.apache.cassandra.metrics.CQL.<MetricName>
- JMX MBean
-
org.apache.cassandra.metrics:type=CQL name=<MetricName>
名称 | 类型 | 描述 |
---|---|---|
PreparedStatementsCount |
Gauge<Integer> |
缓存的准备语句数。 |
PreparedStatementsEvicted |
计数器 |
从准备语句缓存中驱逐的准备语句数。 |
PreparedStatementsExecuted |
计数器 |
执行的准备语句数。 |
RegularStatementsExecuted |
计数器 |
执行的非准备语句数。 |
PreparedStatementsRatio |
Gauge<Double> |
准备语句与未准备语句的百分比。 |
丢弃的消息指标
特定于跟踪不同类型请求的丢弃消息的指标。丢弃的写入由 暗示传递
存储和重试。
报告的名称格式
- 指标名称
-
org.apache.cassandra.metrics.DroppedMessage.<MetricName>.<Type>
- JMX MBean
-
org.apache.cassandra.metrics:type=DroppedMessage scope=<Type> name=<MetricName>
名称 | 类型 | 描述 |
---|---|---|
CrossNodeDroppedLatency |
计时器 |
跨节点的丢弃延迟。 |
InternalDroppedLatency |
计时器 |
节点内的丢弃延迟。 |
Dropped |
仪表 |
丢弃的消息数。 |
跟踪的不同类型的消息是
名称 | 描述 |
---|---|
BATCH_STORE |
批处理日志写入。 |
BATCH_REMOVE |
批处理日志清理(在成功应用后)。 |
COUNTER_MUTATION |
计数器写入。 |
HINT |
暗示重播。 |
MUTATION |
常规写入。 |
READ |
常规读取。 |
READ_REPAIR |
读取修复 |
PAGED_SLICE |
分页读取。 |
RANGE_SLICE |
令牌范围读取。 |
REQUEST_RESPONSE |
RPC 回调。 |
_TRACE |
跟踪写入。 |
流式传输指标
在 流式传输
操作(如修复、引导、重建)期间报告的指标。
这些指标特定于对等端点,源节点是您从中提取指标的节点。
报告的名称格式
- 指标名称
-
org.apache.cassandra.metrics.Streaming.<MetricName>.<PeerIP>
- JMX MBean
-
org.apache.cassandra.metrics:type=Streaming scope=<PeerIP> name=<MetricName>
名称 | 类型 | 描述 |
---|---|---|
IncomingBytes |
计数器 |
从对等节点流式传输到此节点的字节数。 |
OutgoingBytes |
计数器 |
从此节点流式传输到对等端点的字节数。 |
压缩指标
特定于 压缩
工作的指标。
报告的名称格式
- 指标名称
-
org.apache.cassandra.metrics.Compaction.<MetricName>
- JMX MBean
-
org.apache.cassandra.metrics:type=Compaction name=<MetricName>
名称 | 类型 | 描述 |
---|---|---|
BytesCompacted |
计数器 |
自服务器 [重新] 启动以来压缩的总字节数。 |
PendingTasks |
Gauge<Integer> |
剩余压缩的估计数量。 |
CompletedTasks |
Gauge<Long> |
自服务器 [重新] 启动以来已完成的压缩次数。 |
TotalCompactionsCompleted |
仪表 |
自服务器 [重新] 启动以来已完成的压缩的吞吐量。 |
PendingTasksByTableName |
Gauge<Map<String, Map<String, Integer>>> |
剩余压缩的估计数量,按键空间分组,然后按表名分组。此信息也保存在 |
提交日志指标
特定于 提交日志
的指标。
报告的名称格式
- 指标名称
-
org.apache.cassandra.metrics.CommitLog.<MetricName>
- JMX MBean
-
org.apache.cassandra.metrics:type=CommitLog name=<MetricName>
名称 | 类型 | 描述 |
---|---|---|
CompletedTasks |
Gauge<Long> |
自 [重新] 启动以来写入的提交日志消息总数。 |
PendingTasks |
Gauge<Long> |
已写入但尚未 fsync 的提交日志消息数。 |
TotalCommitLogSize |
Gauge<Long> |
所有提交日志段使用的当前大小(以字节为单位)。 |
WaitingOnSegmentAllocation |
计时器 |
等待分配 CommitLogSegment 所花费的时间 - 在正常情况下,这应该是零。 |
WaitingOnCommit |
计时器 |
等待 CL fsync 所花费的时间;对于 Periodic,这仅在同步滞后于其同步间隔时才会发生。 |
存储指标
特定于存储引擎的指标。
报告的名称格式
- 指标名称
-
org.apache.cassandra.metrics.Storage.<MetricName>
- JMX MBean
-
org.apache.cassandra.metrics:type=Storage name=<MetricName>
名称 | 类型 | 描述 |
---|---|---|
Exceptions |
计数器 |
捕获的内部异常数量。在正常情况下,此值应为零。 |
负载 |
计数器 |
此节点管理的磁盘数据大小(以字节为单位)。 |
总提示 |
计数器 |
自 [重新] 启动以来写入此节点的提示消息数量。每个提示包含每个要提示的主机的一个条目。 |
总提示正在进行 |
计数器 |
当前正在尝试发送的提示数量。 |
提示式移交指标
提示式移交的特定指标。在 存储指标
中还跟踪了一些与提示相关的指标。
这些指标包括指标名称中的对等端点 **。**
报告的名称格式
- 指标名称
-
org.apache.cassandra.metrics.HintedHandOffManager.<MetricName>
- JMX MBean
-
org.apache.cassandra.metrics:type=HintedHandOffManager name=<MetricName>
名称 | 类型 | 描述 |
---|---|---|
Hints_created-<PeerIP> |
|
|
Hints_not_stored-<PeerIP> |
|
|
HintsService 指标
提示传递服务的特定指标。在 存储指标
中还跟踪了一些与提示相关的指标。
这些指标包括指标名称中的对等端点 **。**
报告的名称格式
- 指标名称
-
org.apache.cassandra.metrics.HintsService.<MetricName>
- JMX MBean
-
org.apache.cassandra.metrics:type=HintsService name=<MetricName>
名称 | 类型 | 描述 |
---|---|---|
HintsSucceeded |
|
|
HintsFailed |
|
|
HintsTimedOut |
|
|
Hint_delays |
直方图 |
提示传递延迟(以毫秒为单位)的直方图。 |
Hint_delays-<PeerIP> |
直方图 |
每个对等端的提示传递延迟(以毫秒为单位)的直方图。 |
SSTable 索引指标
SSTable 索引元数据的特定指标。
报告的名称格式
- 指标名称
-
org.apache.cassandra.metrics.Index.<MetricName>.RowIndexEntry
- JMX MBean
-
org.apache.cassandra.metrics:type=Index scope=RowIndexEntry name=<MetricName>
名称 | 类型 | 描述 |
---|---|---|
IndexedEntrySize |
直方图 |
所有 SSTable 中索引的堆内大小(以字节为单位)的直方图。 |
IndexInfoCount |
直方图 |
所有 SSTable 中管理的堆内索引条目数量的直方图。 |
IndexInfoGets |
直方图 |
每个 SSTable 执行的索引查找次数的直方图。 |
缓冲池指标
Cassandra 管理的内部回收缓冲池的特定指标。此池旨在通过回收堆内和堆外缓冲区来降低分配和 GC。
报告的名称格式
- 指标名称
-
org.apache.cassandra.metrics.BufferPool.<MetricName>
- JMX MBean
-
org.apache.cassandra.metrics:type=BufferPool name=<MetricName>
名称 | 类型 | 描述 |
---|---|---|
Size |
Gauge<Long> |
管理的缓冲池的大小(以字节为单位)。 |
Misses |
仪表 |
|
客户端指标
客户端管理的特定指标。
报告的名称格式
- 指标名称
-
org.apache.cassandra.metrics.Client.<MetricName>
- JMX MBean
-
org.apache.cassandra.metrics:type=Client name=<MetricName>
名称 | 类型 | 描述 |
---|---|---|
connectedNativeClients |
Gauge<Integer> |
连接到此节点的本机协议服务器的客户端数量。 |
connections |
Gauge<List<Map<String, String>> |
所有连接及其状态信息的列表。 |
connectedNativeClientsByUser |
Gauge<Map<String, Int> |
按用户名划分的连接的本机客户端数量。 |
批处理指标
批处理语句的特定指标。
报告的名称格式
- 指标名称
-
org.apache.cassandra.metrics.Batch.<MetricName>
- JMX MBean
-
org.apache.cassandra.metrics:type=Batch name=<MetricName>
名称 | 类型 | 描述 |
---|---|---|
PartitionsPerCounterBatch |
直方图 |
每个计数器批处理处理的分区数量的分布。 |
PartitionsPerLoggedBatch |
直方图 |
每个已记录批处理处理的分区数量的分布。 |
PartitionsPerUnloggedBatch |
直方图 |
每个未记录批处理处理的分区数量的分布。 |
JVM 指标
JVM 指标(如内存和垃圾回收统计信息)可以通过使用 JMX 连接到 JVM 来访问,也可以使用 指标报告器 来导出。
缓冲池
- 指标名称
-
jvm.buffers.<direct|mapped>.<MetricName>
- JMX MBean
-
java.nio:type=BufferPool name=<direct|mapped>
名称 | 类型 | 描述 |
---|---|---|
Capacity |
Gauge<Long> |
此池中缓冲区的估计总容量。 |
Count |
Gauge<Long> |
池中缓冲区的估计数量。 |
Used |
Gauge<Long> |
Java 虚拟机用于此缓冲池的估计内存。 |
文件描述符比率
- 指标名称
-
jvm.fd.<MetricName>
- JMX MBean
-
java.lang:type=OperatingSystem name=<OpenFileDescriptorCount|MaxFileDescriptorCount>
名称 | 类型 | 描述 |
---|---|---|
Usage |
Ratio |
已使用文件描述符与总文件描述符的比率。 |
垃圾回收器
- 指标名称
-
jvm.gc.<gc_type>.<MetricName>
- JMX MBean
-
java.lang:type=GarbageCollector name=<gc_type>
名称 | 类型 | 描述 |
---|---|---|
Count |
Gauge<Long> |
已发生的收集总数。 |
Time |
Gauge<Long> |
以毫秒为单位的近似累积收集经过时间。 |
JMX
任何基于 JMX 的客户端都可以访问 Cassandra 的指标。
如果要通过 http 访问 JMX 指标,可以下载 Mx4jTool 并将 mx4j-tools.jar
放入类路径中。启动时,您将在日志中看到
HttpAdaptor version 3.0.2 started on port 8081
要选择其他端口(默认端口为 8081)或其他监听地址(默认地址不为 0.0.0.0),请编辑 conf/cassandra-env.sh
并取消注释
#MX4J_ADDRESS="-Dmx4jaddress=0.0.0.0"
#MX4J_PORT="-Dmx4jport=8081"