                       M/Monit version 4.x

 Introduction
 ------------

 M/Monit is a system for automatic management and monitoring of
 Information Technology Systems. M/Monit can monitor and manage
 distributed computer systems, conduct automatic maintenance and
 repair, and execute meaningful causal actions in error situations.

 M/Monit expands upon Monit's capabilities to provide monitoring
 and management of all Monit-enabled hosts from one easy-to-use
 web interface.

 System requirements
 -------------------

 * M/Monit requires Monit as an agent. A Monit agent sends status
   periodically and events immediately to M/Monit, which collects
   the information in its database. The Monit agent software must
   be version 5.2 or later and installed on all hosts M/Monit
   should monitor. Download Monit from https://mmonit.com/monit/

 * Supported Platforms

   See: https://mmonit.com/wiki/MMonit/SupportedPlatforms

 * Memory and Disk space

   A minimum of 10 megabytes of RAM is required and around 50 MB of
   free disk space. You may need more RAM and disk space depending
   on how many hosts will be monitored.

 * Accurate time keeping

   M/Monit uses the time of day for reporting and monitoring, and
   it is recommended to investigate if your system clock has the
   correct time and maybe set some time synchronization facility
   on your system.

 * Random Device

   A random device is needed for creating universally unique and
   cryptographically strong HTTP (and SSL) session identifiers.
   The server will complain and exit if it cannot find
   /dev/random or /dev/urandom on the system.

 * Dependencies

   M/Monit depends only on the C-libraries installed on all POSIX
   systems.

 Installation
 ------------

 Unpack the M/Monit tar file into a location so that the distribution
 resides in its own directory. Any directory will do, but unpacking 
 in /opt or /usr/local are good choices.

 Trial License
 -------------

 If you have never installed M/Monit before and you do not have a
 valid license file, then on startup, the mmonit program will connect
 to mmonit.com on port 443 and ask for a trial license. This is only
 done one time. The trial license is placed in conf/license.xml. If
 mmonit cannot connect to mmonit.com:443 it will throw an exception
 and not start.

 Quick start
 -----------

 1) Start M/Monit: mmonit/bin/mmonit
    Point your browser to http://localhost:8080/ and log in as
    user admin with password swordfish. Make sure that JavaScript
    is turned on and that your browser accepts cookies.

 2) Set up Monit on each host you want to monitor. Monit will post
    events and automatically register itself with M/Monit. Put the
    following into your Monit control file, .monitrc:

    set eventqueue basedir /var/monit slots 1000
    # Specify the URL for posting events to M/Monit. The auth. part of
    # the URL, that is, monit:monit, specifies a username and password
    # registered in M/Monit. If you change the password for the monit
    # user in M/Monit, it must be changed here as well. If M/Monit is
    # set up with SSL (recommended), change http below to https.
    set mmonit http://monit:monit@<M/Monit-host>:8080/collector
    set httpd port 2812 and use address <monit-host>
        allow localhost
        allow <M/Monit-host>
        allow username:password

    where <M/Monit-host> and <monit-host> are the host names or
    IP addresses of the hosts running respectively M/Monit and
    Monit. For extra security, you can also configure Monit and
    M/Monit to use SSL. See the M/Monit manual for more information.

 Troubleshooting
 ---------------

 When you run mmonit without any options or arguments, it will run as
 a background process. To stop mmonit, use mmonit stop. To run mmonit
 in the foreground and in diagnostic mode, start mmonit with the -id
 options. In diagnostic mode, mmonit will print errors and debug
 information to the console. Use CTRL+C to stop mmonit in this mode.
 To see all options for the program, use mmonit -h.

 Documentation
 -------------

 The M/Monit manual can be downloaded from
 https://mmonit.com/documentation/

 Release notes
 -------------

 See https://mmonit.com/wiki/MMonit/Releases

 Database note
 -------------

 M/Monit comes bundled and configured with SQLite as its database
 system. No extra setup is required. If you plan to use M/Monit to
 monitor more than, say, 30-50 hosts, you may want to use MySQL or
 PostgreSQL instead as these database systems are faster and scale
 better. If in doubt, start with SQLite.

 Setting up M/Monit to use either MySQL or PostgreSQL is a simple
 two-step process: https://mmonit.com/wiki/MMonit/Setup#database

 Contact information
 -------------------

 The M/Monit software is a product of Tildeslash Ltd., a company
 registered in Norway and in the United Kingdom.

 For further information about this software, please see contact
 information at

   https://mmonit.com/contact/

 Acknowledgments
 ---------------

 This product includes OpenSSL, developed by the OpenSSL Project.
 (https://www.openssl.org)

 This product includes and uses libev, developed by Marc A. Lehmann.
 (http://libev.schmorp.de)

 This product uses parts of the CII software library, developed by
 David R. Hanson. (http://www.cs.princeton.edu/software/cii/)

 This product includes Clearsilver, developed by Brandon Long.
 (http://www.clearsilver.net)

 This product includes SQLite, developed by D. Richard Hipp et al.
 (https://www.sqlite.org)

 This product includes the PostgreSQL client.
 (https://www.postgresql.org)

 This product includes the MariaDB Connector/C client.
 (https://mariadb.com/docs/skysql/connect/programming-languages/c/)

 This product includes the zlib compression library.
 (https://zlib.net)

 This product includes the zstd compression library.
 (https://facebook.github.io/zstd/)

 This product includes iconv.
 (https://www.gnu.org/software/libiconv/)

 This product includes The Yahoo! User Interface Library (YUI),
 developed by Yahoo! Inc. (http://developer.yahoo.com/yui/)

 This product includes jQuery, developed by John Resig et al.
 (https://jquery.com)

 This product includes jquery.event.drag, developed by Three Dub Media.
 (http://threedubmedia.com)

 This product includes knockout.js, developed by Steven Sanderson.
 (https://knockoutjs.com)

 This product includes Flot, developed by IOLA and Ole Laursen.
 (http://www.flotcharts.org)

 This product includes Bootstrap, developed by Twitter.
 (https://getbootstrap.com)

 This product includes strftime, developed by Sami Samhuri.
 (https://samhuri.net/projects/strftime)

 This product includes bootstrap-datepicker, developed by Stefan Petre.
 (https://www.eyecon.ro/bootstrap-datepicker/)

 This product includes Judy Array, developed by Doug Baskins et al.
 (https://judy.sourceforge.net)

 This product includes libsodium, a modern, portable, easy-to-use
 cryptographic library, developed by Frank Denis.
 (https://libsodium.org)

 This product includes libzdb, a database library developed by
 Tildeslash. (https://www.tildeslash.com/libzdb/)

 This product includes the Zild App Server, created by Tildeslash.
 The design and architecture of Zild were inspired by the
 Tomcat Servlet Container by the Apache Software Foundation.
 (https://www.apache.org/)
