All Products
Search
Document Center

Managed Service for Prometheus:Monitor Cassandra dengan Prometheus

Last Updated:Aug 28, 2026

Topik ini menjelaskan cara memantau Cassandra menggunakan Managed Service for Prometheus.

Prasyarat

Anda telah membuat instans Prometheus. Untuk informasi selengkapnya, lihat:

Langkah 1: Deploy Cassandra JMX agent

  1. Unduh Cassandra JMX agent yang sesuai dengan versi Cassandra Anda ke instans ECS tempat Cassandra berjalan.

  2. Ekstrak paket agent yang diunduh ke direktori MCAC_ROOT, lalu tambahkan konten berikut ke file cassandra-env.sh.

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

    Cassandra JMX agent membuka port 9103 agar Prometheus dapat mengambil data. Untuk mengubah port ini, ubah nilainya dalam file ${MCAC_ROOT}/config/collectd.conf.tmpl menjadi port yang Anda inginkan.

    LoadPlugin write_prometheus
    <Plugin write_prometheus>
      Port "9103"
    </Plugin>
  3. Setelah konfigurasi selesai, restart aplikasi Cassandra. Di server ECS, jalankan perintah curl localhost:{jmx_port}/metrics. Instalasi yang berhasil akan mengembalikan data metrik.

    # 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

Langkah 2: Integrasi Cassandra

  1. Masuk ke Cloud Monitor console.

  2. Di panel navigasi kiri, klik Access Center.

  3. Pada halaman Access Center, di bagian Database, klik Cassandra.

  1. Pada tab Start Integration panel Cassandra, konfigurasikan parameter, lalu klik OK.

    Parameter

    Deskripsi

    Select environment type

    Pilih tipe lingkungan:

    • Container Service environment

    • ECS (Virtual Private Cloud (VPC))

    Select cluster

    Pilih kluster target.

    Pod label

    Label pod tempat layanan Cassandra berjalan. Disarankan menggunakan label unik.

    Service port

    Port yang digunakan oleh Cassandra JMX agent yang dipasang pada Langkah 1. Port default akan diisi secara otomatis.

    Metrics path

    Titik akhir metrik dari Cassandra JMX agent yang dipasang pada Langkah 1. Jalur default akan diisi secara otomatis.

    Scrape interval (seconds)

    Interval pengambilan metrik dalam detik. Nilai default adalah 30.

Langkah 3: Lihat dasbor Cassandra

  1. Masuk ke Cloud Monitor console.

  2. Di panel navigasi kiri, klik Data Import Management.

  3. Pada halaman Data Import Management, klik tab Installed. Temukan lingkungan yang diinginkan dan klik namanya untuk membuka halaman detail.

  4. Pada tab Component Management, klik Cassandra di bagian Component Type, lalu klik tab Dashboards untuk melihat semua nama dasbor.

    Halaman ini menampilkan dua dasbor: Cassandra Detail dan Cassandra Summary.

  5. Klik nama dasbor untuk melihat Dasbor Grafana.

Langkah 4: Konfigurasi alert Cassandra

  1. Pada tab Component Management, klik Cassandra di bagian Component Type, lalu klik tab Alert Rules untuk melihat aturan alert default.

    Aturan alert default mencakup:

    • Request timeouts

    • Failed requests

    • Total messages

    • Disk usage

    • Memory usage

    • CPU usage

    • Client connections

  2. Anda juga dapat membuat aturan alert kustom. Untuk informasi selengkapnya, lihat Create a Prometheus alert rule.

Metrik utama

Informasi kluster dan node

Metric

Level

Deskripsi

Penjelasan

mcac_client_connected_native_clients

Major

Jumlah koneksi CQL

Jumlah koneksi yang berlebihan mengonsumsi sumber daya sistem dan meningkatkan latensi klien.

mcac_table_live_disk_space_used_total

Major

Ruang disk yang digunakan oleh Cassandra

Nilai tinggi dapat menyebabkan ruang disk tidak mencukupi dan meningkatkan latensi akses data.

mcac_table_snapshots_size

Recommended

Ukuran file snapshot Cassandra

Snapshot digunakan untuk pemulihan data. Nilai tinggi dapat menyebabkan ruang disk tidak mencukupi sehingga snapshot lengkap tidak dapat disimpan.

collectd_uptime

Major

Waktu aktif node

Nilai tinggi menunjukkan sistem belum direstart dalam waktu lama. Jika sistem memiliki kerentanan yang diketahui, hal ini dapat meningkatkan risiko keamanan.

Metrik kinerja utama

Metric

Level

Deskripsi

Penjelasan

mcac_table_read_latency

Critical

Latensi baca klien

Nilai tinggi memperlambat pembacaan aplikasi dan berdampak pada pengalaman pengguna.

mcac_table_write_latency

Critical

Latensi tulis klien

Nilai tinggi memperlambat penulisan aplikasi dan berdampak pada pengalaman pengguna.

Eksepsi dan error

Metric

Level

Deskripsi

Penjelasan

mcac_client_request_timeouts_total

Critical

Permintaan klien yang timeout

Nilai tinggi menunjukkan beban sistem berat, yang sangat memengaruhi pengalaman pengguna.

mcac_client_request_failures_total

Critical

Permintaan klien dengan eksepsi

Nilai tinggi menunjukkan beban sistem berat, yang sangat memengaruhi pengalaman pengguna.

mcac_dropped_message_dropped_total

Critical

Pesan yang dibuang

Nilai tinggi menunjukkan beban sistem berat, yang sangat memengaruhi pengalaman pengguna.

Cache dan Bloom filter

Metric

Level

Deskripsi

Penjelasan

mcac_table_key_cache_hit_rate

Major

Tingkat hit cache kunci

Nilai rendah dapat menurunkan kinerja baca aplikasi dan memengaruhi pengalaman pengguna.

mcac_table_row_cache_hit_total

Major

Jumlah hit cache baris

Nilai rendah dapat menurunkan kinerja baca aplikasi dan memengaruhi pengalaman pengguna.

mcac_table_row_cache_miss_total

Recommended

Jumlah cache miss cache baris

Nilai tinggi dapat menurunkan kinerja baca aplikasi dan memengaruhi pengalaman pengguna.

mcac_table_row_cache_hit_out_of_range_total

Recommended

Jumlah hit cache baris yang tetap memerlukan akses disk.

Nilai tinggi dapat menurunkan kinerja baca aplikasi dan memengaruhi pengalaman pengguna.

mcac_table_bloom_filter_false_ratio

Major

Rasio false positive Bloom filter

Rasio false positive yang tinggi pada Bloom filter menyebabkan banyak elemen yang tidak ada salah diidentifikasi sebagai ada. Hal ini membuang waktu dan sumber daya kueri, sehingga menurunkan kinerja kueri dan meningkatkan biaya.

Penggunaan CPU, memori, dan disk

Metric

Level

Deskripsi

Penjelasan

collectd_cpu_total

Critical

Penggunaan CPU

Nilai tinggi menunjukkan beban sistem tinggi, yang meningkatkan latensi permintaan klien dan sangat memengaruhi pengalaman pengguna.

collectd_memory

Critical

Penggunaan memori

Nilai tinggi menunjukkan beban sistem tinggi, yang meningkatkan latensi permintaan klien dan sangat memengaruhi pengalaman pengguna.

collectd_df_df_complex

Critical

Penggunaan disk

Nilai tinggi menunjukkan ruang disk tersedia tidak mencukupi, yang dapat mencegah persistensi data dan berisiko menyebabkan downtime sistem.

Kompaksi SSTable

Metric

Level

Deskripsi

Penjelasan

mcac_table_pending_compactions

Major

Tugas kompaksi SSTable yang sedang berlangsung

Nilai tinggi menunjukkan beban sistem tinggi, yang meningkatkan latensi permintaan klien. Konfigurasikan interval kompaksi SSTable yang wajar.

mcac_table_compaction_bytes_written_total

Major

Laju kompaksi SSTable

Nilai rendah menunjukkan laju kompaksi lambat, yang dapat menyebabkan penumpukan tugas. Pertimbangkan untuk meningkatkan spesifikasi node.

mcac_table_compression_ratio

Major

Rasio kompresi SSTable

Nilai tinggi menunjukkan file terkompresi masih terlalu besar dan kompresi tidak efektif.

File disk

Metric

Level

Deskripsi

Penjelasan

mcac_table_live_ss_table_count

Major

Jumlah SSTable

Nilai tinggi meningkatkan penggunaan disk dan latensi baca/tulis. Konfigurasikan strategi kompaksi SSTable yang tepat.

mcac_table_live_disk_space_used_total

Major

Ruang disk yang digunakan oleh SSTable

Nilai tinggi meningkatkan penggunaan disk dan latensi baca/tulis. Konfigurasikan strategi kompaksi SSTable yang tepat.

mcac_table_ss_tables_per_read_histogram

Major

Jumlah SSTable yang dibaca per operasi baca

Nilai tinggi meningkatkan latensi baca klien.

mcac_commit_log_total_commit_log_size

Major

Ruang disk yang digunakan oleh commit log

Nilai tinggi dapat menyebabkan ruang disk tidak mencukupi, menurunkan kinerja baca/tulis, dan memperpanjang waktu pemulihan data.

mcac_table_memtable_live_data_size

Major

Ruang yang digunakan oleh MemTable

Nilai tinggi dapat menurunkan kinerja penulisan data dan stabilitas node.

mcac_table_waiting_on_free_memtable_space

Major

Waktu yang dihabiskan menunggu ruang MemTable dibebaskan

Nilai tinggi dapat menurunkan kinerja penulisan data dan stabilitas node.

Status kolam thread

Metric

Level

Deskripsi

Penjelasan

mcac_thread_pools_active_tasks

Critical

Jumlah tugas aktif dalam kolam thread

Terlalu banyak tugas yang diblokir mengonsumsi sumber daya sistem, memperlambat respons, dan bahkan dapat menyebabkan sistem crash.

mcac_thread_pools_total_blocked_tasks_total

Critical

Jumlah tugas yang diblokir dalam kolam thread

Terlalu banyak tugas yang diblokir mengonsumsi sumber daya sistem, memperlambat respons, dan bahkan dapat menyebabkan sistem crash.

mcac_thread_pools_pending_tasks

Critical

Jumlah tugas tertunda dalam kolam thread

Terlalu banyak tugas tertunda mengonsumsi sumber daya sistem secara berlebihan, menyebabkan permintaan terkait timeout, dan bahkan dapat menyebabkan sistem crash.

mcac_thread_pools_completed_tasks

Major

Jumlah tugas yang selesai dalam kolam thread

Metrik ini mencerminkan throughput sistem. Nilai yang lebih tinggi menunjukkan kinerja sistem yang lebih baik.

Metrik JVM

Metric

Level

Deskripsi

Penjelasan

mcac_jvm_memory_used

Critical

Memori heap JVM yang digunakan

Nilai tinggi dapat menyebabkan kekurangan memori, yang memicu Pengumpulan sampah (garbage collection) yang sering dan mengurangi throughput aplikasi.

mcac_jvm_gc_time

Critical

Waktu yang dihabiskan untuk garbage collection (GC)

Nilai tinggi menunjukkan GC sering terjadi. Sistem memiliki lebih sedikit waktu untuk menjalankan beban kerja pengguna, yang dapat menyebabkan timeout permintaan atau bahkan crash sistem.