Skip to content

AxonOps — AI-Native Control Plane for Open Source Data Platforms

Cassandra Alerting Configuration

Effective alerting enables proactive response to cluster issues before they impact application performance.

CategoryPriorityResponse TimeExamples
CriticalP1Immediate (< 5 min)Node down, disk full, dropped messages
WarningP2Soon (< 1 hour)High latency, compaction backlog
InfoP3Next business dayCertificate expiring, minor threshold breach

A node becomes unreachable, reducing cluster capacity and fault tolerance.

ParameterValue
MetricNode status via gossip or agent heartbeat
ConditionUnreachable for > 1 minute
SeverityCritical

Response:

  1. Verify node status with nodetool status from another node
  2. Check if process is running on the affected node
  3. Review system logs for crash indicators
  4. Check network connectivity

Sustained high heap usage indicates memory pressure and increases GC pause risk.

ParameterValue
Metricjava.lang:type=Memory/HeapMemoryUsage
Condition> 85% for 5 minutes
SeverityCritical

Response:

  1. Check GC logs for long pauses
  2. Review nodetool tpstats for blocked stages
  3. Consider reducing concurrent operations
  4. Evaluate heap size configuration

Cassandra stops accepting writes when disk usage exceeds thresholds.

ParameterValue
MetricFilesystem usage on data directories
Condition> 85% used
SeverityCritical

Response:

  1. Identify largest tables with nodetool tablestats
  2. Run cleanup if data was recently deleted: nodetool cleanup
  3. Check for compaction backlog
  4. Add capacity or remove data

Dropped messages indicate the cluster cannot process requests within timeout.

ParameterValue
Metricorg.apache.cassandra.metrics:type=DroppedMessage
ConditionSustained dropped messages (>10/s for 1 minute)
SeverityCritical

Response:

  1. Identify which message types are dropping via nodetool tpstats
  2. Check for overloaded thread pools
  3. Review client request patterns
  4. Evaluate cluster capacity

Elevated read latency impacts application response times.

ParameterValue
MetricClientRequest.Read.Latency.99thPercentile
Condition> 100ms for 10 minutes
SeverityWarning

Response:

  1. Check nodetool proxyhistograms for coordinator vs local latency
  2. Review nodetool tablestats for problematic tables
  3. Check pending compactions
  4. Evaluate read patterns and data model

Elevated write latency may indicate commit log or memtable pressure.

ParameterValue
MetricClientRequest.Write.Latency.99thPercentile
Condition> 50ms for 10 minutes
SeverityWarning

Response:

  1. Check commit log directory disk I/O
  2. Review memtable flush frequency
  3. Verify commit log is on separate disk from data
  4. Check for concurrent compaction activity

Pending compactions indicate write volume exceeds compaction throughput.

ParameterValue
Metricorg.apache.cassandra.metrics:type=Compaction,name=PendingTasks
Condition> 30 for 15 minutes
SeverityWarning

Response:

  1. Review compaction throughput settings
  2. Check disk I/O utilization
  3. Evaluate compaction strategy for workload
  4. Consider increasing concurrent_compactors

Early warning of approaching memory pressure.

ParameterValue
Metricjava.lang:type=Memory/HeapMemoryUsage
Condition> 70% for 10 minutes
SeverityWarning

Response:

  1. Monitor GC activity trends
  2. Review recent workload changes
  3. Check for large partition access patterns
  4. Prepare for potential heap tuning

MetricWarningCriticalJMX Path
Heap Usage> 70%> 85%java.lang:type=Memory
Disk Usage> 60%> 80%OS-level metric
Read Latency p99> 50ms> 200msClientRequest.Read.Latency
Write Latency p99> 20ms> 100msClientRequest.Write.Latency
Pending Compactions> 20> 50Compaction.PendingTasks
Dropped Messages> 0> 10/sDroppedMessage.*.Dropped
GC Pause> 500ms> 1sjava.lang:type=GarbageCollector

AxonOps Monitoring includes pre-configured alerting for Cassandra clusters.

Alerts are configured in the AxonOps dashboard under Settings > Alerts.

  1. Navigate to Settings > Alerts > Create Alert
  2. Select the metric to monitor
  3. Define threshold conditions
  4. Set evaluation interval and duration
  5. Configure notification channels
ParameterDescription
MetricThe JMX metric or derived value to evaluate
OperatorComparison operator (>, <, =, !=)
ThresholdValue that triggers the alert
DurationTime the condition must persist
SeverityCritical, Warning, or Info
Name: High Read Latency
Metric: cassandra.client_request.read.latency.p99
Condition: > 100
Duration: 10 minutes
Severity: Warning

AxonOps supports multiple notification integrations:

ChannelUse Case
EmailGeneral notifications
SlackTeam collaboration
PagerDutyOn-call escalation
WebhookCustom integrations
OpsGenieIncident management

Configure channels under Settings > Integrations.


SeverityNotification
CriticalPagerDuty + Slack
WarningSlack only
InfoEmail digest

Configure different notification behavior for business hours vs off-hours:

  • Business hours: Warning alerts to Slack
  • Off-hours: Only critical alerts to PagerDuty

Each alert should reference a runbook with:

  1. Description: What the alert means
  2. Impact: How this affects the cluster/application
  3. Diagnosis: Steps to investigate
  4. Resolution: Actions to resolve
  5. Escalation: When and how to escalate

  • Establish baselines during normal operation
  • Set warning thresholds at 2x baseline
  • Set critical thresholds at 4x baseline or operational limits
  • Review and adjust quarterly
  • Require duration before alerting (avoid transient spikes)
  • Group related alerts
  • Use warning alerts for early indicators
  • Reserve critical for immediate action required

Minimum alert coverage for production clusters:

  • Node availability
  • Heap usage (warning and critical)
  • Disk usage (warning and critical)
  • Read/write latency
  • Dropped messages
  • Pending compactions
  • GC pause duration