Ostent is a server tool to collect, display and report system metrics.

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.
Similar Resources

Kepler (Kubernetes-based Efficient Power Level Exporter) uses eBPF to probe energy related system stats and exports as Prometheus metrics

Kepler (Kubernetes-based Efficient Power Level Exporter) uses eBPF to probe energy related system stats and exports as Prometheus metrics

kepler Kepler (Kubernetes Efficient Power Level Exporter) uses eBPF to probe energy related system stats and exports as Prometheus metrics Architectur

Dec 26, 2022

octant plugin for kubernetes policy report

octant plugin for kubernetes policy report

Policy Report octant plugin [Under development] Resource Policy Report Tab Namespace Policy Report Tab Policy Report Navigation Installation Install p

Aug 7, 2022

Vilicus is an open source tool that orchestrates security scans of container images(docker/oci) and centralizes all results into a database for further analysis and metrics.

Vilicus is an open source tool that orchestrates security scans of container images(docker/oci) and centralizes all results into a database for further analysis and metrics.

Vilicus Table of Contents Overview How does it work? Architecture Development Run deployment manually Usage Example of analysis Overview Vilicus is an

Dec 6, 2022

gpu-memory-monitor is a metrics server for collecting GPU memory usage of kubernetes pods.

gpu-memory-monitor is a metrics server for collecting GPU memory usage of kubernetes pods. If you have a GPU machine, and some pods are using the GPU device, you can run the container by docker or kubernetes when your GPU device belongs to nvidia. The gpu-memory-monitor will collect the GPU memory usage of pods, you can get those metrics by API of gpu-memory-monitor

Jul 27, 2022

Metrics go: CudgX indicator management tool, which integrates monitoring and data analysis indicator capabilities

Metrics-Go metrics-go 是cudgx指标打点工具,它集成了监控和数据分析指标能力。 数据流程 指标数据流程为: 用户代码调用打点 SDK指标

Oct 13, 2022

Openshift's hpessa-exporter allows users to export SMART information of local storage devices as Prometheus metrics, by using HPE Smart Storage Administrator tool

hpessa-exporter Overview Openshift's hpessa-exporter allows users to export SMART information of local storage devices as Prometheus metrics, by using

Jan 17, 2022

Metrics collector and ebpf-based profiler for C, C++, Golang, and Rust

Apache SkyWalking Rover SkyWalking Rover: Metrics collector and ebpf-based profiler for C, C++, Golang, and Rust. Documentation Official documentation

Jan 6, 2023

Bootstrap curated Kubernetes stacks. Logging, metrics, ingress and more - delivered with gitops.

Gimlet Stack Bootstrap curated Kubernetes stacks. Logging, metrics, ingress and more - delivered with gitops. You can install logging aggregators, met

Dec 1, 2021

HSDP Metrics alerts webhook broker and CF events forwarder for Microsoft Teams

hsdp-events Microservice helper to translate HSDP Metrics webhooks to Microsoft Teams webhooks Configuration Environment Description EVENTS_TOKEN Rand

Mar 18, 2022
Comments
  • build problem

    build problem

    note: I only know few things about golang -

    My env:

    $ go version
    go version go1.2.1 darwin/amd64
    $ go env
    GOARCH="amd64"
    GOBIN=""
    GOCHAR="6"
    GOEXE=""
    GOHOSTARCH="amd64"
    GOHOSTOS="darwin"
    GOOS="darwin"
    GOPATH="/Users/jvrmaia/.go:/Users/jvrmaia/.go/src/github.com/jvrmaia/ostent"
    GORACE=""
    GOROOT="/usr/local/Cellar/go/1.2.1/libexec"
    GOTOOLDIR="/usr/local/Cellar/go/1.2.1/libexec/pkg/tool/darwin_amd64"
    TERM="dumb"
    CC="clang"
    GOGCCFLAGS="-g -O2 -fPIC -m64 -pthread -fno-caret-diagnostics -Qunused-arguments -fno-common"
    CXX="clang++"
    CGO_ENABLED="1"
    

    Error:

     go build ostent -tags production
     can't load package: package -tags: cannot find package "-tags" in any of:
        /usr/local/Cellar/go/1.2.1/libexec/src/pkg/-tags (from $GOROOT)
        /Users/jvrmaia/.go/src/-tags (from $GOPATH)
        /Users/jvrmaia/.go/src/github.com/jvrmaia/ostent/src/-tags
     can't load package: package production: cannot find package "production" in any of:
        /usr/local/Cellar/go/1.2.1/libexec/src/pkg/production (from $GOROOT)
        /Users/jvrmaia/.go/src/production (from $GOPATH)
        /Users/jvrmaia/.go/src/github.com/jvrmaia/ostent/src/production
    

    I want build by my own for 2 features:

    • be able to customize frequency of collection of data
    • syslog data (example: https://github.com/jvrmaia/ostent/commit/71d7e374339e4c1bce5fd52d499217fc473bc611)

    Btw, nice project! =D

Sensu-go-postgres-metrics - The sensu-go-postgres-metrics is a sensu check that collects PostgreSQL metrics

sensu-go-postgres-metrics Table of Contents Overview Known issues Usage examples

Jan 12, 2022
cluster-api-state-metrics (CASM) is a service that listens to the Kubernetes API server and generates metrics about the state of custom resource objects related of Kubernetes Cluster API.

Overview cluster-api-state-metrics (CASM) is a service that listens to the Kubernetes API server and generates metrics about the state of custom resou

Oct 27, 2022
This library provides a metrics package which can be used to instrument code, expose application metrics, and profile runtime performance in a flexible manner.

This library provides a metrics package which can be used to instrument code, expose application metrics, and profile runtime performance in a flexible manner.

Jan 18, 2022
Flash-metrics - Flash Metrics Storage With Golang

Flash Metrics Storage bootstrap: $ echo -e "max-index-length = 12288" > tidb.con

Jan 8, 2022
Fadvisor(FinOps Advisor) is a collection of exporters which collect cloud resource pricing and billing data guided by FinOps, insight cost allocation for containers and kubernetes resource
Fadvisor(FinOps Advisor) is a collection of exporters which collect cloud resource pricing and billing data guided by FinOps, insight cost allocation for containers and kubernetes resource

[TOC] Fadvisor: FinOps Advisor fadvisor(finops advisor) is used to solve the FinOps Observalibility, it can be integrated with Crane to help users to

Jan 3, 2023
kubernetes Display Resource (CPU/Memory/Gpu/PodCount) Usage and Request and Limit.
kubernetes Display Resource (CPU/Memory/Gpu/PodCount) Usage and Request and Limit.

kubectl resource-view A plugin to access Kubernetes resource requests, limits, and usage. Display Resource (CPU/Memory/Gpu/PodCount) Usage and Request

Apr 22, 2022
Collect data about your dependencies

Collect data about your dependencies Features and Data Sources: Go modules, runs tests, detects tests and benchmarks Flexible rendering with Graphviz,

Dec 20, 2022
Bitrise step to parse a JaCoCo generated report and output the code coverage percentages to be used by other steps.

JaCoCo Report Parser This step parses a JaCoCo generated XML report in the jacoco_report_path and outputs the coverage percentages in a String format

Dec 6, 2021
Display (Namespace, Pod, Container, Primary PID) from a host PID, fails if the target process is running on host

Display (Namespace, Pod, Container, Primary PID) from a host PID, fails if the target process is running on host

Oct 17, 2022
A Go script that makes your GitHub contribution activity panel look awesome! Display a message !
A Go script that makes your GitHub contribution activity panel look awesome! Display a message !

GitHub contributions generator A script written in Go, which goal is to make your GitHub contributions graph the way you want it to be. The goal of th

Jan 6, 2023