Fast Server Monitor in Go
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