Home /  Main /  Suggestions

Suggestions about how to change/improve Monit and/or M/Monit

At some point we are going to have to talk about the "T" word...

With mmonit summarizing status and events from many machines, I (and everyone) will need better ways to group services and create notification groups.

Tags seem to be the best option - I have 12 postfix servers 4 are critical infrastructure, I want to tag the "check" configuration with tags of "postfix" and "critical_infra" and "qa" and "colo3" so that I can have escalations in mmonit for "colo3" or ("colo3" and "colo5") and the mail admins want to get notifications for all services tagged "smtp" or "imap" or postfix.

I want a screen on mmonit where I can filter events by tag and view host/service status by tag. Everyone will after they see it...

 check process postfix with pidfile /var/spool/postfix/pid/master.pid
   start program = "/sbin/service postfix start"
   stop program  = "/sbin/service postfix stop"
   if failed port 25 then restart
   if 2 restarts within 3 cycles then timeout
   if cpu > 90% for 2 cycles then alert
   if totalmem > 2048 MB for 2 cycles then alert
   group blah
   mode passive
   depends on varfs
   depends on postfix_rc
   tags postfix, critical_infra, colo5, smtp, us_users, canada_users, 
       20min_sla, OS_F9, ibm_bc07, project_porcupine, project_mars,


I think in general the idea is good. It seems to me however, that the same could be implemented cleanly by extending existing groups in Monit. Currently In Monit the service may be member of one group only - we can add support for multiple groups membership. This can provide the same service tagging as proposed tags, but will allow as well to perform actions on service groups using existing infrastructure. In M/Monit you will work with service groups which can span multiple Monit instances/hosts.

-- Martinp

Other HTTP verbs and statuses

I could use a "DELETE /certain/url" HTTP request, and expect other statuses than 200. Can do with SEND/EXPECT.