
                       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 expand 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 send 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 8 megabytes RAM are required and around 20 MB of
   free disk space. You may need more RAM depending on how many
   processor threads the M/Monit server is started with and the
   number of Sessions that are used and hosts monitored.

 * Accurate time keeping

   M/Monit use 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 universal unique and
   cryptographically strong HTTP (and SSL) Session identifiers
   and 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 trail 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 login as
    user admin with password swordfish. Make sure that javascript
    is turned on and that your browser accept cookies.

 2) Setup 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, specify 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
    # setup 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> is the host name or
    IP-address of the host 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
 informations 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 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 use libev developed by Marc A. Lehmann.
 (http://libev.schmorp.de)

 This product use 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 Postgresql client.
 (https://www.postgresql.org)

 This product includes 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 was inspired by the
 Tomcat Servlet Container by the Apache Software Foundation
 (https://www.apache.org/)
