WYAE.de - IT Security, KnowHow & Software


MoSheL v2.1.4 - Lightweight, local server monitoring

MoSheL (MOnitoring with SHEll Locally) is a simple, lightweight (both in size and system requirements) server monitoring package designed for secure and in-depth monitoring of single or multiple typical/critical internet systems.

As most of the servers/services I want to monitor are remote systems, traditional NMS (relying on close-looped and/or unencrypted sessions) are either big, complicated to install for safe remote monitoring, ressource intense (when doing remote checks), lack a status history or a combination thereof.

Thus I (re)wrote this small, easily configured system. It originally was intended for monitoring of single a handful of typical internet systems. After 17 years after the first installment and 11 years after the big rewrite this is the next iteration: even smaller, more decentralized, easier to adapt to local peculiarities (or changes in output formats).

MoSheL supports email alerts (with flapping-prevention) out of the box - and whatever you can script.

The system is programmed in plain (Bourne) SH, and to be compatible with BASH, ZSH an various others, so it can easily be deployed on most unixish systems.

Monitoring is designed to be distributed over multiple systems, usually running locally. As no parameters are accepted from outside, checks cannot be tampered or misused from outside.

For centralized monitoring usually only aggregate data (i.e. the current, non-okay status) is transferred, easing network load a lot. Agent data is transferred via HTTP(S) in pull-mode - which comes in handily if you are moinitoring web servers anyway. So no additional network daemons or weaknesses. As agent queries are only downloading locally generated static files, the possible attack surface is minimal.


  • Unix Shell (Bourne-SH, BASH, ZSH, ...)
  • awk
  • standard Unix text tools (fgrep, mail, time, date, ...)

for web interface:

  • webserver - which can server static files (= nearly any)
  • the "dygraphs" JavaScript library. Included in the archive within the /data/ directory


  • README Requirements and installation guide.
  • moshel.tar.gz This is the currentmost version of MoSheL. It includes all the documentation listed above.
  • history.txt Please read this for changes, roadmap etc.
  • Example configuration with 78 typical system checks: harddisc capacity and SATA values, system values like CPU/RAM/load/processes/temeprature, service checks, MySQL, Mail (Dovecot/Postfix), DNS including RBL, network availability, QNAP appliance, radio sensors )shelly, radio temperature sensors), even a simple host IDS

Support / Bugs and Roadmap / Contributing / Wish List

Please see README for details.

Please visit the GIT repository for changes and issues.

For bug reports and suggestions or if you just want to talk to me please contact me.


For details on licensing and support please see there.

This software is published under a "GNU Public License" (v3 or later), an open source license.


Summary Page Summary

Single Server Checks Single Server

Graphing a single value Single Graph

Single Server - all graphs

Graphing Overview