MoSShE (MOnitoring in Simple SHell Environment) is a simple, lightweight (both in size and system requirements) server monitoring package designed for secure and in-depth monitoring of a handful of typical/critical Internet systems. It supports email alerts and SLA monitoring out of the box, and whatever you can script. The system is programmed in plain (Bourne) SH, and made to be compatible with BASH and Busybox so it can easily be deployed on embedded systems. Monitoring is designed to be distributed over multiple systems, usually running locally. As no parameters are accepted from the outside, checks cannot be tampered or misused from outside. The system is designed to allow decentralized checks and evaluation as well as classical agent-based checks with centralized data accumulation. Agent data is transferred via HTTP, so available Web servers can be co-used for agent data transfer. Each agent creates simple (static) HTML pages with full and condensed status reports on each system, allowing simple local checks.
The older comments (below) are for 1.x tree which was based on a completely different application architecture.
Re: MoSSHe != Nagios by purpose
> False. Nagios would only be able execute commands for which it has permission.
MoSSHe likewise - but while MoSSHe's default setup does not need any extra command limitation, the whole Nagios' check_by_ssh security depends on the proper keyfile setup.
> % (2) MoSSHe cannot become overloaded by too many checks - Nagios can.
> The first two paragraphs of your readme contradict that. "A handful of hosts..."
> I've had nagios doing check_by_ssh with far more than a handful with no performance issues.
MoSSHe is "... *intended* to..." - but can do more. A small but important difference.
What happens if you set the poll interval in Nagios way too low, so that a check cycle has not yet finished before the next starts (or was that issue finally resolved)? MoSSHe is implicity un-overloadable.
> % (3) MoSSHe uses far less ressources.
> They're both making an ssh connection [...]
As for SSH, okay, CPU-wise the remaining processing won't matter much. But see the overload issue above.
Web-niceties aside MoSSHe only needs a shell (even runs on busybox) and as such needs less memory - which is not unimportant if monitoring embedded devices esp. on the client side (one quick external hint on that might be Nagios: 1.7M tarball - MoSSHe: 28k tarball).
> Without reviewing your actual source code, I still don't understand how it can be any safer...
See the configuration of client-side checks. There is the difference.
Back to initial question: why did Nagios reinvent the wheel when there already was BigBrother, MRTG et al.? I guess as each NMT has its own strengths, each one fills its own niche - as does MoSSHe, as does Nagios.