GEOM Watch

From Association for Computing Machinery

Revision as of 15:33, 1 August 2011 by Boris (Talk | contribs)
(diff) ←Older revision | Current revision (diff) | Newer revision→ (diff)
Jump to: navigation, search

This program monitors the well-being of GEOM providers and ZFS pools in FreeBSD. It checks the state of each configured provider and pool at a configured interval, and, if it notices that a component has been lost, or encounters a problem during the check, it will send an e-mail with details of the matter--such as what components were lost and which remain, or, in the event of a problem, what the problem was--to an arbitrary number of recipients, so that corrective action can be taken (for example, replacing a failed disk). All configuration parameters reside in geomWatch.conf.

The code is C/C++ and aims to be compact, requiring libESMTP as the only third-party library. It has been tested with GCC 3.4.4 and 4.2.1 and Clang/LLVM 2.7 on FreeBSD 6.x, 7.x, 8.x, and 9.x, and on 32- and 64-bit and little- and big-endian processors.

Download: GEOM Watch 1.3.0

This program is now available in the FreeBSD ports tree as sysutils/geomWatch.

Upcoming Features

  • Logging
  • ZFS hot-spare support

Release History

  • 1.3.0 (August 1st, 2011)
    • New features:
      • Added support for ZFS version 28.
      • Added a -t command-line option for testing SMTP configuration.
    • Bug fixes:
      • SMTP error messages from previous attempts to send mail are no longer carried over and prepended to new ones.
      • Fixed a bug that caused all e-mail after the first one to be sent to only the last configured recipient.
      • The value of the "from" configuration parameter should not be sent as the SMTP envelope sender, as that has the possibility of violating RFC 2821. Consequently, the "from" configuration parameter has been replaced by the "senderName" and "senderAddress" parameters, from which a correct envelope sender and "From" message header will be generated. So as not to break existing configuration files, if the "senderName" parameter is missing, it will be set to "GEOM Watch", and if the "senderAddress" parameter is missing, it will be set to "geomwatch@" followed by the system's hostname.
  • 1.2.2 (May 14th, 2010)
    • Bug fixes:
      • Fixed compilation on sparc64 systems.
  • 1.2.1 (May 13th, 2010)
    • Bug fixes:
      • Fixed compilation on systems with ZFS version 6.
      • Removed a lot of unnecessary OpenSolaris header files.
  • 1.2.0 (April 26th, 2010)
    • New features:
      • Added support for monitoring ZFS pools.
    • Bug fixes:
      • Comments in the configuration file can now contain double quotes.
      • The current working directory is now changed to "/" before becoming a background daemon.
      • The standard input and standard output file descriptors are now closed before becoming a background daemon, as they are no longed needed at that point. Standard error is still useful for collecting SMTP error messages.
  • 1.1.2 (January 31st, 2010)
    • Bug fixes:
      • Fixed a crash in the SMTP class that may occur if SMTP authentication is not used.
  • 1.1.1 (January 30th, 2010)
    • Bug fixes:
      • Fixed a memory leak in the GEOM class by calling geom_deletetree() to free memory allocated by geom_gettree().
  • 1.1.0 (January 25th, 2010)
    • New features:
      • Added support for SMTP authentication.
    • Bug fixes:
      • Replaced LFs in the e-mail body with CRLFs to comply with RFC 822. This will allow the e-mail to be forwarded by strict MTAs like qmail.
      • Added a destructor to the SMTP class to free resources upon its destruction. No SMTP classes are ever destroyed in the current code, but it is nevertheless the right thing to do.
  • 1.0.0 (January 11th, 2010)
    • Initial release.
Personal tools