ostent

command module
v0.7.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Sep 19, 2016 License: MIT Imports: 21 Imported by: 0

README

Ostent Travis CI

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

The interactive display UI (demo):

Screenshot

System metrics collected and reported:

  • RAM, swap usage
  • CPU usage, load average
  • Disk space usage in bytes and inodes
  • Network ins and outs in bytes, packets, drops and errors

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:

  • Linux
  • FreeBSD
  • Mac OS X

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:

  • share/assets/bindata.*.go
  • share/assets/css/*.css
  • share/assets/js/*/*.js
  • share/templates/*.html
  • share/templates/bindata.*.go
  • share/js/*.jsx

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

gulp watch

  • watches share/{js,style,templatesorigin} and rebuilds dependants on changes
  • does live-reloading ostent code run
  • acceps all ostent flags e.g. gulp watch -b 127.0.0.1:8080
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

  • serve assets and use template from actual files
  • have a set of flags facilitating debugging etc.

Documentation

The Go Gopher

There is no documentation for this package.

Directories

Path Synopsis
cmd
Package ostent is the library part of ostent cmd.
Package ostent is the library part of ostent cmd.
share
Package templateutil features LazyTemplate.
Package templateutil features LazyTemplate.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL