
Modular Object-Oriented Dynamic SpreadSheet (Moodss) is a graphical monitoring application with a complete graphical user interface (GUI) to conveniently monitor network services and send alerts when thresholds are crossed. Moodss is a deceptively simple tool that could characterized as a dynamic network-aware spreadsheet. It can poll devices using the Simple Network Management Protocol (SNMP), receive and send SNMP traps, and perform network service checks via Nagios plug-ins.
It can optionally be used with the Modular Object-Oriented Multi-Purpose Service (Moomps) monitoring daemon to delegate monitoring tasks to a separate lightweight application after all thresholds have been defined with Moodss. The best way to see how Moodss operates is to walk through some examples so that’s what I’ll do in the steps below.
I wish to give special thanks to Jean-Luc for his valuable assistance with Moodss on OS X, and for writing such a fine program.
This section covers installing Moodss and its supporting software.
You may install the MacPorts package manager with these instructions, which include instructions for installing XWindows (X11). Follow the instructions carefully and perform all non-optional steps.
In this section we start the Moodss application and set necessary email preferences for alerts.
Moodss requires X11, so you must start /Application/Utilities/X11 before starting Moodss. Then open a terminal window and start the Moodss executable.
%%moodss
The first time Moodss is started it creates a ~/.moodssrc file in the user’s home directory to track Moodss preferences, and then opens in an X11 window as shown.

Pause your mouse over the Moodss toolbar icons to see their descriptions and become familiar with their names and functions.
For Moodss to send email alerts, you must set an outgoing SMTP server to deliver the messages to recipients. Go to alerting preferences to specify your chosen SMTP server. This is also where you set the default message content for alerts. This setting can still be overridden in each alert, but if you set this to the most common text you'll want in your alerts it will save time and effort.

Managed network devices support SNMP. So you can use Moodss’ SNMP module for viewing, monitoring, and alerting on data reported by your managed network devices.
Choose an Ethernet switch with SNMP enabled and a known community string. Then load the SNMP module from the modules list and retrieve the table of interfaces and some important interface metrics as shown.

Now click the Load button and Moodss will retrieve your switch's interface metrics into spreadsheet-type cells as live data —they are updated every 10 seconds. See the example below.

Now let’s graph —hereafter called "chart" since that is the term Moodss uses—some of our switch’s SNMP data by dragging a cell onto one of the chart toolbar icons. You may choose the line, bar, or pie chart toolbar icon depending on the chart type you want. For example, you may choose a line graph as shown.

Now you may drag other cells onto the chart toolbar icon to create other charts, or you may create multi-element charts by drag additional cells onto a current chart as shown below.

Data monitored using the SNMP module can be used to send email alerts when preset thresholds are reached. You may set a threshold on interface traffic by specifying a numeric rate in the value field, or you may set thresholds on a cells that contain binary data. To create thresholds, follow these steps.
Choose a cell on which you wish to set a threshold, and drag it onto the threshold tool.
The threshold dialog box opens. Select options for Value, Type, and Color. In this example, we'll use an ifOperStatus cell of a switch.
In the Value box, type “up”.
In the Type field, select the “threshold and value must differ” icon to trigger our threshold when the cell is in a condition of anything other than "up," otherwise known as "down".

Enter alert recipients in the "Emails" box. Leave the Default button checked to accept the default alert message text set in Moodss preferences, or you may click the "Mail Message" button and type custom message text for this alert.
Select a color so you can easily see that a table cell has a threshold set on it.
Click Ok to save the threshold.
Once a threshold is set, the SNMP table shows the color you set on the threshold in the threshold dialog box.

SNMP traps are SNMP messages that your network devices “push” to an SNMP trap receiver, as opposed to being “pulled” by polling SNMP values for monitoring and graphing. For example, a redundant power supply failure in your Ethernet switch would be a rare event and a failure that would not render a switch inoperable. But you’d still want to know when a fail over occurred so it could be replaced. This case presents a good use for SNMP traps.
Follow these steps to receive SNMP traps.
Load the snmptrap module and enter the number of rows, in other words events, that you want to keep (default is ten.)

When the SNMP trap data window opens, the Moodss SNMP trap receiver is ready and listening for SNMP traps. Configure one of your network devices to send SNMP traps to the Moodss workstation, and then generate some test traps to see them collect in the SNMP trap data window as shown.

You must have the MacPorts' Nagios plug-ins installed to use the Moodss Nagios module. If you didn't install Nagios plug-ins during the Moodss install, you may install Nagios plug-ins with this command.
%%sudo port install nagios-plugins
Open a terminal window and go to /opt/local/libexec/nagios and browse through the available plug-ins. Nagios plug-ins are independent command-line programs so you may test Nagios plug-ins at the command line to test your services before configuring them in Moodss. To find out what parameters are required for a plug-in, execute them plug-in with the –h (help) parameter. For example:
%%./check_dns -h
Load the Nagios module. You may omit the path to the Nagios plug-in and the preceding "check_" because they were preset during the Moodss installation.

Click Load to load the Nagios plug-in into Moodss. Load additional Nagios module instances for each Nagios check you wish to make as shown.

With a Nagios module window active, select Thresholds from the Edit menu to see the preset default thresholds for a Nagios plug-in.

It is not necessary to modify the value, color, or level since those are appropriate to Nagios plug-ins. But you should choose options or modify values for certain options.
Once - whether to be notified "once" or continuously when a threshold is exceeded.
Critical, warning, and notice values.
An optional Unix shell script to run for each level.
Moomps is a daemon (service) that can load an unlimited number of Moodss configuration (dashboard) files and perform all the activities defined within, with the exception of graphing (graph definitions are ignored) and data prediction. Without using Moodss or X11, it duplicates the monitoring, alerting, and actions of Moodss.
Send alerts and execute scripts at alert thresholds
Receive and send SNMP traps
Archive data history over time in a MySQL or ODBC database
Export monitored data to remote Moodss GUI clients
Using Moomps for monitoring can provide the following benefits.
You may monitor your devices with a smaller memory footprint than with Moodss and the X11 GUI.
You may group monitored devices into separate and smaller dashboard (.moo) files and organize them according to department, device category, or any other organizing scheme you choose.
You may group monitored devices into separate dashboard files according to polling time intervals to achieve variable polling times for devices monitored with the same Moodss module.
Support for high reliability monitoring via standard Unix services that check for and reload stalled daemons.
Support for “distributed monitoring” by using multiple Moomps daemons that export their monitored data to a central Moodss GUI client via Moodss import/export peers.
Perform the following MacPorts command in a terminal window to install Moomps and its dependent programs, then run launchctl after the port install command finishes to start Moomps and run at system boot.
%%sudo port install moomps%%sudo launchctl load –w /Library/LaunchDaemons/org.macports.moomps.plist
To begin using Moomps, simply create Moodss files as always with the Moodss X11 GUI and test them. Then save them to the Moomps default file location:
/opt/local/share/moomps/moofiles
Moomps checks for changes to loaded Moodss files every 60 seconds. If Moomps detects newer files on disk than it has loaded in RAM, it reloads them so any changes to these files take effect without restarting Moomps. To introduce additional Moodss files since Moomps was started, you must stop and restart the Moomps daemon.
This was an introduction to Moodss using some common examples of things a network administrator might do with it. But you must read the Moodss online manual to find out everything you can do with Moodss. The online manual is the document accessed from the Moodss Help menu. Moodss also has context sensitive help buttons within the load module dialog boxes that takes you to the relevant sections in the help file.