Description:
"monigusto" - "hearty or keen enjoyment while monitoring"
The monigusto
project aims to provide the equivalent of vagrant up
but for monitoring and logging:
A single server box that contains the most common/current tools for monitoring like graphite, statsd, collectd, nagios, logstash, jmxtrans, tasseo , gdash , librato and sensu . Then it becomes easy for a developer to get used to the management and monitoring and without the hassle of setting it up from scratch or finding out how to make it work together
Usage:
Setup a sample project
git clone https://github.com/monigusto/vagrant-monigusto.git monigusto
cd monigusto
Install necessary gems
gem install bundler
bundle install
Install necessary cookbooks
bundle exec rake monigusto:install
This will install the cookbooks required for monigusto in monigusto/cookbooks.
You can use your own cookbooks in site-cookbooks
or cookbooks
Download the basebox
bundle exec vagrant box add ubuntu-12.04 https://opscode-vm.s3.amazonaws.com/vagrant/boxes/opscode-ubuntu-12.04.box
Spinup a client and server
bundle exec vagrant up server
bundle exec vagrant up client
Customize the configuration
Files that might need customization:
- Vagrantfile
- nodes/*.json
- roles/*.json
Network configuration
This currently assumes the following:
- client : 192.168.33.10
- server : 192.168.33.11
Network ports
Mapped by Vagrant
- nagios: http://localhost:8080
- graphite: http://localhost:8081
- collectd: http://localhost:8082
- kibana: http://localhost:8083
- tasseo: http://localhost:8084
- tasseo: http://localhost:8085 (nginx)
- statsd: http://localhost:8086
- jmx: http://localhost:8087
- elasticsearch: http://localhost:8088
- sensu-amqp: http://localhost:8089
- sensu-dashboard: http://localhost:8090
- sensu-api: http://localhost:8091
Accessible from your client
- graphite: tcp/2003
- statsd: udp/8125
- logstash: tcp/5959
- elasticsearch: tcp/9200
Update monigusto
bundle exec rake monigusto:update
Customize a basebox
Use the prebuild image
https://opscode-vm.s3.amazonaws.com/vagrant/boxes/opscode-ubuntu-12.04.box
Build it with veewee/bentoo
bundle exec vagrant basebox build ubuntu-12.04
bundle exec vagrant basebox export ubuntu-12.04
bundle exec vagrant add ubuntu-12.04 ubunty-12.04.box
Technology used
Collectd
-
Collectd :
- Homepage: http://collectd.org/
- Cookbook:
-
Collectd-Carbon: (Graphite writer - Python plugin)
- Homepage: http://github.com/indygreg/collectd-carbon
- Cookbook:
-
Collectd-Elasticsearch: (Python plugin)
- Homepage: http://github.com/phobos182/collectd-elasticsearch
- Cookbook:
Graphite
- Graphite:
- Homepage: http://graphite.wikidot.com/
- Cookbook:
Nagios
-
Nagios
- Homepage: http://nagios.org
- Cookbook:
-
Nagios-Check-Graphite
- Homepage:
- Cookbook:
JMX trans
- JmxTrans:
- Homepage: https://github.com/lookfirst/jmxtrans
- Cookbook:
Statsd
-
Statsd:
- Homepage: https://github.com/etsy/statsd
- Cookbook:
-
Librato-backend:
Logstash
- Logstash/Kibana
- Homepage: http://logstash.net
- Cookbook:
Tasseo (graphite dashboard)
- Tasseo:
- Homepage: https://github.com/obfuscurity/tasseo
- Cookbook:
Sensu
-
Sensu:
- Homepage: https://github.com/sensu/sensu
- Cookbook:
-
Sensu-community-plugins:
Chef
-
Graphite-Handler (Chef run metrics to Graphite)
- Homepage: https://github.com/imeyer/chef-handler-graphite
- Cookbook:
-
Logstash-Handler (Chef run logs to Logstash)
- Homepage: https://github.com/lusis/logstash_handler
- Cookbook: