cmonit

command module
v0.0.0-...-f25ceec Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Aug 25, 2016 License: Apache-2.0 Imports: 5 Imported by: 0

README

cmonit

Build Status Go Report Card

Monitor for container stats, etc.

cmonit can automatically read host info from db, and check the containers (with label=monitor=true) status, and then write back to db.

Example visualized results:

Usage

Run in container
$ docker run --rm \
 --name cmonit \
 --net poolmanager_default \
 yeasy/cmonit \
 start --output-elasticsearch-url="192.168.7.60:9200"
Local build and run
$ make build && ./main start --output-elasticsearch-url="192.168.7.60:9200"

or

$ make build && ./main start --output-elasticsearch-url="192.168.35.129:9200"
Debug
$ docker run -it --rm --name cmonit --net poolmanager_default -v /home/baohua/cmonit:/cmonit --entrypoint=ping yeasy/cmonit localhost

Then go into the container.

$ docker exec -it cmonit bash

Inside the container, run build and start.

$ make build && ./main --output-elasticsearch-url="192.168.7.60:9200"

Configuration

cmonit will automatically search the cmonit.yaml file under ., $HOME, /etc/cmonit/ or $GOPATH/github.com/yeasy/cmonit.

Please see cmonit.yaml for example.

A typical config file will look like

logging:
  level: debug
input:
  url: "mongo:27017"    //mongo db url
  db_name: "dev"           //name of the db to use
  col_host: "host"      //from which collection to get host info
  col_cluster: "cluster_active"
output:
  mongo:
    url: "mongo:27017"
    db_name: "monitor"//store data to which collection
    col_host: "host"  # stat data for each host with timestamp
    col_cluster: "cluster"  # stat data for each cluster with timestamp
    col_container: "container"  # stat data for each cluster with timestamp
  elasticsearch:  # to support in future
    url: "elasticsearch:9200"
    index: "monitor"
sync:
  interval: 60          //sync host info interval, in seconds
monitor:
  expire: 7             //monitor data expiration, in days
  interval: 5          //monitor container info interval, in seconds

TODO

  • Update the config file to support more functionality.
  • Re-arch to use db and collect data more efficiently.
  • May support es as output too.
  • When db crash, should continue to work with warning msg.
  • Reduce connections and optimize the performance.
  • check chain health status

Documentation

The Go Gopher

There is no documentation for this package.

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL