
Stack Exchange's monitoring system is now open source - waffle_ss
https://github.com/opserver/Opserver
======
stevepotter
The anti .net kneejerk reactions on HN really disturbs me. You spend all day
on stackoverflow then blindly bash their tech stack. Developing, deploying,
and hosting .net apps is just fine. Many brilliant people choose .net and are
plenty happy with it. Maybe rather than jumping to conclusions, you could give
it a shot.

~~~
Styck
Many of us have .NET experience, really like C# but have sensible reasons for
not recommending it. A Microsoft only stack is nowhere near as flexible as
Linux and if you were to reach Stack Overflow's levels of traffic you'll not
be able to avoid the need to run a part of your infrastructure on Linux. I
seriously doubt Stack Overflow is running Redis, ElasticSearch & HAProxy* on
Windows. Unless you already have a team proficient in .NET, there are few good
reasons to use it instead of a JVM language.

*[https://github.com/opserver/Opserver/tree/master/Opserver.Co...](https://github.com/opserver/Opserver/tree/master/Opserver.Core/Data)

~~~
JonoW
Just because you use c# doesn't mean your whole stack needs to be Microsoft.
No reason why you could have Windows web-servers running asp.net/c#, but have
postgres DB, nginx, memcache etc on linux. Azure seems to be actually
encouraging this.

The cost of windows licenses for web-servers is not that much. Avoiding SQL
Server is the big win in reducing cost.

~~~
Styck
All true but there is still quite a bit of inefficiency involved if you need a
team that is both proficient in deploying & running Linux infrastructure tools
as well as Windows servers.

And given that this discussion is taking place in the comments section of a
link to a custom-made monitoring dashboard that quite possibly wouldn't be
needed* if SO was a Linux-only shop doesn't exactly devalue my previous
statement.

*I have no idea whether this could be replaced with Nagios or Munin

------
rdtsc
It is so strange to look at that C# code.

I know they use it, it is just looks kind of odd compared to the rest of young
(I mean less than 5 year old) web companies. No Ubuntu, nginx, node, jvm, but
instead C#. I don't know, it just stands out.

------
emillon
I understand that it's not worth the cost to cleanup the history, but it's
always frustrating to see such a project come with a 100kloc "initial" commit.

~~~
crazygringo
Interesting. Why? What would be valuable about the commit history for you?

~~~
kingkilr
The same things that are valuable about any commit history?

~~~
meowface
I would imagine that if you're a random person only just finding the project
now and aren't already involved in it (by working for or with Stack Exchange),
then you probably wouldn't get all that much value out of the commit history.

Feel free to dispute that, though. There may be some scenarios I'm not
considering.

~~~
tedunangst

        if (x < 42 && y > 1776)
            useConfabulator = false;
    

Why? Who knows? People don't comment their code for many reasons, not least of
which is that it's not technically required and you can easily put it off and
forget. Every checkin generally requires at least some comment. You can still
enter meaningless messages like "fix", but you're not liable to do so by
accident.

------
jamesRaybould
Having a quick poke around and I notice that they are storing all exceptions
in an SQL database. I've been looking at storing all the errors we get in our
various applications in a central repository and was wondering what the
general consensus was?

Currently I'm going a centralised logstash server and using a logstash shipper
on each of my servers to push the exceptions, from a standard logfile to it. I
was toying with the idea of pushing all my errors at source to an SQL database
but figured if I was having database problems I'd be missing all the
exceptions that I could be using to trigger the alerts that I'm having
database problems!

~~~
SEJeff
Seriously take a look at Sentry[1]. It supports just about every major
language out there, is open source and used on some very large web properties
(disqus, which powers comments for cnn.com amongst others), and is just
generally awesome software. If you don't want to set it up yourself, use their
hosted version[2].

If you are a .net / C# guy check out their csharp raven client[3]. Raven is
the client to sentry which automatically sends all exceptions.

[1] [https://github.com/getsentry/sentry](https://github.com/getsentry/sentry)

[2] [https://getsentry.com/welcome](https://getsentry.com/welcome)

[3] [https://github.com/getsentry/raven-
csharp](https://github.com/getsentry/raven-csharp)

------
pyrox420
There are a few issues with the GIT repo right now that I'm helping Nick
Craver work through. I see this project maturing over time to be quite
awesome.

------
grundprinzip
Easy to deploy as it's written in C# :)

~~~
zackbloom
Just because you're already on a .NET stack, or is there another reason?

~~~
grundprinzip
Actually, this was irony, as all the systems that I have currently deployed
run a classical Linux stack and I would have to think a long time to start
deploying a .NET / Mono app if it's worth the integration effort.

------
rsync
Is it GUI based ?

If so, are there screenshots ?

~~~
GeorgeBeech
Yep.

Here are the screenshots from out Velocity Presentation:
[http://imgur.com/a/dawwf](http://imgur.com/a/dawwf)

~~~
qixiang
thanks

------
pygy_
Wow... Nice one.

Does anybody know if it works with Mono?

~~~
michaelfdeberry
I haven't pulled the code yet, but it looks like it targeting MVC4. The
documentation[1] states that mono currently partially supports it, everything
but the async stuff, but that doesn't mean there isn't anything else in there
that will cause it to not be compatible.

[1][http://www.mono-project.com/Compatibility](http://www.mono-
project.com/Compatibility)

------
beck5
Could someone please list the equivalent systems this is could replace? (linux
or windows)

~~~
viraptor
I see parts of cacti, nagios/icinga + graphing, munin, zabbix, sentry
(exceptions/errors), shinken, etc. There are many similar projects, but
nothing so much integrated as far as I know.

------
toyg
Looks nice, sadly it's just overkill for what I need.

Has anyone built a very simple solution to start/stop an arbitrary set of
Windows services across several boxes, in a specific order? It'd be nice to
have a simple GUI for this sort of thing. I've started working on it, but I
suck at desktop programming (well, at programming in general, probably)...

~~~
gecko
Unless you _really_ need a GUI, it's insanely easy to do exactly this with
PowerShell workflows ([http://technet.microsoft.com/en-
us/library/jj134242.aspx](http://technet.microsoft.com/en-
us/library/jj134242.aspx)).

------
rajbala
They lost me at IIS.

------
AsymetricCom
Looks like a tangled mess of a decision engine. Why would anyone want this?
Surely, there are other solutions out there that are more mature? (nagios
comes to mind but is a poor example)

~~~
rch
Any and all answers to this question would be appreciated, even those that
just qualify as 'promising' and 'active' (as opposed to mature). All I know of
is nagios really.

~~~
ojilles
[http://sensuapp.org/](http://sensuapp.org/)

and

[http://riemann.io/](http://riemann.io/)

------
saneshark
Stackoverflow runs Microsoft?!? I feel like I was just punched in the gut by a
best friend. Throwing up...

------
elwell
Wow, they weren't kidding when they said .NET

