This project is not covered by Drupal’s security advisory policy.

Zeomine Server Monitor (ZSM) is a Python-based server monitoring program that can be managed either by local YAML files, or via this settings server module. ZSM is primarily a file analysis program aimed at logs and server health as observed in linux's /proc folder, but may be extended with core and custom plugins.

ZSM was originally written for a use case where backups and general server health needed to be measured for several servers, with the flexibility of managing all settings and alerts from a central reporting server (for example, having a list of who receives which alerts per server, by severity). We are also working longer term on integrating this with a web crawler, such that one can perform testing and collect both user experience and server data in the same test.

Where to get ZSM

Download: https://bitbucket.org/ceriumsoftwarellc/zeomine-server-monitor

Installation: Requires Python 3, and the requests and PyYAML modules. After that, just download, copy the sample conf to user_data/configs, and run "[python command] zsm_init.py --conf=[conf_file].yml" You may also pass --help or --debug=1 for the help and developer debug function.

Supported Plugins

Currently, the module supports these ZSM plugins:

  • AccessLog: Reads access logs and extracts information from them
  • BackupDate: This watches a specified set of folders for the most recent backup file (determined by RegEx match), and reports on its age and filename.
  • Gitlog: Reads Git log information and maintains a list of commits
  • HAProxy: This monitors an HAProxy load balancer and reports on up/down servers in a pool.
  • MailAlert: simple mailing system for sending alert information
  • MemSwap: On a Linux System, will record/report on the memory and swap usage as found at /proc/meminfo
  • SpectraReporter: This will send report and alert data to a Spectra Analytics server, where you can generate reports using the Views module, or code a custom plugin that lets you create a reporting API.
  • System Load: On a Linux system, will record and report on system load as calculated as /proc/loadavg

Planned work

We are looking at creating a "custom plugin" submodule that will allow you to specify YAML configs for custom plugins, and we are also working on adding compatibility for the existing core modules.

Documentation work will begin in beta, which will be coming in October. Currently we are finishing up work on the basic UI (namely, plugin selection), and tweaking SpectraReporter to enable easy out-of-the-box charting.

Known Bugs

Under certain instances, plugin entities are not selectable from the "enabled plugins" field. To fix this, after enabling the plugin module go to /admin/structure/zsm_core_settings/fields/zsm_core.zsm_core.field_zsm_enabled_plugins/storage , and make sure your plugin is selected. Alternatively you may need to uninstall/reinstall the module to re-run the installer code.

Supporting organizations: 
CeriumSoft maintains this module for its own use, and performs custom plugin development for clients.

Project information

  • caution Seeking new maintainer
    The current maintainers are looking for new people to take ownership.
  • Module categories: Administration Tools
  • Created by laboratory.mike on , updated
  • shield alertThis project is not covered by the security advisory policy.
    Use at your own risk! It may have publicly disclosed vulnerabilities.

Releases