Other Solutions

mperham edited this page Oct 28, 2014 · 16 revisions

Inspeqtor is not a unique snowflake, there are other packages that do similar things. Why did I build Inspeqtor if these things already exist?

Monit

Inspeqtor is influenced by monit but is designed for application engineers. I used Monit for the last 5 years to monitor server applications and it's the only thing that does what I want in an efficient, reliable package but has several shortcomings:

  • Does not understand the concept of a "deploy" where things are changing so it sends a lot of email for normal changes, leading to alert fatigue
  • Running several operations in a row can arbitrarily fail: monit: action failed -- Other action already in progress -- please try again later
  • Wants to start/stop daemons itself and spams you with email every time. The init system should start/stop your daemons.
  • A lot of unnecessary features which aren't useful for application engineers

Collectd

Collectd is designed to collect machine and process metrics and pipe them to a central aggregator, it was not designed to monitor metrics. Rules were added well after the project started and are written in a weird "pseudo-XML" format:

<Threshold>
   <Host "hostname">
     <Type "cpu">
       Instance "idle"
       FailureMin 10
     </Type>
   </Host>
 </Threshold>

The same rule in Inspeqtor:

check host
  if cpu:idle < 10% then alert

I hope Inspeqtor's rules are simple to configure and easy to read by comparison.

God, Bluepill, Eye, Supervisord

All of these tools require a Ruby or Python stack. This adds complexity and more moving parts which can fail. Inspeqtor is a single, standalone binary.

You can’t perform that action at this time.
You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session.
Press h to open a hovercard with more details.