Skip to content
An experiment in exported metrics and monitoring
Ruby JavaScript
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.
app
autotest
bin
config
doc/rdoc/generators
lib
public
spec
.gitignore
README
Rakefile
slashport.gemspec

README

Goals:
- replace snmpd on hosts, because extending snmpd sucks
- be easy to use and trivial to extend
- be simple, use common protocols and formats for easy of use by any language.

Standardize on exporting:
- state data/variables
- configuration

Exported data is simply a list of attributes.
An attribute is basically a key-value pair, where the key has multiple dimensions and the value can be multiple values.

A simple example is exporting data about a host network interface. We might have multiple dimensions that label each data point:
* component = host
* section = network
* interface = eth0
* interface_type = ethernet

Multiple state and statistics data can be pointed at by the above set of labels:
* packets and bytes received and transmitted
* link state
* link speed
* error counts
* etc...

In ruby, this might present itself as a hash where both key and value are hashes themselves:

attribute = {
  { "component" => "host", "section" => "network",
    "interface" => "eth0", "interface_type" => "ethernet" } =>
  { "link-state" => "UP", "link-speed": 1000,
    "tx-packets" => 29293857, "tx-bytes" => 298752983759827,
    ...
  }
}

Something went wrong with that request. Please try again.