Skip to content

Instantly share code, notes, and snippets.

@heffergm
heffergm / resque2graphite.rb
Created July 6, 2011 12:37
Send resque queue data to Graphite
#!/usr/bin/env ruby
## Send resque queue depth data to Graphite
## Grant H - 6/1/11
require 'rubygems'
require 'resque'
## Read in our graphite host from file
graphite_host = File.read("/opt/scripts/bin/graphite_host")
@heffergm
heffergm / mongo2graphite.rb
Created October 7, 2011 19:29
Send Mongo data to graphite
#!/usr/bin/env ruby
require 'rubygems'
require 'json'
require 'mongo'
graphite_host = File.read("/opt/scripts/etc/graphite_host")
loop do
time = Time.new
@heffergm
heffergm / mongo-ops2graphite.rb
Created October 7, 2011 19:31
Send mongo op data to graphite
#!/usr/bin/env ruby
## Send Mongo data to graphite
require 'rubygems'
require 'json'
require 'mongo'
graphite_host = File.read("/opt/scripts/etc/graphite_host")
interval = 10 #collect data every x seconds
@heffergm
heffergm / mongo_replSetGetStatus.rb
Created October 7, 2011 19:36
Monitor mongo w/monit
#!/usr/bin/env ruby
## used by monit to check for unhealthy cluster state
require 'rubygems'
require 'mongo'
begin
db = Mongo::Connection.new("localhost", 27017, :op_timeout => 3).db("admin")
rescue
abort("MongoDB Connection Error: #{$!}")
@heffergm
heffergm / myip.rb
Created November 10, 2011 17:26
Get my public IP and send me email if it changes
#!/usr/bin/env ruby
# Get my public IP, store it, and email me if it changes
# Run from cron
require 'rubygems'
require 'net/https'
require 'gmail'
require 'mime'
time = Time.new
@heffergm
heffergm / prowly.rb
Created January 22, 2012 12:31
send prowl alerts via m/monit
#!/usr/bin/env /usr/local/rvm/wrappers/ruby-1.9.2-p290@puppet/ruby
## Used by M/Monit to send prowl alerts
require 'rubygems'
require 'optparse'
# everyone's API keys
contact_info = {
"grant"=>{"key"=>"my_api_key"}
begin
require 'railsless-deploy'
require 'capistrano/ext/multistage'
rescue LoadError
abort "No soup for you! =>Required gems: railsless-deploy, capistrano-ext"
end
## rvm =>uncommment and set appropriately if you're using rvm
#$:.unshift(File.expand_path('./lib', ENV['rvm_path']))
#require "rvm/capistrano"
# Configure Riak connections for the Ripple library.
development:
protocol: http
http_port: 8098
http_backend: Excon
pb_port: 8087
host: 127.0.0.1
# The test environment has additional keys for configuring the
# Riak::TestServer for your test/spec suite:
production:
protocol: https
nodes:
-
host: 10.183.38.200 # prod-riak-r01
http_port: 8000
http_backend: Excon
pb_port: 8087
-
host: 10.183.41.31 # prod-riak-r02
production:
#protocol: http
ssl: true
nodes:
-
host: 10.183.38.200 # prod-riak-r01
http_port: 8000
http_backend: Excon
pb_port: 8087
-