モニタリング
Cassandra のメトリクスは、Dropwizard Metrics ライブラリを使用して管理されます。メトリクスは、JMX、仮想テーブルを介してクエリを実行したり、さまざまな組み込みレポーターまたはサードパーティレポータープラグインを使用して、外部モニタリングシステムにプッシュしたりできます。
メトリクスは単一ノードに対して収集されます。それらを統合するために外部監視システムを使用するのはオペレーター次第です。
メトリックタイプ
cassandra によって報告されるすべてのメトリクスは、次のいずれかのタイプに分類されます。
ゲージ
-
値の瞬間的な測定。
カウンター
-
AtomicLong
インスタンスのゲージ。通常、これは最後の呼び出しからの変化を監視して、通常と比較して大きな増加があるかどうかを確認することによって消費されます。 ヒストグラム
-
データストリーム内の値の統計的分布を測定します。 + 最小値、最大値、平均値などに加えて、中央値、75 パーセンタイル、90 パーセンタイル、95 パーセンタイル、98 パーセンタイル、99 パーセンタイル、および 99.9 パーセンタイルも測定します。
タイマー
-
特定のコードが呼び出される頻度と、その期間のヒストグラムの両方を測定します。
レイテンシー
-
Timer
と、起動以降に累積された合計レイテンシーを追跡するCounter
を使用してレイテンシー (マイクロ秒単位) を追跡する特別なタイプ。前者は、最後のチェック以降の合計レイテンシーの変化を追跡する場合に役立ちます。このタイプの各メトリック名には、'Latency' と 'TotalLatency' が付加されます。 メーター
-
平均スループットと、1 分、5 分、および 15 分の指数加重移動平均スループットを測定するメーターメトリクス。
テーブルメトリクス
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」という特別なテーブルがあります。これは、ノード上の すべて のテーブルとキースペースのメトリクスの集計を表します。 |
名前 | タイプ | 説明 |
---|---|---|
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 |
ヒストグラム |
1 つのパーティションの読み取りごとにアクセスされた sstable データファイルの数のヒストグラム。ブルームフィルタ、最小/最大キー、またはパーティションインデックスのルックアップが原因でスキップされた SSTable は考慮されません。 |
ReadLatency |
レイテンシー |
このテーブルのローカル読み取りレイテンシー。 |
RangeLatency |
レイテンシー |
このテーブルのローカル範囲スキャンレイテンシー。 |
WriteLatency |
レイテンシー |
このテーブルのローカル書き込みレイテンシー。 |
CoordinatorReadLatency |
タイマー |
このテーブルのコーディネーター読み取りレイテンシー。 |
CoordinatorWriteLatency |
タイマー |
このテーブルのコーディネーター書き込みレイテンシー。 |
CoordinatorScanLatency |
タイマー |
このテーブルのコーディネーター範囲スキャンレイテンシー。 |
PendingFlushes |
カウンター |
このテーブルで保留中のフラッシュタスクの推定数。 |
BytesFlushed |
カウンター |
サーバーの [再] 起動以降にフラッシュされた合計バイト数。 |
CompactionBytesWritten |
カウンター |
サーバーの [再] 起動以降のコンパクションによって書き込まれた合計バイト数。 |
PendingCompactions |
Gauge<Integer> |
このテーブルで保留中のコンパクション数の推定。 |
LiveSSTableCount |
Gauge<Integer> |
このテーブルのディスク上の SSTable の数。 |
LiveDiskSpaceUsed |
カウンター |
このテーブルに属する SSTable で使用されているディスク領域 (バイト単位)。 |
TotalDiskSpaceUsed |
カウンター |
このテーブルに属する SSTable で使用されているディスク領域の合計。GC 待ちの廃止されたものを含みます。 |
MaxSSTableSize |
Gauge<Long> |
このテーブルの SSTable の最大サイズ。そのような SSTable のすべてのコンポーネントのディスク上の物理サイズ (バイト単位)。ディスク上に SSTable がない場合は 0 に等しくなります。 |
MaxSSTableDuration |
Gauge<Long> |
|
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 の prepare ラウンドのレイテンシ。 |
CasPropose |
レイテンシー |
Paxos の propose ラウンドのレイテンシ。 |
CasCommit |
レイテンシー |
Paxos の commit ラウンドのレイテンシ。 |
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 |
修復用のメルクルツリーを作成します |
CacheCleanupExecutor |
internal |
このスレッドプールで実行されるキャッシュメンテナンス |
CompactionExecutor |
internal |
これらのスレッドでコンパクションが実行されます |
GossipStage |
internal |
ゴシップリクエストを処理します |
HintsDispatcher |
internal |
ヒント付きハンドオフを実行します |
InternalResponseStage |
internal |
クラスター内コールバックを担当 |
MemtableFlushWriter |
internal |
memtable をディスクに書き込みます |
MemtablePostFlush |
internal |
memtable がディスクに書き込まれた後にコミットログをクリーンアップします |
MemtableReclaimMemory |
internal |
Memtable のリサイクル |
MigrationStage |
internal |
スキーマの移行を実行します |
MiscStage |
internal |
その他のタスクがここで実行されます |
PendingRangeCalculator |
internal |
トークン範囲を計算します |
PerDiskMemtableFlushWriter_0 |
internal |
スペックの書き込みを担当します (ディスク 0 ~ N ごとに 1 つ) |
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
- 説明
-
トランザクション読み取りリクエストに関連するメトリクス。
- Metrics
名前 | タイプ | 説明 |
---|---|---|
Timeouts |
カウンター |
発生したタイムアウトの数。 |
Failures |
カウンター |
発生したトランザクション失敗の数。 |
レイテンシー |
トランザクション読み取りレイテンシー。 |
|
Unavailables |
カウンター |
発生した利用不可例外の数。 |
UnfinishedCommit |
カウンター |
読み取りでコミットされたトランザクションの数。 |
ConditionNotMet |
カウンター |
トランザクションの前提条件が現在の値と一致しなかった回数。 |
ContentionHistogram |
ヒストグラム |
発生した競合読み取りの回数 |
- RequestType
-
CASWrite
- 説明
-
トランザクション書き込みリクエストに関連するメトリクス。
- Metrics
名前 | タイプ | 説明 |
---|---|---|
Timeouts |
カウンター |
発生したタイムアウトの数。 |
Failures |
カウンター |
発生したトランザクション失敗の数。 |
レイテンシー |
トランザクション書き込みレイテンシー。 |
|
Unavailables |
カウンター |
発生した利用不可例外の数。 |
UnfinishedCommit |
カウンター |
書き込みでコミットされたトランザクションの数。 |
ConditionNotMet |
カウンター |
トランザクションの前提条件が現在の値と一致しなかった回数。 |
ContentionHistogram |
ヒストグラム |
発生した競合書き込みの回数 |
MutationSizeHistogram |
ヒストグラム |
リクエストのミューテーションの合計サイズ (バイト単位)。 |
- RequestType
-
Read
- 説明
-
標準的な読み取りリクエストに関連するメトリクス。
- Metrics
名前 | タイプ | 説明 |
---|---|---|
Timeouts |
カウンター |
発生したタイムアウトの数。 |
Failures |
カウンター |
発生した読み取り失敗の数。 |
レイテンシー |
読み取りレイテンシー。 |
|
Unavailables |
カウンター |
発生した利用不可例外の数。 |
- RequestType
-
RangeSlice
- 説明
-
トークン範囲読み取りリクエストに関連するメトリクス。
- Metrics
名前 | タイプ | 説明 |
---|---|---|
Timeouts |
カウンター |
発生したタイムアウトの数。 |
Failures |
カウンター |
発生した範囲クエリ失敗の数。 |
レイテンシー |
範囲クエリのレイテンシー。 |
|
Unavailables |
カウンター |
発生した利用不可例外の数。 |
- RequestType
-
Write
- 説明
-
通常の書き込みリクエストに関連するメトリクス。
- Metrics
名前 | タイプ | 説明 |
---|---|---|
Timeouts |
カウンター |
発生したタイムアウトの数。 |
Failures |
カウンター |
発生した書き込み失敗の数。 |
レイテンシー |
書き込みレイテンシー。 |
|
Unavailables |
カウンター |
発生した利用不可例外の数。 |
MutationSizeHistogram |
ヒストグラム |
リクエストのミューテーションの合計サイズ (バイト単位)。 |
- RequestType
-
ViewWrite
- 説明
-
マテリアライズドビューの書き込みに関連するメトリクス。
- Metrics
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 |
メモリに保持されている行のキャッシュ。 |
ミスとミスのレイテンシーは、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> |
Estimated number of compactions remaining to perform. |
CompletedTasks |
Gauge<Long> |
サーバーの [再] 起動以降に完了したコンパクションの数。 |
TotalCompactionsCompleted |
メーター |
サーバーの [再] 起動以降に完了したコンパクションのスループット。 |
PendingTasksByTableName |
Gauge<Map<String, Map<String, Integer>>> |
実行を保留しているコンパクションの推定数。キースペースとテーブル名でグループ化されています。この情報は、 |
コミットログメトリクス
CommitLog
に固有のメトリクス
報告される名前形式
- メトリック名
-
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 の待機時間。定期的な同期の場合、これは同期間隔よりも遅れている場合にのみ発生します。 |
ストレージメトリクス
ストレージエンジンに固有のメトリクス。
報告される名前形式
- メトリック名
-
org.apache.cassandra.metrics.Storage.<メトリクス名>
- JMX MBean
-
org.apache.cassandra.metrics:type=Storage name=<メトリクス名>
名前 | タイプ | 説明 |
---|---|---|
例外 |
カウンター |
キャッチされた内部例外の数。通常、例外が発生していない場合はゼロになるはずです。 |
負荷 |
カウンター |
このノードが管理するディスク上のデータサイズ(バイト単位)。 |
TotalHints |
カウンター |
再起動以降、このノードに書き込まれたヒントメッセージの数。ヒントごとにヒントされる各ホストのエントリが1つ含まれます。 |
TotalHintsInProgress |
カウンター |
現在送信しようとしているヒントの数。 |
HintedHandoff メトリクス
Hinted Handoff に固有のメトリクス。Storage Metrics
で追跡されるヒントに関連するメトリクスもいくつかあります。
これらのメトリクスには、メトリクス名にピアのエンドポイントが含まれています。
報告される名前形式
- メトリック名
-
org.apache.cassandra.metrics.HintedHandOffManager.<メトリクス名>
- JMX MBean
-
org.apache.cassandra.metrics:type=HintedHandOffManager name=<メトリクス名>
名前 | タイプ | 説明 |
---|---|---|
Hints_created-<ピアIP> |
|
|
Hints_not_stored-<ピアIP> |
|
|
HintsService メトリクス
ヒント配信サービスに固有のメトリクス。Storage Metrics
で追跡されるヒントに関連するメトリクスもいくつかあります。
これらのメトリクスには、メトリクス名にピアのエンドポイントが含まれています。
報告される名前形式
- メトリック名
-
org.apache.cassandra.metrics.HintsService.<メトリクス名>
- JMX MBean
-
org.apache.cassandra.metrics:type=HintsService name=<メトリクス名>
名前 | タイプ | 説明 |
---|---|---|
HintsSucceeded |
|
|
HintsFailed |
|
|
HintsTimedOut |
|
|
Hint_delays |
ヒストグラム |
ヒント配信遅延のヒストグラム(ミリ秒単位)。 |
Hint_delays-<ピアIP> |
ヒストグラム |
ピアごとのヒント配信遅延のヒストグラム(ミリ秒単位)。 |
SSTable インデックスメトリクス
SSTable インデックスメタデータに固有のメトリクス。
報告される名前形式
- メトリック名
-
org.apache.cassandra.metrics.Index.<メトリクス名>.RowIndexEntry
- JMX MBean
-
org.apache.cassandra.metrics:type=Index scope=RowIndexEntry name=<メトリクス名>
名前 | タイプ | 説明 |
---|---|---|
IndexedEntrySize |
ヒストグラム |
すべての SSTable にわたるインデックスのオンヒープサイズ(バイト単位)のヒストグラム。 |
IndexInfoCount |
ヒストグラム |
すべての SSTable で管理されているオンヒープインデックスエントリ数のヒストグラム。 |
IndexInfoGets |
ヒストグラム |
SSTable ごとに実行されたインデックス検索の数のヒストグラム。 |
BufferPool メトリクス
Cassandra が管理する内部のリサイクルバッファプールに固有のメトリクス。このプールは、オンヒープおよびオフヒープのバッファをリサイクルすることにより、割り当てと GC を削減することを目的としています。
報告される名前形式
- メトリック名
-
org.apache.cassandra.metrics.BufferPool.<メトリクス名>
- JMX MBean
-
org.apache.cassandra.metrics:type=BufferPool name=<メトリクス名>
名前 | タイプ | 説明 |
---|---|---|
Size |
Gauge<Long> |
管理されたバッファプールのサイズ(バイト単位)。 |
Misses |
メーター |
|
クライアントメトリクス
クライアント管理に固有のメトリクス。
報告される名前形式
- メトリック名
-
org.apache.cassandra.metrics.Client.<メトリクス名>
- JMX MBean
-
org.apache.cassandra.metrics:type=Client name=<メトリクス名>
名前 | タイプ | 説明 |
---|---|---|
connectedNativeClients |
Gauge<Integer> |
このノードのネイティブプロトコルサーバーに接続しているクライアントの数。 |
connections |
Gauge<List<Map<String, String>> |
すべての接続とその状態情報のリスト。 |
connectedNativeClientsByUser |
Gauge<Map<String, Int> |
ユーザー名別の接続しているネイティブクライアントの数。 |
バッチメトリクス
バッチステートメントに固有のメトリクス。
報告される名前形式
- メトリック名
-
org.apache.cassandra.metrics.Batch.<メトリクス名>
- JMX MBean
-
org.apache.cassandra.metrics:type=Batch name=<メトリクス名>
名前 | タイプ | 説明 |
---|---|---|
PartitionsPerCounterBatch |
ヒストグラム |
カウンターバッチごとに処理されたパーティション数の分布。 |
PartitionsPerLoggedBatch |
ヒストグラム |
ログバッチごとに処理されたパーティション数の分布。 |
PartitionsPerUnloggedBatch |
ヒストグラム |
ログなしバッチごとに処理されたパーティション数の分布。 |
JVM メトリクス
メモリやガベージコレクションの統計などの JVM メトリクスは、JMX を使用して JVM に接続するか、メトリクスレポーターを使用してエクスポートすることができます。
BufferPool
- メトリック名
-
jvm.buffers.<direct|mapped>.<メトリクス名>
- JMX MBean
-
java.nio:type=BufferPool name=<direct|mapped>
名前 | タイプ | 説明 |
---|---|---|
Capacity |
Gauge<Long> |
このプール内のバッファの推定合計容量。 |
Count |
Gauge<Long> |
プール内のバッファの推定数。 |
Used |
Gauge<Long> |
Java 仮想マシンがこのバッファプールに使用している推定メモリ。 |
FileDescriptorRatio
- メトリック名
-
jvm.fd.<メトリクス名>
- JMX MBean
-
java.lang:type=OperatingSystem name=<OpenFileDescriptorCount|MaxFileDescriptorCount>
名前 | タイプ | 説明 |
---|---|---|
Usage |
Ratio |
使用済みファイル記述子と合計ファイル記述子の比率。 |
GarbageCollector
- メトリック名
-
jvm.gc.<gc_type>.<メトリクス名>
- JMX MBean
-
java.lang:type=GarbageCollector name=<gc_type>
名前 | タイプ | 説明 |
---|---|---|
Count |
Gauge<Long> |
発生したコレクションの合計数。 |
Time |
Gauge<Long> |
累積されたコレクション経過時間のおおよその値(ミリ秒単位)。 |
Memory
- メトリック名
-
jvm.memory.<heap/non-heap/total>.<メトリクス名>
- JMX MBean
-
java.lang:type=Memory
Committed |
Gauge<Long> |
JVM が使用するためにコミットされているメモリ量(バイト単位)。 |
Init |
Gauge<Long> |
JVM が最初に OS から要求するメモリ量(バイト単位)。 |
Max |
Gauge<Long> |
メモリ管理に使用できる最大メモリ量(バイト単位)。 |
Usage |
Ratio |
使用済みメモリと最大メモリの比率。 |
Used |
Gauge<Long> |
使用済みメモリ量(バイト単位)。 |
MemoryPool
- メトリック名
-
jvm.memory.pools.<memory_pool>.<メトリクス名>
- JMX MBean
-
java.lang:type=MemoryPool name=<memory_pool>
Committed |
Gauge<Long> |
JVM が使用するためにコミットされているメモリ量(バイト単位)。 |
Init |
Gauge<Long> |
JVM が最初に OS から要求するメモリ量(バイト単位)。 |
Max |
Gauge<Long> |
メモリ管理に使用できる最大メモリ量(バイト単位)。 |
Usage |
Ratio |
使用済みメモリと最大メモリの比率。 |
Used |
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"
メトリクスレポーター
このセクションの冒頭で述べたように、Cassandra メトリクスは、組み込みのレポーターまたはサードパーティのレポータープラグインを使用して、多数の外部監視システムにエクスポートできます。