Home

Awesome

Ostent Travis CI

Ostent collects metrics to display and report to InfluxDB, Graphite, Librato.

Screenshot

System metrics collected and reported:

The processes top is on-display only.

Install

Ostent is a single executable. Release tarball has the binary — download and extract in one go:

curl -L https://github.com/ostrost/ostent/releases/download/v0.7.0/`uname`-`uname -m`.tar.xz | tar Jxf -

This will place executable in ./usr/**/bin/ostent. For system-wide install use sudo tar Jxf - -C / <<<....

Platforms:

Usage

$ ostent -h
Ostent is a server tool to collect, display and report system metrics.

Usage:
  ostent [flags]

Flags:
      --bind string         server bind address (default "")
      --bind-port int       server bind port (default 8050)
      --config string       config filename (default "$HOME/.ostent.toml")
      --interval duration   metrics collection interval (default 10s)
      --log-requests        log server requests (default false)
      --upgrade-checks      periodic upgrade checks (default true)
      --version             print version and exit

Config

Configuration file supports all [telegraf][3] settings. Ostent implementation features extra [agent] bind and bind_port. Otherwise same structure, sections and options of [telegraf config][3]. [3]: https://github.com/influxdata/telegraf/blob/master/docs/CONFIGURATION.md#agent-configuration

Defaults for options and plugins applied when they're not stated in the file. Each default plugin can be disabled with it's disabled = true. Effective runtime config is printed at ostent startup and reload.

To enable reporting to InfluxDB:

[outputs]
  [outputs.influxdb]
    database = "ostent"
    urls = ["http://127.0.0.1:8086"]

Other outputs sections would be [outputs.graphite] and [outputs.librato].

Running the code

  1. go get github.com/ostrost/ostent
  2. ostent to run.

See also Two kind of builds.

Rebuilding

  1. cd $(go list -f {{.Dir}} github.com/ostrost/ostent)
  2. make init once.
  3. npm install once, optional, sets up assets and template rebuilding.
  4. gulp watch or make after changes.

make rebuilds these commited to the repo files:

If you don't change source files, content re-generated should not differ from the commited.

gulp watch

Two kinds of builds

Standalone and release binaries produced by make (or go get -tags bin) include embeded template and assets.

Non-bin builds made by gulp watch and go get