All Projects → IgorMarques → sickbay

IgorMarques / sickbay

Licence: MIT license
Get the HTTP status of a bunch of URLs in a single JSON response. Ideal for monitoring a lot of services at once.

Programming Languages

ruby
36898 projects - #4 most used programming language

Projects that are alternatives of or similar to sickbay

Recaptcha
ReCaptcha helpers for ruby apps
Stars: ✭ 1,819 (+9473.68%)
Mutual labels:  sinatra
Bugsnag Ruby
Bugsnag error monitoring & reporting software for rails, sinatra, rack and ruby
Stars: ✭ 211 (+1010.53%)
Mutual labels:  sinatra
0pdd
Puzzle Driven Development (PDD) Chatbot Assistant for Your GitHub Repositories
Stars: ✭ 108 (+468.42%)
Mutual labels:  sinatra
Pinatra
A PHP copy of Sinatra: a DSL for quickly creating web applications in PHP with minimal effort.
Stars: ✭ 151 (+694.74%)
Mutual labels:  sinatra
Busker
An extremely simple web framework.
Stars: ✭ 161 (+747.37%)
Mutual labels:  sinatra
Rack Reducer
Declaratively filter data via URL params, in any Rack app, with any ORM.
Stars: ✭ 241 (+1168.42%)
Mutual labels:  sinatra
Sinatra
Classy web-development dressed in a DSL (official / canonical repo)
Stars: ✭ 11,497 (+60410.53%)
Mutual labels:  sinatra
sinatra-bootstrap
My opinionated Sinatra base application
Stars: ✭ 14 (-26.32%)
Mutual labels:  sinatra
Sham rack
run Rack applications in-process, without a server
Stars: ✭ 169 (+789.47%)
Mutual labels:  sinatra
webvalve
Betterment's framework for locally developing and testing service-oriented apps in isolation with WebMock and Sinatra-based fakes
Stars: ✭ 111 (+484.21%)
Mutual labels:  sinatra
Timber Ruby
🌲 Great Ruby logging made easy.
Stars: ✭ 154 (+710.53%)
Mutual labels:  sinatra
Draftsman
Ruby gem that lets you create draft versions of your database records.
Stars: ✭ 159 (+736.84%)
Mutual labels:  sinatra
fp-sin
Simple Sinatra shell with all the goodies.
Stars: ✭ 13 (-31.58%)
Mutual labels:  sinatra
Rack Policy
Rack middleware for the EU ePrivacy Directive compliance in Ruby Web Apps
Stars: ✭ 149 (+684.21%)
Mutual labels:  sinatra
Mining-Minds
Mining Minds is a collection of services, tools and techniques working collaboratively to investigate on human’s daily routines to provide a personalized well-being and health-care support
Stars: ✭ 43 (+126.32%)
Mutual labels:  healthcheck
Trebekbot
An addictive Jeopardy! bot for Slack. Fun fact, after I added this to my work Slack I was told to limit it to a single channel because productivity ground to a halt. (Five years later, the #jeopardy channel is still going strong.)
Stars: ✭ 147 (+673.68%)
Mutual labels:  sinatra
Scalatra
Tiny Scala high-performance, async web framework, inspired by Sinatra
Stars: ✭ 2,529 (+13210.53%)
Mutual labels:  sinatra
microservice-graph-explorer
Navigate and explore all of the microservices in your application in real time using the real application connections.
Stars: ✭ 71 (+273.68%)
Mutual labels:  healthcheck
example-ruby-sinatra
A simple Ruby app for Deis, the open source PaaS
Stars: ✭ 18 (-5.26%)
Mutual labels:  sinatra
jpl-space-calendar
An app for parsing and publishing the JPL Space Calendar in JSON and ICalendar formats.
Stars: ✭ 13 (-31.58%)
Mutual labels:  sinatra

Sickbay

Get the HTTP status of a bunch of URLs in a single JSON response. Ideal for monitoring a lot of services at once.

Code Climate Build Status Coverage Status

$ curl -X GET 'http://localhost:9292?google=http://www.google.com.br&bing=http://www.bing.com'
{
  "google": "200",
  "bing": "200"
}

Why?

This app can be very useful for healthchecking multiple applications at the same time.

The app is also easily deployable on heroku on any other service of your preference.

One app that uses Sickbay for healthchecking is The Nurse click here for more info.

Live App

You can check the app at https://sickbay.herokuapp.com

Acessing:

https://sickbay.herokuapp.com/?google=http://www.google.com&bing=http://www.bing.com

For instance should return you the statuses of Google and Bing.

Setup

Assuming you have a proper Ruby workspace setted up, just run:

$ git clone http://github.com/IgorMarques/sickbay
$ cd sickbay
$ bundle install

Running the Server

Since this is a sinatra app, you just need to run:

$ rackup

The output should be something similar to:

[2016-11-22 20:10:13] INFO  WEBrick 1.3.1
[2016-11-22 20:10:13] INFO  ruby 2.3.0 (2015-12-25) [x86_64-darwin16]
[2016-11-22 20:10:13] INFO  WEBrick::HTTPServer#start: pid=3389 port=9292

Simple as that :)

Using the App

Just send a GET request with the URLs you want to check as params. Each key of the param will be returned as a key of the response JSON:

$ curl -X GET 'http://localhost:9292?google=http://www.google.com.br&bing=http://www.bing.com'
{
  "google": "200",
  "bing": "200"
}

Sending invalid or unreachable URLs will get a '0' as status:

$ curl -X GET 'http://localhost:9292?some_bad_url=this_is_not_a_real_url'
{
  "some_bad_url": "0"
}

Testing

This app uses Rspec for testing. To run the test suit:

$ rspec

Contributing

Just fork the app and send a pull-request! Improvements are welcome :)

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].