Todos los productos
Search
Centro de documentos

Managed Service for Prometheus:Supervisar Cassandra con Prometheus

Última actualización: Oct 09, 2026

Este tema describe cómo supervisar Cassandra mediante Managed Service for Prometheus.

Requisitos previos

Debe haber creado una instancia de Prometheus. Para obtener más información, consulte:

Paso 1: Desplegar el agente JMX de Cassandra

  1. Descargue el agente JMX de Cassandra que corresponda a su versión en la instancia de ECS donde se ejecuta Cassandra.

  2. Descomprima el paquete del agente descargado en el directorio MCAC_ROOT y agregue a continuación el siguiente contenido al archivo cassandra-env.sh.

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

    El agente JMX de Cassandra expone el puerto 9103 para que Prometheus extraiga los datos. Si desea cambiar este puerto, modifique el valor en el archivo ${MCAC_ROOT}/config/collectd.conf.tmpl por el puerto que prefiera.

    LoadPlugin write_prometheus
    <Plugin write_prometheus>
      Port "9103"
    </Plugin>
  3. Una vez completada la configuración, reinicie la aplicación de Cassandra. En el servidor de ECS, ejecute el comando curl localhost:{jmx_port}/metrics. Una instalación exitosa devuelve datos.

    # 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

Paso 2: Integrar Cassandra

  1. Inicie sesión en la consola de ARMS.

  2. Inicie sesión en la consola de Cloud Monitor.

  3. En el panel de navegación izquierdo, haga clic en Access Center.

  4. En la página Access Center, dentro de la sección Database, haga clic en Cassandra.

  1. En la pestaña Start Integration del panel Cassandra, configure los parámetros y luego haga clic en OK.

    Parámetro

    Descripción

    Select environment type

    Seleccione el tipo de entorno:

    • Container Service environment

    • ECS (Virtual Private Cloud (VPC))

    Select cluster

    Seleccione el clúster de destino.

    Pod label

    La etiqueta del pod que ejecuta el servicio de Cassandra. Se recomienda usar una etiqueta única.

    Service port

    El puerto que utiliza el agente JMX de Cassandra instalado en el paso 1. El puerto predeterminado se introduce automáticamente.

    Metrics path

    El endpoint de métricas del agente JMX de Cassandra instalado en el paso 1. La ruta predeterminada se introduce automáticamente.

    Scrape interval (seconds)

    El intervalo, en segundos, para extraer las métricas. El valor predeterminado es 30.

Paso 3: Consultar los paneles de Cassandra

  1. Inicie sesión en la consola de Cloud Monitor.

  2. Inicie sesión en la consola de ARMS.

  3. En el panel de navegación izquierdo, haga clic en Data Import Management.

  4. En la página Data Import Management, haga clic en la pestaña Installed. Busque el entorno deseado y haga clic en su nombre para abrir la página de detalles.

  5. En la pestaña Component Management, haga clic en Cassandra dentro de la sección Component Type y luego seleccione la pestaña Dashboards para consultar todos los nombres de los paneles.

    La página muestra dos paneles: Cassandra Detail y Cassandra Summary.

  6. Haga clic en el nombre de un panel para consultar el panel de Grafana.

Paso 4: Configurar alertas de Cassandra

  1. En la pestaña Component Management, haga clic en Cassandra dentro de la sección Component Type y luego seleccione la pestaña Alert Rules para consultar las reglas de alerta predeterminadas.

    Las reglas de alerta predeterminadas incluyen:

    • Tiempos de espera de solicitudes agotados

    • Solicitudes con errores

    • Total de mensajes

    • Uso de disco

    • Uso de memoria

    • Uso de CPU

    • Conexiones de clientes

  2. También puede crear reglas de alerta personalizadas. Para obtener más información, consulte Create a Prometheus alert rule.

Métricas clave

Información del clúster y de los nodos

Métrica

Nivel

Descripción

Explicación

mcac_client_connected_native_clients

Importante

Número de conexiones CQL

Un número excesivo de conexiones consume recursos del sistema y aumenta la latencia del cliente.

mcac_table_live_disk_space_used_total

Importante

Espacio en disco utilizado por Cassandra

Un valor alto puede provocar falta de espacio en disco y aumentar la latencia de acceso a los datos.

mcac_table_snapshots_size

Recomendado

Tamaño del archivo de instantánea de Cassandra

Las instantáneas se utilizan para recuperar datos. Un valor alto puede generar falta de espacio en disco e impedir almacenar instantáneas completas.

collectd_uptime

Importante

Tiempo de actividad del nodo

Un valor alto indica que el sistema no se ha reiniciado durante mucho tiempo. Si el sistema tiene vulnerabilidades conocidas, esto puede aumentar los riesgos de seguridad.

Métricas de rendimiento clave

Métrica

Nivel

Descripción

Explicación

mcac_table_read_latency

Crítico

Latencia de lectura del cliente

Un valor alto ralentiza las lecturas de la aplicación y afecta la experiencia del usuario.

mcac_table_write_latency

Crítico

Latencia de escritura del cliente

Un valor alto ralentiza las escrituras de la aplicación y afecta la experiencia del usuario.

Excepciones y errores

Métrica

Nivel

Descripción

Explicación

mcac_client_request_timeouts_total

Crítico

Solicitudes de cliente con tiempo de espera agotado

Un valor alto indica una carga pesada del sistema, lo cual afecta gravemente la experiencia del usuario.

mcac_client_request_failures_total

Crítico

Solicitudes de cliente con excepciones

Un valor alto indica una carga pesada del sistema, lo cual afecta gravemente la experiencia del usuario.

mcac_dropped_message_dropped_total

Crítico

Mensajes descartados

Un valor alto indica una carga pesada del sistema, lo cual afecta gravemente la experiencia del usuario.

Caché y filtros de Bloom

Métrica

Nivel

Descripción

Explicación

mcac_table_key_cache_hit_rate

Importante

Tasa de aciertos de la caché de claves

Un valor bajo puede reducir el rendimiento de lectura de la aplicación y afectar la experiencia del usuario.

mcac_table_row_cache_hit_total

Importante

Número de aciertos en la caché de filas

Un valor bajo puede reducir el rendimiento de lectura de la aplicación y afectar la experiencia del usuario.

mcac_table_row_cache_miss_total

Recomendado

Número de fallos en la caché de filas

Un valor alto puede reducir el rendimiento de lectura de la aplicación y afectar la experiencia del usuario.

mcac_table_row_cache_hit_out_of_range_total

Recomendado

Número de aciertos en la caché de filas que aun así requirieron acceso al disco.

Un valor alto puede reducir el rendimiento de lectura de la aplicación y afectar la experiencia del usuario.

mcac_table_bloom_filter_false_ratio

Importante

Proporción de falsos positivos del filtro de Bloom

Una proporción alta de falsos positivos en el filtro de Bloom provoca que muchos elementos inexistentes se identifiquen erróneamente como existentes. Esto desperdicia tiempo y recursos de consulta, lo que degrada el rendimiento y aumenta los costos.

Uso de CPU, memoria y disco

Métrica

Nivel

Descripción

Explicación

collectd_cpu_total

Crítico

Utilización de CPU

Un valor alto indica una carga elevada del sistema, lo que aumenta la latencia de las solicitudes del cliente y afecta gravemente la experiencia del usuario.

collectd_memory

Crítico

Uso de memoria

Un valor alto indica una carga elevada del sistema, lo que aumenta la latencia de las solicitudes del cliente y afecta gravemente la experiencia del usuario.

collectd_df_df_complex

Crítico

Uso de disco

Un valor alto indica que hay poco espacio disponible en disco, lo cual puede impedir la persistencia de datos y provocar caídas del sistema.

Compactación de SSTable

Métrica

Nivel

Descripción

Explicación

mcac_table_pending_compactions

Importante

Tareas de compactación de SSTable en curso

Un valor alto indica una carga elevada del sistema, lo que aumenta la latencia de las solicitudes del cliente. Configure un intervalo de compactación adecuado para las SSTables.

mcac_table_compaction_bytes_written_total

Importante

Tasa de compactación de SSTable

Un valor bajo indica una tasa de compactación lenta, lo que puede provocar acumulación de tareas. Considere actualizar las especificaciones del nodo.

mcac_table_compression_ratio

Importante

Relación de compresión de SSTable

Un valor alto indica que los archivos comprimidos siguen siendo demasiado grandes y que la compresión no es eficaz.

Archivos en disco

Métrica

Nivel

Descripción

Explicación

mcac_table_live_ss_table_count

Importante

Número de SSTables

Un valor alto incrementa el uso de disco y la latencia de lectura y escritura. Configure una estrategia de compactación de SSTable adecuada.

mcac_table_live_disk_space_used_total

Importante

Espacio en disco utilizado por las SSTables

Un valor alto incrementa el uso de disco y la latencia de lectura y escritura. Configure una estrategia de compactación de SSTable adecuada.

mcac_table_ss_tables_per_read_histogram

Importante

Número de SSTables leídas por cada operación de lectura

Un valor alto incrementa la latencia de lectura del cliente.

mcac_commit_log_total_commit_log_size

Importante

Espacio en disco utilizado por el registro de confirmación (commit log)

Un valor alto puede provocar falta de espacio en disco, degradar el rendimiento de lectura y escritura, y alargar el tiempo de recuperación de datos.

mcac_table_memtable_live_data_size

Importante

Espacio utilizado por MemTable

Un valor alto puede degradar el rendimiento de escritura de datos y la estabilidad del nodo.

mcac_table_waiting_on_free_memtable_space

Importante

Tiempo dedicado a esperar que se libere espacio en MemTable

Un valor alto puede degradar el rendimiento de escritura de datos y la estabilidad del nodo.

Estado del pool de hilos

Métrica

Nivel

Descripción

Explicación

mcac_thread_pools_active_tasks

Crítico

Número de tareas activas en el pool de hilos

Demasiadas tareas bloqueadas consumen recursos del sistema, ralentizan las respuestas e incluso pueden provocar la caída del sistema.

mcac_thread_pools_total_blocked_tasks_total

Crítico

Número de tareas bloqueadas en el pool de hilos

Demasiadas tareas bloqueadas consumen recursos del sistema, ralentizan las respuestas e incluso pueden provocar la caída del sistema.

mcac_thread_pools_pending_tasks

Crítico

Número de tareas pendientes en el pool de hilos

Demasiadas tareas pendientes consumen recursos excesivos del sistema, provocan tiempos de espera agotados en las solicitudes correspondientes e incluso pueden causar la caída del sistema.

mcac_thread_pools_completed_tasks

Importante

Número de tareas completadas en el pool de hilos

Esta métrica refleja el rendimiento general del sistema. Un valor más alto indica un mejor desempeño del sistema.

Métricas de JVM

Métrica

Nivel

Descripción

Explicación

mcac_jvm_memory_used

Crítico

Memoria heap de JVM utilizada

Un valor alto puede provocar falta de memoria, lo que desencadena recolecciones de basura frecuentes y reduce el rendimiento de la aplicación.

mcac_jvm_gc_time

Crítico

Tiempo dedicado a la recolección de basura (GC)

Un valor alto indica que la GC ocurre con frecuencia. El sistema dispone de menos tiempo para ejecutar las cargas de trabajo del usuario, lo que puede causar tiempos de espera agotados en las solicitudes o incluso caídas del sistema.