Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/ostrost/ostent
Ostent is a server tool to collect, display and report system metrics.
https://github.com/ostrost/ostent
devops metrics monitoring
Last synced: 6 days ago
JSON representation
Ostent is a server tool to collect, display and report system metrics.
- Host: GitHub
- URL: https://github.com/ostrost/ostent
- Owner: ostrost
- License: mit
- Created: 2014-03-31T04:52:10.000Z (over 10 years ago)
- Default Branch: master
- Last Pushed: 2022-12-12T14:53:10.000Z (almost 2 years ago)
- Last Synced: 2024-08-02T07:12:01.524Z (3 months ago)
- Topics: devops, metrics, monitoring
- Language: Go
- Homepage:
- Size: 27.3 MB
- Stars: 179
- Watchers: 7
- Forks: 14
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- awesome-influxdb - ostent - collects and displays system metrics and optionally relays to Graphite and/or InfluxDB (Consuming data from InfluxDB / Dashboards and visualization)
- awesome-go - ostent - Ostent is a server tool to collect, display and report system metrics. - ★ 157 (Software Packages)
- awesome-go-extra - ostent - 03-31T04:52:10Z|2022-03-13T12:36:27Z| (Go Tools / DevOps Tools)
README
# Ostent [![Travis CI][2]][1]
[1]: https://travis-ci.org/ostrost/ostent
[2]: https://travis-ci.org/ostrost/ostent.svg?branch=masterOstent collects metrics to display and report to InfluxDB, Graphite, Librato.
![Screenshot](./screenshot.png)
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 errorsThe processes top is on-display only.
## Install
Ostent is a single executable.
[Release tarball](https://github.com/ostrost/ostent/releases)
has the binary — download and extract in one go:```sh
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-configurationDefaults 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:
```toml
[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](#two-kinds-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.