Monitoring Riak using Circonus

       One of the core responsibilities that all engineering disciplines share at OmniTi is assessing the appropriateness of the technologies at hand. Recently, I have been assessing “NoSQL” database technology called Riak. As a DBA, I would like to learn a way to monitor the database server without wasting lots of time and energy! At OmniTi, we use Circonus to monitor, trend and alert on checks for the production servers . It turns out you can plug all the critical Riak Stats metrics into Circonus with no effort and very little time.Let me introduce both the technologies before I walk you through steps to plug the checks into the Circonus monitoring system.

What is Riak?

       Riak is a key/value store “NoSQL” distributed web scale database and written primarily in Erlang.
What is Circonus?
    Circonus , a SAAS offering,  gives a cohesive view of how IT affects business. Translating monitoring and trending into business sense—this is where Circonus shines. Circonus brings network monitoring back to a business intelligence system that is capable of graphing, trending, reporting and fault detection. 

    I am not going into details for installing and setting up Riak database server but it’s pretty easy to follow instruction on the Basho Wiki Page.  In my example, I have ec2 instance fired up and running riak database already and it is connected to 2 other nodes in the ring.  It’s easy to get Riak stats  from HTTP API  access. In this example, I am going to plug in some of the important metrics from  riak status  output provided by http stats command. 
Let’s assume that we want to monitor riak running on 10.19.143.96:8098 and circonus agent can access following url to get stats from the server :
http://10.19.143.96:8098/stats
1.  If you don’t have Circonus Account you can Sign Up using easy sign up process by clicking on “Sign Up” button on the top right corner on http://circonus.com/
2.  You will get the password in your email and use it for changing your account password and login to circonus.
3. Under “Checks/Metrics” and Click on “+” Sign to add new checks. It will pop-up new screen to select check type.
4.  Web -> General -> JSON and Select the Circonus Agent to use.
5.  Set  hostname=10.19.143.96 , URI=/stats and Port=8098 and click on Test check

 

6.  Next screen will give you all the metrics rerurned by the stats output and you can select the import ones and hit the “Finish”
7. Choose and enable required metrics. Out of 70 metrics provided by Stats output , I “enabled” only 12 important metrics for now. Though I will be looking for advice from you guys to add more metrics for monitoring, trending and alerting purposes.
8. Once they are getting tracked , you can generate graphs like:

 

      Yay! you have all the important metrics are in the circonus and you can generate graphs whenever you want and create worksheet per server or data center!!
I could add all the required checks for Riak Database server  under 5 minutes into Circonus!!  Share your experience and let me know if you find difficulty working with Circonus.