すべてのプロダクト
Search
ドキュメントセンター

Managed Service for Prometheus:Prometheus による Cassandra の監視

最終更新日:Aug 28, 2026

このトピックでは、Managed Service for Prometheus を使用して Cassandra を監視する方法を説明します。

前提条件

Prometheus インスタンスが作成されている必要があります。詳細については、以下をご参照ください。

ステップ 1:Cassandra JMX エージェントのデプロイ

  1. Cassandra を実行している ECS インスタンスに、Cassandra のバージョンに一致する Cassandra JMX エージェントをダウンロードします。

  2. ダウンロードしたエージェントパッケージを MCAC_ROOT ディレクトリに解凍し、次の内容を cassandra-env.sh ファイルに追記します。

    MCAC_ROOT=/path/to/directory
    JVM_OPTS="$JVM_OPTS -javaagent:${MCAC_ROOT}/lib/datastax-mcac-agent.jar"
    重要

    Cassandra JMX エージェントは、Prometheus がデータをスクレイプできるようにポート 9103 を公開します。このポートを変更するには、${MCAC_ROOT}/config/collectd.conf.tmpl ファイル内の値を目的のポート番号に変更してください。

    LoadPlugin write_prometheus
    <Plugin write_prometheus>
      Port "9103"
    </Plugin>
  3. 設定が完了したら、Cassandra アプリケーションを再起動します。ECS サーバーで curl localhost:{jmx_port}/metrics コマンドを実行します。{jmx_port} は、JMX エージェントが公開するポート番号 (デフォルトは 9103) に置き換えてください。インストールに成功すると、データが返ります。

    # HELP collectd_collectd_cache_size write_prometheus plugin: 'collectd' Type: 'cache_size', Dstype: 'gauge', Dsname: 'value'
    # TYPE collectd_collectd_cache_size gauge
    collectd_collectd_cache_size{collectd="cache",instance="172.16.x.x",cluster="Test Cluster",dc="datacenter1",rack="rack1"} 6985 16
    # HELP collectd_collectd_derive_total write_prometheus plugin: 'collectd' Type: 'derive', Dstype: 'derive', Dsname: 'value'
    # TYPE collectd_collectd_derive_total counter
    collectd_collectd_derive_total{collectd="write_queue",type="dropped",instance="172.16.x.x",cluster="Test Cluster",dc="datacenter1",rack="rack1"} 0 168768
    # HELP collectd_collectd_queue_length write_prometheus plugin: 'collectd' Type: 'queue_length', Dstype: 'gauge', Dsname: 'value'
    # TYPE collectd_collectd_queue_length gauge
    collectd_collectd_queue_length{collectd="write_queue",instance="172.16.x.x",cluster="Test Cluster",dc="datacenter1",rack="rack1"} 144 168
    # HELP collectd_contextswitch_total write_prometheus plugin: 'contextswitch' Type: 'contextswitch', Dstype: 'derive', Dsname: 'value'
    # TYPE collectd_contextswitch_total counter
    collectd_contextswitch_total{instance="172.16.x.x",cluster="Test Cluster",dc="datacenter1",rack="rack1"} 3... 168768
    # HELP collectd_cpu_total write_prometheus plugin: 'cpu' Type: 'cpu', Dstype: 'derive', Dsname: 'value'
    # TYPE collectd_cpu_total counter
    collectd_cpu_total{cpu="0",type="idle",instance="172.16.x.x",cluster="Test Cluster",dc="datacenter1",rack="rack1",insight_series="1"} 50160255 16876
    collectd_cpu_total{cpu="0",type="interrupt",instance="172.16.x.x",cluster="Test Cluster",dc="datacenter1",rack="rack1",insight_series="1"} 0 1687686
    collectd_cpu_total{cpu="0",type="nice",instance="172.16.x.x",cluster="Test Cluster",dc="datacenter1",rack="rack1",insight_series="1"} 226 1687686335
    collectd_cpu_total{cpu="0",type="softirq",instance="172.16.x.x",cluster="Test Cluster",dc="datacenter1",rack="rack1",insight_series="1"} 13644 16876
    collectd_cpu_total{cpu="0",type="steal",instance="172.16.x.x",cluster="Test Cluster",dc="datacenter1",rack="rack1",insight_series="1"} 0 16876863350
    collectd_cpu_total{cpu="0",type="system",instance="172.16.x.x",cluster="Test Cluster",dc="datacenter1",rack="rack1",insight_series="1"} 231356 16876
    collectd_cpu_total{cpu="0",type="user",instance="172.16.x.x",cluster="Test Cluster",dc="datacenter1",rack="rack1",insight_series="1"} 1519742 168768
    collectd_cpu_total{cpu="0",type="wait",instance="172.16.x.x",cluster="Test Cluster",dc="datacenter1",rack="rack1",insight_series="1"} 585 1687686335
    collectd_cpu_total{cpu="1",type="idle",instance="172.16.x.x",cluster="Test Cluster",dc="datacenter1",rack="rack1",insight_series="1"} 50596353 16876
    collectd_cpu_total{cpu="1",type="interrupt",instance="172.16.x.x",cluster="Test Cluster",dc="datacenter1",rack="rack1",insight_series="1"} 0 1687686
    collectd_cpu_total{cpu="1",type="nice",instance="172.16.x.x",cluster="Test Cluster",dc="datacenter1",rack="rack1",insight_series="1"} 219 1687686335
    collectd_cpu_total{cpu="1",type="softirq",instance="172.16.x.x",cluster="Test Cluster",dc="datacenter1",rack="rack1",insight_series="1"} 9320 168768
    collectd_cpu_total{cpu="1",type="steal",instance="172.16.x.x",cluster="Test Cluster",dc="datacenter1",rack="rack1",insight_series="1"} 0 16876863350
    collectd_cpu_total{cpu="1",type="system",instance="172.16.x.x",cluster="Test Cluster",dc="datacenter1",rack="rack1",insight_series="1"} 129114 16876
    collectd_cpu_total{cpu="1",type="user",instance="172.16.x.x",cluster="Test Cluster",dc="datacenter1",rack="rack1",insight_series="1"} 1504382 168768
    collectd_cpu_total{cpu="1",type="wait",instance="172.16.x.x",cluster="Test Cluster",dc="datacenter1",rack="rack1",insight_series="1"} 50115892 16876
    collectd_cpu_total{cpu="2",type="softirq",instance="172.16.x.x",cluster="Test Cluster",dc="datacenter1",rack="rack1",insight_series="1"} 4906 168768
    collectd_cpu_total{cpu="2",type="steal",instance="172.16.x.x",cluster="Test Cluster",dc="datacenter1",rack="rack1",insight_series="1"} 0 16876863350
    collectd_cpu_total{cpu="2",type="system",instance="172.16.x.x",cluster="Test Cluster",dc="datacenter1",rack="rack1",insight_series="1"} 230256 16876
    collectd_cpu_total{cpu="2",type="user",instance="172.16.x.x",cluster="Test Cluster",dc="datacenter1",rack="rack1",insight_series="1"} 1562142 168768
    collectd_cpu_total{cpu="2",type="wait",instance="172.16.x.x",cluster="Test Cluster",dc="datacenter1",rack="rack1",insight_series="1"} 8267 16876863
    collectd_cpu_total{cpu="3",type="idle",instance="172.16.x.x",cluster="Test Cluster",dc="datacenter1",rack="rack1",insight_series="1"} 50612210 16876
    collectd_cpu_total{cpu="3",type="interrupt",instance="172.16.x.x",cluster="Test Cluster",dc="datacenter1",rack="rack1",insight_series="1"} 0 1687686
    collectd_cpu_total{cpu="3",type="nice",instance="172.16.x.x",cluster="Test Cluster",dc="datacenter1",rack="rack1",insight_series="1"} 218 1687686335
    collectd_cpu_total{cpu="3",type="softirq",instance="172.16.x.x",cluster="Test Cluster",dc="datacenter1",rack="rack1",insight_series="1"} 2815 168768
    collectd_cpu_total{cpu="3",type="steal",instance="172.16.x.x",cluster="Test Cluster",dc="datacenter1",rack="rack1",insight_series="1"} 0 16876863350
    collectd_cpu_total{cpu="3",type="system",instance="172.16.x.x",cluster="Test Cluster",dc="datacenter1",rack="rack1",insight_series="1"} 129656 16876
    collectd_cpu_total{cpu="3",type="user",instance="172.16.x.x",cluster="Test Cluster",dc="datacenter1",rack="rack1",insight_series="1"} 1506299 168768
    collectd_cpu_total{cpu="3",type="wait",instance="172.16.x.x",cluster="Test Cluster",dc="datacenter1",rack="rack1",insight_series="1"} 183 1687686335

ステップ 2: Cassandra の統合

  1. にログインします。 Prometheusコンソールのマネージドサービス。

  2. 左側メニューで、アクセスセンター をクリックします。

  3. アクセスセンター ページの データベース セクションで、[Cassandra] をクリックします。

  1. [Cassandra] パネルの 接続を開始 タブで、パラメーターを設定し、OK をクリックします。

    パラメーター

    説明

    [環境タイプの選択]

    環境タイプを選択します。

    • コンテナサービス環境

    • ECS (Virtual Private Cloud (VPC))

    クラスターの選択

    対象のクラスターを選択します。

    [Pod ラベル]

    Cassandra サービスを実行する Pod のラベルです。一意のラベルを使用することを推奨します。

    [サービスポート]

    ステップ 1 でインストールした Cassandra JMX エージェントが使用するポートです。デフォルトのポートが自動的に入力されます。

    [メトリクスパス]

    ステップ 1 でインストールした Cassandra JMX エージェントのメトリクスエンドポイントです。デフォルトのパスが自動的に入力されます。

    [スクレイピング間隔 (秒)]

    メトリクスをスクレイピングする間隔 (秒) です。デフォルト値は 30 です。

ステップ 3: Cassandra ダッシュボードの表示

  1. にログインします。 Prometheusコンソールのマネージドサービス。

  2. ナビゲーションペインで、データインポート管理 をクリックします。

  3. データインポート管理 ページで、[インストール済み] タブをクリックします。目的の環境を見つけて、その名前をクリックし、詳細ページを開きます。

  4. [コンポーネント管理] タブで、[コンポーネントタイプ] セクションの [Cassandra] をクリックし、[ダッシュボード] タブをクリックして、すべてのダッシュボード名を確認します。

    ページには、[Cassandra 詳細] と [Cassandra サマリー] の 2 つのダッシュボードが表示されます。

  5. ダッシュボード名をクリックして、Grafana ダッシュボードを開きます。

ステップ 4:Cassandra アラートの設定

  1. [コンポーネント管理] タブで、[コンポーネントタイプ] セクション内の [Cassandra] をクリックし、アラートルール タブをクリックして、デフォルトのアラートルールを表示します。

    デフォルトのアラートルールには、以下が含まれます。

    • リクエストタイムアウト

    • 失敗したリクエスト

    • 合計メッセージ

    • ディスク使用率

    • メモリ使用率

    • CPU 使用率

    • クライアント接続

  2. カスタムアラートルールを作成することもできます。詳細については、「Prometheus アラートルールの作成」をご参照ください。

主なメトリクス

クラスターとノードの情報

メトリクス

レベル

説明

解説

mcac_client_connected_native_clients

Major

CQL 接続数

接続数が多すぎるとシステムリソースを消費し、クライアントのレイテンシーが増加します。

mcac_table_live_disk_space_used_total

Major

SSTable が使用するディスク領域

値が高い場合、ディスク領域が不足し、データアクセスのレイテンシーが増加する可能性があります。

mcac_table_snapshots_size

推奨

Cassandra スナップショットファイルサイズ

スナップショットはデータ復旧に使用されます。値が高い場合、ディスク領域が不足し、完全なスナップショットを保存できなくなる可能性があります。

collectd_uptime

Major

ノードの稼働時間

値が高い場合、システムが長期間再起動されていないことを示します。既知の脆弱性がある場合、セキュリティリスクが増加する可能性があります。

主なパフォーマンスメトリクス

メトリクス

レベル

説明

解説

mcac_table_read_latency

Critical

クライアント読み取りレイテンシー

値が高い場合、アプリケーションの読み取りが遅くなり、ユーザーエクスペリエンスに影響します。

mcac_table_write_latency

Critical

クライアント書き込みレイテンシー

値が高い場合、アプリケーションの書き込みが遅くなり、ユーザーエクスペリエンスに影響します。

例外とエラー

メトリクス

レベル

説明

解説

mcac_client_request_timeouts_total

Critical

タイムアウトしたクライアントリクエスト

値が高い場合、システム負荷が高いことを示し、ユーザーエクスペリエンスに深刻な影響を与えます。

mcac_client_request_failures_total

Critical

例外が発生したクライアントリクエスト

値が高い場合、システム負荷が高いことを示し、ユーザーエクスペリエンスに深刻な影響を与えます。

mcac_dropped_message_dropped_total

Critical

ドロップされたメッセージ

値が高い場合、システム負荷が高いことを示し、ユーザーエクスペリエンスに深刻な影響を与えます。

キャッシュとブルームフィルター

メトリクス

レベル

説明

解説

mcac_table_key_cache_hit_rate

Major

キーキャッシュのヒット率

値が低い場合、アプリケーションの読み取りパフォーマンスが低下し、ユーザーエクスペリエンスに影響する可能性があります。

mcac_table_row_cache_hit_total

Major

行キャッシュヒット数

値が低い場合、アプリケーションの読み取りパフォーマンスが低下し、ユーザーエクスペリエンスに影響する可能性があります。

mcac_table_row_cache_miss_total

推奨

行キャッシュミス数

値が高い場合、アプリケーションの読み取りパフォーマンスが低下し、ユーザーエクスペリエンスに影響する可能性があります。

mcac_table_row_cache_hit_out_of_range_total

推奨

ディスクアクセスが必要だった行キャッシュのヒット数

値が高い場合、アプリケーションの読み取りパフォーマンスが低下し、ユーザーエクスペリエンスに影響する可能性があります。

mcac_table_bloom_filter_false_ratio

Major

ブルームフィルターの誤検知率

ブルームフィルターの誤検知率が高い場合、存在しない要素が存在すると誤って判定される回数が増えます。その結果、クエリに要する時間とリソースが無駄になり、クエリパフォーマンスが低下してコストが増加します。

CPU、メモリ、ディスク使用率

メトリクス

レベル

説明

解説

collectd_cpu_total

Critical

CPU 使用率

値が高い場合、システム負荷が高いことを示し、クライアントリクエストのレイテンシーが増加して、ユーザーエクスペリエンスに深刻な影響を与えます。

collectd_memory

Critical

メモリ使用率

値が高い場合、システム負荷が高いことを示し、クライアントリクエストのレイテンシーが増加して、ユーザーエクスペリエンスに深刻な影響を与えます。

collectd_df_df_complex

Critical

ディスク使用率

値が高い場合、使用可能なディスク領域が不足していることを示し、データの永続性を確保できなくなる可能性があるほか、システムダウンタイムのリスクが高まります。

SSTable のコンパクション

メトリクス

レベル

説明

解説

mcac_table_pending_compactions

Major

進行中の SSTable のコンパクションタスク数

値が高い場合、システム負荷が高いことを示し、クライアントリクエストのレイテンシーが増加します。SSTable に対して適切なコンパクション間隔を設定してください。

mcac_table_compaction_bytes_written_total

Major

SSTable のコンパクション速度

値が低い場合、コンパクション速度が遅く、タスクが滞留する可能性があります。ノードスペックのアップグレードを検討してください。

mcac_table_compression_ratio

Major

SSTable の圧縮率

値が高い場合、圧縮後のファイルが依然として大きく、圧縮の効果が低いことを示します。

ディスクファイル

メトリクス

レベル

説明

解説

mcac_table_live_ss_table_count

Major

SSTable の数

値が高い場合、ディスク使用率が増加し、読み取り/書き込みレイテンシーが増加します。適切な SSTable のコンパクション戦略を設定してください。

mcac_table_live_disk_space_used_total

Major

SSTable が使用するディスク領域

値が高い場合、ディスク使用率が増加し、読み取り/書き込みレイテンシーが増加します。適切な SSTable のコンパクション戦略を設定してください。

mcac_table_ss_tables_per_read_histogram

Major

読み取り操作あたりに読み取られる SSTable の数

値が高い場合、クライアント読み取りレイテンシーが増加します。

mcac_commit_log_total_commit_log_size

Major

コミットログが使用するディスク領域

値が高い場合、ディスク領域が不足し、読み取り/書き込みパフォーマンスが低下するほか、データ復旧時間が長くなる可能性があります。

mcac_table_memtable_live_data_size

Major

MemTable が使用する領域

値が高い場合、データ書き込みパフォーマンスとノードの安定性が低下する可能性があります。

mcac_table_waiting_on_free_memtable_space

Major

MemTable の領域が解放されるまでの待機時間

値が高い場合、データ書き込みパフォーマンスとノードの安定性が低下する可能性があります。

スレッドプールの状態

メトリクス

レベル

説明

解説

mcac_thread_pools_active_tasks

Critical

スレッドプール内のアクティブタスクの数

値が高い場合、システム負荷が高いことを示します。これにより、応答が遅くなり、他のタスクの実行が遅延する可能性があります。

mcac_thread_pools_total_blocked_tasks_total

Critical

スレッドプール内のブロックされたタスクの数

ブロックされたタスクが多すぎると、システムリソースを消費し、応答が遅くなるほか、システムがクラッシュする可能性もあります。

mcac_thread_pools_pending_tasks

Critical

スレッドプール内の保留中のタスクの数

保留中のタスクが多すぎると、過剰なシステムリソースを消費し、対応するリクエストがタイムアウトするほか、システムがクラッシュする可能性もあります。

mcac_thread_pools_completed_tasks

Major

スレッドプール内の完了したタスクの数

このメトリクスは、システムのスループットを反映します。値が高いほどシステムパフォーマンスが高いことを示します。

JVM メトリクス

メトリクス

レベル

説明

解説

mcac_jvm_memory_used

Critical

使用中の JVM ヒープメモリ

値が高い場合、メモリが不足し、ガベージコレクション (GC) が頻繁に発生して、アプリケーションのスループットが低下する可能性があります。

mcac_jvm_gc_time

Critical

ガベージコレクション (GC) に費やした時間

値が高い場合、GC が頻繁に発生していることを示します。システムがユーザーワークロードを実行できる時間が短くなるため、リクエストがタイムアウトしたり、システムがクラッシュしたりする可能性があります。