Skip to content
master
Switch branches/tags
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Fast Server Monitor in Go

Build Status codecov Go Report Card GoDoc License

Gonitor is fast server monitor service that make monitoring servers easy and simple. Gonitor provides many cool features for monitoring server CPU, Memory, GPU, Disk, Load, Network, etc. If you like or use Gonitor, please star or share it !

Features

  • Provides server CPU, Memory, GPU, Disk, Load, Network, Host and Runtime information
  • Supports REST API and Swagger UI
  • Supports real-time monitoring with Stream
  • Supports mutiple-platform build (darwin, windows and linux)
  • Supports Docker build and Travis CI

Installation

Get the gonitor repository

go get github.com/gonitor/gonitor

cd echo $GOPATH/src/github.com/gonitor/gonitor

And install dependencies

go get -u github.com/golang/dep/cmd/dep

dep ensure

Running the tests

Run all tests

go test ./...

Or run all tests with coverage

bash coverage.sh

Build and Run

Run main.go

go run main.go
# serve at localhost:9000
# serve REST API at localhost:9000/rest
# serve Stream API at localhost:9000/stream (IE browser is not supported)

Build and run native binary

bash Build.sh

./gonitor.out

Build native binary for multiple platforms (darwin, windows and linux)

bash BuildMulti.sh

Environment variables

    # enable production mode, default is false
    env GONI_PRODMODE=true
    
    # disable REST API, default is true
    env GONI_REST=false

    # disable Stream API, default is true
    env GONI_STREAM=false

    # combine three environment variables
    env GONI_PRODMODE=true GONI_REST=false GONI_STREAM=false

Docker support

Build docker image

bash Dockerbuild.sh

Run docker container

docker run -d --name gonitor -p 9000:9000 gonitor/gonitor

Contributing

Please read CONTRIBUTING.md for details on our code of conduct, and the process for submitting pull requests to us.

Versioning

We use SemVer for versioning. For the versions available, see the tags on this repository.

License

This project is licensed under the MIT License - see the LICENSE file for details