Skip to content
This repository

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP

An experiment in exported metrics and monitoring

branch: master

Fetching latest commit…

Octocat-spinner-32-eaf2f5

Cannot retrieve the latest commit at this time

Octocat-spinner-32 app
Octocat-spinner-32 autotest
Octocat-spinner-32 bin
Octocat-spinner-32 config
Octocat-spinner-32 doc
Octocat-spinner-32 lib
Octocat-spinner-32 public
Octocat-spinner-32 spec
Octocat-spinner-32 .gitignore
Octocat-spinner-32 README
Octocat-spinner-32 Rakefile
Octocat-spinner-32 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.