Solanum
This gem provides a monitoring daemon which can be configured to collect data
from a variety of pluggable sources. The results can be printed to the console
or sent to a Riemann server. This requires the
riemann-client
gem to work.
Installation
TODO
Metric Events
Solanum represents each measurement datapoint as an event. Each event must
have at minimum a service
and metric
with the measurement name and value,
respectively. Events may also contain other attributes such as a state
, ttl
,
tags
, and so on - see the Riemann concepts
page for more details.
Configuration
Solanum is configured using one or more YAML files. These specify common event attributes, sources, and outputs.
See the example config in this repo for possible config options.
Defaults
The defaults
section of the config provides common attributes to apply to
every event. This can be used to provide a common TTL, tags, and more.
Sources
A source is a class which extends Solanum::Source
and implements the
collect!
method to return metric events. Solanum comes with several metric
sources built in, including basic host-level monitoring of CPU usage, load,
memory, diskstats, network, and more.
Additional custom sources can be provided, as long as they are in Ruby's lib path for the daemon.
Outputs
An output is a destination to report the collected events to. The simplest
one is the print
output, which writes each event to STDOUT. This is useful for
debugging, but you probably won't leave it on for deployed daemons.
The other included choice is the riemann
output, which sends each event to a
Riemann monitoring server.
License
This is free and unencumbered software released into the public domain. See the UNLICENSE file for more information.