Top Banner
Real-time Monitoring with Riemann Patricia Gorla @patriciagorla Cassandra Consultant www.thelastpickle.com OSCON
46

Monitoring Cassandra with Riemann

Aug 27, 2014

Download

Software

Patricia Gorla

Monitor your Cassandra cluster using Riemann
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Monitoring Cassandra with Riemann

Real-time Monitoring with Riemann

Patricia Gorla@patriciagorlaCassandra Consultantwww.thelastpickle.com

OSCON

Page 2: Monitoring Cassandra with Riemann

About Us

• Work with clients to deliver and improve Apache Cassandra services

• Apache Cassandra committer, Datastax MVP, Hector maintainer, Apache Usergrid committer

• Based in New Zealand & USA

Page 3: Monitoring Cassandra with Riemann

Overview

Setting up Riemann

Simple Monitoring

Aggregate Monitoring

Page 4: Monitoring Cassandra with Riemann

Monitoring a cluster

Page 5: Monitoring Cassandra with Riemann

database Compactions Pending!Data Size!Read/Write Requests!Read/Write Latency!CF SSTable Size

Page 6: Monitoring Cassandra with Riemann

database Compactions Pending!Data Size!Read/Write Requests!Read/Write Latency!CF SSTable Size

Read/Write Request Timeouts!Dropped Messages!Hints Stored

networking

Page 7: Monitoring Cassandra with Riemann

database Compactions Pending!Data Size!Read/Write Requests!Read/Write Latency!CF SSTable Size

Read/Write Request Timeouts!Dropped Messages!Hints Stored

networking

JVM CMS Collection Time!ParNew Collection Time

Page 8: Monitoring Cassandra with Riemann

org.apache.cassandra.metrics

• Codahale metrics library first introduced in CASSANDRA-3671 (v 1.1)

• Pluggable reporters introduced in CASSANDRA-4430 (v 2.0.2)

• Complete description in Apache documentation

Dropped MessagesCache

Commit LogCompactionConnection

Client RequestStorage

Page 9: Monitoring Cassandra with Riemann

Riemann• Real-time

copyright Kyle Kingsbury, used with permission

Page 10: Monitoring Cassandra with Riemann

Riemann• Real-time

• Streams are successions of filters

copyright Kyle Kingsbury, used with permission

Page 11: Monitoring Cassandra with Riemann

Riemann• Real-time

• Streams are successions of filters

• Expressive programming language

copyright Kyle Kingsbury, used with permission

Page 12: Monitoring Cassandra with Riemann

Monitoring Ecosystem

Page 13: Monitoring Cassandra with Riemann

Download package from riemann.io

Page 14: Monitoring Cassandra with Riemann

/etc/riemann/riemann.config

Page 15: Monitoring Cassandra with Riemann

Modified version of https://github.com/addthis/metrics-reporter-config

Page 16: Monitoring Cassandra with Riemann

Specify the metrics to send from Cassandra

Page 17: Monitoring Cassandra with Riemann

cassandra-env.sh

Page 18: Monitoring Cassandra with Riemann

Starting Cassandra

Page 19: Monitoring Cassandra with Riemann

INFO [2014-07-15 21:44:50,712] pool-1-thread-1 - riemann.config - average event #riemann.codec.Event{ :host x.x.x.x, :service org.apache.cassandra.metrics ClientRequest Write Latency .95, :state “ok”, :description nil, :metric 19514.037499999988, :tags nil, :time 1405482287, :ttl nil }

Page 20: Monitoring Cassandra with Riemann

INFO [2014-07-15 21:44:50,712] pool-1-thread-1 - riemann.config - average event #riemann.codec.Event{ :host x.x.x.x, :service org.apache.cassandra.metrics ClientRequest Write Latency .95, :state “ok”, :description nil, :metric 19514.037499999988, :tags nil, :time 1405482287, :ttl nil }

Page 21: Monitoring Cassandra with Riemann

INFO [2014-07-15 21:44:50,712] pool-1-thread-1 - riemann.config - average event #riemann.codec.Event{ :host x.x.x.x, :service org.apache.cassandra.metrics ClientRequest Write Latency .95, :state “ok”, :description nil, :metric 19514.037499999988, :tags nil, :time 1405482287, :ttl nil }

Page 22: Monitoring Cassandra with Riemann

INFO [2014-07-15 21:44:50,712] pool-1-thread-1 - riemann.config - average event #riemann.codec.Event{ :host x.x.x.x, :service org.apache.cassandra.metrics ClientRequest Write Latency .95, :state “ok”, :description nil, :metric 19514.037499999988, :tags nil, :time 1405482287, :ttl nil }

Page 23: Monitoring Cassandra with Riemann

INFO [2014-07-15 21:44:50,712] pool-1-thread-1 - riemann.config - average event #riemann.codec.Event{ :host x.x.x.x, :service org.apache.cassandra.metrics ClientRequest Write Latency .95, :state “ok”, :description nil, :metric 19514.037499999988, :tags nil, :time 1405482287, :ttl nil }

package name class module

Page 24: Monitoring Cassandra with Riemann

INFO [2014-07-15 21:44:50,712] pool-1-thread-1 - riemann.config - average event #riemann.codec.Event{ :host x.x.x.x, :service org.apache.cassandra.metrics ClientRequest Write Latency .95, :state “ok”, :description nil, :metric 19514.037499999988, :tags nil, :time 1405482287, :ttl nil }

Page 25: Monitoring Cassandra with Riemann

/etc/riemann/riemann.config

Page 26: Monitoring Cassandra with Riemann

• Flexible

• Simple to set up

• Keyboard shortcuts

riemann-dash

Page 27: Monitoring Cassandra with Riemann

Edit graphs with keyboard shortcuts

Page 28: Monitoring Cassandra with Riemann
Page 29: Monitoring Cassandra with Riemann

Mean 95th Percentile Latency across all nodes

Page 30: Monitoring Cassandra with Riemann

Mean 95th Percentile Latency across all nodes

Page 31: Monitoring Cassandra with Riemann

Can also use fixed-event-window for less regular occurrences

Page 32: Monitoring Cassandra with Riemann

Mean 95th Percentile Latency across all nodes++

Page 33: Monitoring Cassandra with Riemann

Mean 95th Percentile Latency across all nodes++

Page 34: Monitoring Cassandra with Riemann

Mean 95th Percentile Latency across all nodes++

Page 35: Monitoring Cassandra with Riemann

(avg)

Chart in riemann-dash

Page 36: Monitoring Cassandra with Riemann

(avg)

Chart in riemann-dash

Page 37: Monitoring Cassandra with Riemann
Page 38: Monitoring Cassandra with Riemann
Page 39: Monitoring Cassandra with Riemann

(avg)

Detecting threshold breaches

Page 40: Monitoring Cassandra with Riemann

Generalise which metrics to monitor

Page 41: Monitoring Cassandra with Riemann
Page 42: Monitoring Cassandra with Riemann
Page 43: Monitoring Cassandra with Riemann

Call the custom function in the (streams …) section

Page 44: Monitoring Cassandra with Riemann
Page 45: Monitoring Cassandra with Riemann
Page 46: Monitoring Cassandra with Riemann

Patricia Gorla@patriciagorlaCassandra Consultantwww.thelastpickle.com

OSCONQ&A