I really like Monit systems management system but I have no IT budget to purchase M/Monit interface which is used to manage multiple hosts for our small university lab. I have checked out Ruby based monittr and I see that Django people are cooking something. Can anybody give me some advice to a simple wrapper which can help me pull info from multiple servers?

Edit: How is this question duplicate? I am not asking about monitoring tools. I have evaluated probably half dozen of those in the past two weeks. I am asking a very specific question about a very specific monitoring tool. I concede that as unpleasant as it might be the comment I received from ewwhite was a valid observation.

  • 5
    I hate to say this, but M/Monit is a commercial product because it helps fund development efforts. It is priced at a level that anyone should be able to afford. (€65 for 5 hosts in €60 increments to €429 for unlimited systems -- ONE-TIME LICENSE!). This is less of a technical question and more of a political issue. How are you not able to justify such a small amount of money for something so useful?
    – ewwhite
    Dec 26 '13 at 18:43
  • 3
    @ewwhite You apparently have no idea about budgetary constrains of a typical U.S. university. For the number of hosts I have I will have to spend close to $1000. That might be a peanuts for the upper management but that is a lots of money for a faculty to spend. I do not want to disclose the name of my current employer but since you are in Chicago I will just mention that only University of Chicago has better ranking than my school. Dec 26 '13 at 22:14
  • 3
    I have an idea. But I also know how to leverage resources. M/Monit costs ~$590 for an unlimited license to monitor as many hosts as you need in one environment. But as an educational institution, just email them and ask about special pricing.
    – ewwhite
    Dec 26 '13 at 23:02
  • 7
    What about the home user? I have lots of little hosts like Raspberry pi's, can't afford that price. valid question IMO
    – Rob
    Nov 14 '14 at 13:57
  • 1
    imo a reasonable Question. Even if I appreciate the effort and like to support the dev, my idea: pull only relevant checks into central monit client with this script I "drafted": gitlab.com/sdgo/getMonitTxt.pl -- usage is like: perl getMonitTxt.pl -server='' -service='apache' -element='monitoring status' -elementstatus='Monitored' server=where monit client runs // service=the monitored service // element=the desired property of the monitored service // elementstatus=if the property does NOT have this value, then alert
    – MacMartin
    May 12 '17 at 15:07

I contacted M/Monit support directly about the pricing issue...

When asked if they offer a discount for education:

"Unfortunately no, but for not-for profit organisations we might donate a license."

But the fact remains that the unlimited license cost is intentionally low at ~$590.

As for free alternative monitoring frameworks, I worked at a DevOps-focused firm that was unaware of Monit's existence, so they ended up writing their own solution. Check it at Github - https://github.com/ZenFire/gaggled

You could also just rely on the free Monit emails and perhaps script around or parse the command-line monit status output. It's pretty easy to digest...

# monit status
The Monit daemon 5.5 uptime: 1d 20h 32m 

System 'xt.brazzers.com'
  status                            Running
  monitoring status                 Monitored
  load average                      [0.96] [0.53] [0.67]
  cpu                               50.2%us 1.4%sy 2.1%wa
  memory usage                      5070168 kB [84.7%]
  swap usage                        0 kB [0.0%]
  data collected                    Fri, 27 Dec 2013 07:06:10

Filesystem 'var'
  status                            Accessible
  monitoring status                 Monitored
  permission                        755
  uid                               0
  gid                               0
  filesystem flags                  0x1000
  block size                        4096 B
  blocks total                      1548176 [6047.6 MB]
  blocks free for non superuser     860636 [3361.9 MB] [55.6%]
  blocks free total                 939279 [3669.1 MB] [60.7%]
  inodes total                      393216
  inodes free                       378393 [96.2%]
  data collected                    Fri, 27 Dec 2013 07:06:10

Process 'orca'
  status                            Running
  monitoring status                 Monitored
  pid                               2720
  parent pid                        1
  uptime                            1d 9h 5m 
  children                          0
  memory kilobytes                  439120
  memory kilobytes total            439120
  memory percent                    7.3%
  memory percent total              7.3%
  cpu percent                       49.9%
  cpu percent total                 49.9%
  data collected                    Fri, 27 Dec 2013 07:06:10
  • 1
    I really appreciate the effort to engage in the constructive discussion. The situation is even better. Monit produces XML output which just needs to be parsed. That is how monittr works. My lack of familiarity with Ruby is kind holding me back to mess up with it little bit. I played with Monit little more and the software is really a bomb for what is intended to do. Dec 27 '13 at 16:16
  • @PredragPunosevac Do you know where I can find the XML documentation for monit?
    – Anfernee
    May 5 '16 at 22:31
  • @AJPennster I am sorry I don't know. I also apologize for the slow replay. I was very busy at work. May 11 '16 at 1:06

Not the answer you're looking for? Browse other questions tagged or ask your own question.