Kamino is a Monitoring and Troubleshooting platform for Microservices. Kamino was founded by the creators of Kamon and designed from the ground up with one goal in mind: create a monitoring platform that can accept all the metrics and tracing data exactly as Kamon records it: no averages, no summaries, no downsampling, no data quality loss. Having the entire data that Kamon captures means proper aggregation of data across instances and proper percentiles calculation, which translates in better, accurate and relevant alerts and insight on your application’s behavior.
Add the kamino-reporter
dependency to your build:
Adding the dependency to SBT would look like this:
libraryDependencies += "io.kamon" %% "kamino-reporter" % "1.0.0"
Once the reporter is on your classpath you can add it like any other Kamon reporter. Take into account that there are two reporters:
kamon.kamino.KaminoReporter
sends Metrics data to Kamino.kamon.kamino.KaminoTracingReporter
sends Tracing data to Kamino.Make sure you add both reporters:
import kamon.kamino.{KaminoReporter, KaminoTracingReporter}
Kamon.addReporter(new KaminoReporter())
Kamon.addReporter(new KaminoTracingReporter())
At a minimum you should provide your Kamino API key to start reporting data using the kamino.api-key
configuration
setting in your application.conf
file:
kamino {
api-key = "abcdefghijklmnopqrstuvwxyz"
}
You can find your API key in Kamino’s Administration section.
Kamino has a deep understanding on all metrics reported by Kamon and provides ready to use dashboards that make it super easy to start looking at service, JVM, Hosts, Akka-related metrics, Traces and more. Here are some examples from a demo application: