Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add Observability for Spring Data Cassandra with Micrometer Integration #5

Open
ranzyblessings opened this issue Feb 11, 2025 · 0 comments
Labels
good first issue Good for newcomers help wanted Extra attention is needed

Comments

@ranzyblessings
Copy link
Owner

Summary

We need to implement full observability for Spring Data Cassandra by integrating Micrometer for monitoring and trace collection. This will enable us to track Cassandra operations and expose them to observability platforms such as Jaeger, Prometheus, and Grafana.

Goals

  1. Integrate Micrometer with Spring Data Cassandra for Cassandra command tracing and metrics.
  2. Enable full distributed tracing with Jaeger to visualize Cassandra interactions alongside application traces.
  3. Expose Cassandra metrics to Prometheus for scraping and Grafana for visualization.

Requirements

  1. Jaeger Integration:

    • Ensure Cassandra queries (select, insert, update, delete, etc.) are captured and traced in Jaeger.
    • Ability to see the performance and latency of Cassandra operations alongside application traces in the Jaeger UI.
  2. Prometheus & Grafana Integration:

    • Expose Cassandra command metrics (e.g., operation count, latency, error rates) through Micrometer.
    • Ensure Prometheus can scrape these metrics for long-term storage and analysis.
    • Create Grafana dashboards to visualize Cassandra-specific metrics, such as:
      • Operations per second (insert, query, update, delete)
      • Latency for Cassandra queries
      • Error rates for Cassandra operations
      • Connection counts and resource utilization (memory, CPU, disk I/O)
  3. Configuration Details:

    • Use Micrometer’s Cassandra integration to capture the necessary metrics and traces.
    • Ensure Spring Micrometer Tracing is configured with Jaeger as the tracing system.
    • Configure Prometheus to scrape metrics from Spring Boot Actuator endpoints, specifically Cassandra metrics.

Expected Outcome

  1. Cassandra operation traces should appear in Jaeger with detailed spans for each command type (select, insert, update).
  2. Prometheus should collect and store Cassandra-specific metrics, and Grafana should display them in a usable dashboard.
  3. Team members will have comprehensive visibility into both Cassandra performance and the overall health of the application.

Priority

This is a high priority as it will improve observability, help identify bottlenecks, and ensure better monitoring for our production systems.

References

Notes

Please refer to Micrometer’s documentation for details on Cassandra integration, Jaeger, and Prometheus configuration options. Ensure the tracing configurations are optimized to minimize overhead.

@ranzyblessings ranzyblessings added enhancement New feature or request good first issue Good for newcomers help wanted Extra attention is needed and removed enhancement New feature or request labels Feb 11, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
good first issue Good for newcomers help wanted Extra attention is needed
Projects
None yet
Development

No branches or pull requests

1 participant