

EC2Box: Multi-terminal SSH console for EC2 - skavanagh
http://github.com/skavanagh/EC2Box

======
syntheticlife
If you do things like this, or parallel-ssh, or 'input from one terminal gets
rebroadcast to N other terminals that you're running ssh in' \- make no
mistake - you are doing it _WRONGEST_ out of all possible wrong ways of
controlling, managing or monitoring systems.

If you're trying to monitor a bunch of machines, the answer is not to display
as many machines as possible on one screen. You are not a security guard paid
to patrol an empty warehouse. Aggregate your logs, put them in a database. Got
money? Use Splunk. Don't got money? Use Kubuto.

Trying to capture metrics? Graphite

If you're trying to administrate a bunch of machines, parallel-ssh or any of
the live single-input->multi-output terminal solutions there are is the
equivalent of throwing excrement at the computers. Learn Puppet, Chef, salt,
fabric or one of the other 9 trillion other solutions that are more reliable
than a human mashing their giant inept sausage fingers against a keyboard.

~~~
dperfect
Agreed. Never heard of Kubuto before... perhaps you're referring to Kibana
(used in conjunction with ElasticSearch)?

------
th0ma5
Not too hard to throw something together. I wrote a script several years ago
to do something similar and even does basic sharding:
[https://gist.github.com/anonymous/281504](https://gist.github.com/anonymous/281504)

------
dperfect
Pretty neat. In my opinion if you've got several EC2 instances that have
similar roles and you're looking to manage them in parallel, you should
already be using a configuration management tool like Chef, and most of those
tools have this sort of thing built in. For example, in addition to managing
instances with Chef cookbooks, you can run arbitrary commands in parallel on
any subset of your instances with:

$ knife ssh SEARCH_QUERY interactive

This has been a lifesaver for me on several occasions.

------
dorfsmay
What is the advantage over [https://code.google.com/p/parallel-
ssh/](https://code.google.com/p/parallel-ssh/) ?

~~~
skavanagh
Well for example if you have a bunch of web servers and you are looking for
server errors and you do

# tail -f access|grep \ 500\

on all the instances.

You can then do a regex match on 500 in the app and it will sort the terminal
windows that have the most matches to the top. That way you can determine what
instances are failing.

I don't think parallel-ssh, cssh, tmux do that.

and it's web-based too.. Which just makes it different, not better!

------
pawelo
I'm currently building something for more general use. An app to automate
commonly executed tasks on different server environments. Its open source too
[http://eyjafjallajokull.github.io/gunnery/](http://eyjafjallajokull.github.io/gunnery/)

------
xxpor
Does it support proxying through a bastion host?

~~~
skavanagh
I don't see why it wouldn't. I guess it would have to use the private DNS
though. Currently it uses the public DNS for the instance to connect. It will
only use the private DNS if the public doesn't exist. Should be an easy change
to make it configurable so you can set it to always use the private.

~~~
aluskuiuc
If you look up the public DNS from inside EC2, it resolves to the private
address.

------
tbarbugli
awesome tool to solve a problem from the wrong angle!

