Home /  MMonit /  Release 4-1-0

Released on February 6, 2024

New installation | Upgrading

  1. New
  2. Fixed
  3. Enhanced

Changes Version 4.1.0

This release focus on improved performance, greater efficiency and the reduction of M/Monit's overall memory footprint

  1. Password audit: Display a warning notice in the dashboard if any user have the default password ('swordfish' or 'monit'), or uses an old MD5 password. (Simply re-save the password in admin/user to update the password to the new SHA256 password algorithm)
  2. Simplify SSL Configuration (no more hard coded IP-address):
    • You can now specify the private key and the certificate chain in separate <Host> attributes. This might make it easier to configure TLS if your provider have these as separate files. Here is an example for Let's Encrypt:
      <Host .. certificate="fullchain.pem" certificateKey="privkey.pem">
    • Added TLS SNI support in M/Monit. The address attribute in the <Host> element is deprecated and no longer needed. This significantly simplifies the setup of M/Monit with SSL/TLS if your host uses a dynamic IP address.
    • The tls and ciphers attributes were moved from the <Host> element to the <Connector> element in server.xml
    • Fixed: Updated OpenSSL to 3.0.13 to fix the following OpenSSL defects: CVE-2024-0727, CVE-2023-6237 and CVE-2023-5678
    • Fixed: Sporadic connection errors when connecting to M/Monit via SSL.
  3. Year 2038 readiness
  4. Sqlite backend: The M/Monit Process could use a lot of memory, basically the size of the mmonit.db as the database was mapped into process memory. We have reduced the MMAP memory size for the mmonit.db from 28GB to 256MB in server.xml. For existing users: To reduce M/Monit Memory usage with Sqlite, please change the <Realm> attribute in server.xml from mmap_size=30000000000 to mmap_size=268435456
  5. Improved handling of database errors and fixed some race-conditions when storing hosts or services
  • Dashboard:
  1. The Events in last 24-hours' chart could become inconsistent if some host or service were removed.
  • Status page:
  1. All hosts can now be selected in the paginator and shown in the Status Page
  2. Sort by LED Ascending (hosts with problems first). Similar to how the status page worked in M/Monit 3.x
  3. Status page could hide matching hosts, if the filter was updated and the selected page index was two or higher.
  4. If an empty host group was selected in filter, all hosts were displayed instead of the empty set.
  • Analytics:
  1. The system CPU usage pie chart legend was not displayed correctly and the CPU idle slice was missing.
  2. Show values on touch and fix Y-axis zoom in/out for percent charts on touchscreens (e.g. mobile).
  • Installation and upgrade:
  1. The upgrade program now requires that M/Monit is stopped before upgrade starts. This ensure database consistency, especially if SQLite is used. Otherwise upgrading a live sqlite database could end up with a "SQLException: database disk image is malformed" error.
  • MacOS installer:
  1. Improved install and upgrade

New installation

  • Download the release for your OS.
  • Unpack the tar.gz file in a directory, any directory will do, but unpacking in /opt or /usr/local are good choices.
  • Go to the unpacked mmonit-4.1.0 directory
  • Run M/Monit using: ./bin/mmonit
  • Point your Browser to the host where mmonit is installed (or "localhost" if running on the same machine), for example: http://localhost:8080/ and login as user admin with password swordfish
  • If you want to set up M/Monit to use MySQL or PostgreSQL instead of the default SQLite database, follow these instructions in the wiki.
  • More documentation can be found inline in the application and in the manual (PDF).
  • Troubleshooting If M/Monit does not appear to run, investigate the error.log in the logs directory. You can also 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.

Upgrading from previous M/Monit releases (2.3 or later)

The upgrade program can be used to automatically copy database and configuration files from the previous installation and update the database schema. On macOS upgrading is not needed as the installer will upgrade M/Monit in /usr/local/mmonit automatically.

The whole upgrade process should take less than a minute and you do not have to stop or change Monit on other machines during this process. Monit will simply pick up and start reporting to the new M/Monit 4.1.0 version.

  • Download the new 4.1.0 release for your OS.
  • Install M/Monit 4.1.0 in the same directory as previous release. For example:
 /usr/local/mmonit-4.0.2
 /usr/local/mmonit-4.1.0
  • Stop the previous M/Monit release.
 /usr/local/mmonit-4.0.2/bin/mmonit stop

Or if you monitor M/Monit via Monit:

 monit stop mmonit
  • Run the upgrade program and specify the path to the previous M/Monit release:
 /usr/local/mmonit-4.1.0/upgrade/upgrade -p /usr/local/mmonit-4.0.2
  • Start M/Monit 4.1.0:
 /usr/local/mmonit-4.1.0/bin/mmonit
  • Finally, please clear your browser cache before accessing M/Monit 4.1.0