What's New in Version 0.0.7
Important: Make sure you read through the documentation (especially the FAQs) before sending a question to either myself or the mailing lists. I get so much mail that I no longer reply to questions that have answers found in the FAQs...
New Features
- Tactical Overview CGI. A new CGI has been created serve as a one-stop overview of all monitoring data. This is particularly useful to people who need to constantly be aware of problems on the network.
- Availability Reporting CGI. A new CGI has been created to report on the availability of hosts and services over a user-specified time frame. The availability CGI works in a similiar manner to the trends CGI, but is much more efficient for generating availability reports for large numbers of hosts/services.
- WAP Interface. A new CGI has been created to serve as a WAP interface to network status information. If you have a WAP-enabled phone, you can view current network status (overview, summary, all problems, or unhandled problems), disable notifications and checks and acknowledge problems while you're on the go. Cool, huh?
- Optional Embedded Perl Interpreter. If you use a lot of Perl scripts for checking services you may find it helpful to compile NetSaint with an embedded Perl interpreter. The interpreter code (contributed by Stephen Davies) can be included by using the --enable-embedded-perl option to the configure script. If you want internally compiled Perl scripts to be cached, add the --with-perlcache option as well.
- Optional Processing of Performance Data. NetSaint can now be configured to log or handle host and service check performance data like check results, check execution time, check latency, and future performance data metrics provided by the plugins. More information on performance data can be found here.
- Forced Service Checks. You can now force service checks to be actively executed, regardless of whether or not checks are enabled on a program-wide or service-specific basis. Forced service checks also work even during invalid check timeperiods for the specific service. This feature is very useful when setting up distributed monitoring, as you can simply disable service checks on a program-wide basis and then have the pscwatch daemon schedule forced checks of services that haven't reported back in a while.
- Acknowledgments Without Notifications. You can now acknowledge host and service problems without having to send an acknowledgement notification to contacts. The option as to whether or not to send an acknowledgement notification is found in the web interface when issuing the acknowledgement command.
- Custom Intervals for Notification Escalations. You can now specify custom notification intervals in both service and host group escalation definitions. This allows escalated notifications to be sent out at different intervals from the standard notification interval for the service or host. More information on notification escalations can be found here.
- Passive Check Submissions via Web Interface. Passive check results can now be submitted for services from the web interface. This is quite handy if you want to manually clear a volatile service that is in a non-OK state (i.e. security alerts that are only received passively).
- Auto-Save of Retention Data. You can now have NetSaint automatically save retention data at specific intervals by using the retention_update_interval option.
- Extended Service Information. You can now associate and icon with and provide a "more information" URL for services by using extended service info definitions.
- Scheduled Downtime for Hosts and Services. You can now schedule downtime for services and hosts via the web interface when you expect there to be problems (i.e. scheduled maintenance) Notifications are temporarily disabled for the affected host(s)/service(s) while the scheduled downtime is in effect. Notifications are automatically re-enabled when the scheduled downtime passes. More information on scheduled downtime can be found here.
- Service Dependencies. People have been asking about this for a while now, and I've finally gotten around to adding it. You can now specify optional dependency definitions for services. Dependencies are an advanced feature that allow you to repress notifications for and stop the execution of services which are dependent on one or more other service(s) that have failed in some way. More information on how service dependencies work can be found here.
- Flap Detection. NetSaint can now be optionally configured to detect services and hosts that are "flapping". Flapping occurs when a service or host changes states too frequently, causing a barrage of notifications to be sent out. When flap detection is enabled (using the enable_flap_detection option), NetSaint will temporarily suppress notifications for hosts and services that are flapping. When the flapping stops, NetSaint will re-enable notifications for the affected host or service. More information on how flap detection and handling works can be found here. Note: Flap detection is extremely experimental at this point, so use it with caution...
- Aggregated Status Updates. You can now force NetSaint to only update program, host, and service status data at specified intervals, rather than every time something changes. This can be helpful in reducing load in larger installations. Aggregated updates are controlled with the aggregate_status_updates and status_update_interval options.
- New Macros. A few new macros have been added. A $NOTIFICATIONNUMBER$ macro (which can be used in notification commands) has been added to make it easier to write complex scripts for external notification escalation, etc. Four new macros ($SHORTDATETIME$, $DATE$, $TIME$, and $TIMET$) have also been added to give you a little flexibility with timestamps in notifications, eventhandlers, etc. In order to improve logging of performance data, the following macros have been added: $PERFDATA$, $LASTCHECK$, $EXECUTIONTIME$, and $LATENCY$.
- User-Supplied Coordinates in Statusmap and Statuswrl CGIs. The statusmap and statuswrl CGIs have been rewritten to use user-supplied coordinates when drawing hosts. While the statusmap CGI will still do auto-layout of hosts you're monitoring, the statuswrl CGI will not work if you don't specify coordinates! If you want to use either of the CGIs, you'll have to supply drawing coordinates for your hosts by using the x_2d, y_2d, x_3d, y_3d, and z_3d parameters of the hostextinfo[] definitions. You can optionally specific an image (in GD2 format) to be used as a background image in the statusmap CGI by using the statusmap_background_image option. You can optionally include other objects in the VRML world generated by the statuswrl CGI by using the statuswrl_include option. If you want to create 2-D coordinates for the statusmap CGI by visually dragging hosts around, I would suggest trying the Saintmap addon written by David Kmoch.
- Optional Database Support. MySQL and PostgreSQL databases are now supported as an option for native storage of status, retention, comment, and extended data. More information on compiling the core program and CGIs to use the database routines can be found here.
- External Command File Changes. The external command file is now implemented as a named pipe (FIFO).
- Configuration Directive Changes. The log_level and syslog_level directives that were present in the main config file of previous versions have been removed, as they are not being used.
- Tuning Documentation. Some information you might find helpful in optimizing NetSaint can be found here.