Go program for server monitoring.
A 5MB binary, low memory and cpu usage make an excellent replacement for collectd and others.
GMon is a Go program to monitor and distribute metrics associated with any system. A preferred use case is the ability to capture cpu and memory usage in Elasticsearch that can be visualized with Kibana.
./gmon
Usage of ./gmon:
-conf="gmon.json": Path to config file.
-handlers="stdout": Comma seperate list of handlers. ex: elasticseach,stdout.
-path="scripts": Path to scripts directory.
Symlink gmon-scripts into a scripts
directory in the current directory where gmon
is installed. Or pass
an absolute path to the scripts directory.
A metric is a script in any language that outputs in a standardized format that GMon can understand. The format is a simple space seperated list of values.
<name>|<value>|<message>|<tag1> <tag2> <tagN>
You can have any number of tags after the message. If you do not want a message you can use two spaces. Both the message and tags are optional.
A Handler is a Go interface. The interface has a store method that receives a slice of Metrics. Have a look at handlers/main.go. GMon ships with two handlers, Elasticsearch and Stdout. You can add your own or contribute them back to the project.