pkgsrc-Changes archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
CVS commit: pkgsrc/sysutils/monit
Module Name: pkgsrc
Committed By: leot
Date: Sat Oct 17 10:47:56 UTC 2026
Modified Files:
pkgsrc/sysutils/monit: Makefile distinfo
Log Message:
monit: Update to 6.0.0
pkgsrc changes:
- Enable for DragonflyBSD, according the changelog it was tested on
DragonflyBSD 6.4 (NOTE: I have not tested it in pkgsrc though!)
Changes:
- New: The every statement can now reliably be used with minute
precision. Like crontab, the every statement will run a service check
only once per minute, regardless of poll-cycle time. This means that
you can now use checks like this and be sure it runs only one time at
the intended time:
check program weekly_report with path /var/monit/weekly_report.sh
every "15 8 * * 1"
if status != 0 then alert
This will run the above weekly_report.sh one time every Monday at 08:15
(or as soon as possible after that time if the validation loop is
delayed). Cron matching is asynchronous to the validation loop,
ensuring checks run once even if validate takes longer than a minute to
complete. This fixes the issue where checks with an every statement
could be skipped entirely due to misalignment with poll cycle settings
or validation loop delays.
- New: SSL/TLS: Add support for quantum-resistant cryptography: hybrid
ML-KEM key exchange mechanisms with TLS 1.3. Monit must be linked with
an SSL library that supports ML-KEM, such as OpenSSL 3.5.x or later,
for this functionality to work.
- New: Added SHA256 checksum support. SHA256 can now be used in addition
to MD5 and SHA1 for file integrity monitoring, SSL/TLS certificate
verification, HTTP content validation, and MySQL RSA key verification.
SHA256 provides stronger cryptographic security than MD5 and SHA1.
Supported in the following statements:
File checksum: if failed [sha256] checksum
SSL certificate: certificate checksum <sha256-hash>
MySQL RSA key: rsakey checksum [sha256] <sha256-hash>
HTTP content: checksum <sha256-hash> (auto-detected from 64-character length)
Example:
check file myfile with path /path/to/file
if failed sha256 checksum then alert
check host example.com with address example.com
if failed port 443 protocol https
certificate checksum = "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
then alert
- New: The file checksum test now uses SHA256 by default, if no hash
function is specified (it used to be MD5 by default).
- New: Issue #1132: Added support for swap monitoring: PAGEIN and
PAGEOUT tests in the check system context. It allows one to monitor the
system's swap activity and memory pressure. When the system requires
more memory, it may begin swapping memory pages in and out of the swap
device. The swap device's I/O is significantly slower than RAM access,
making it an indicator of the system's memory pressure. A general rule
of thumb for swapping activity is:
0 pages/sec: Healthy
1-10 pages/sec: Minor paging, usually acceptable
>100 pages/sec sustained: Memory pressure, investigate
>1000 pages/sec: Severe thrashing, immediate action needed
Example:
if pageout > 50 per second for 20 cycles then alert
if pageout > 100 per second for 10 cycles then alert
Thanks to Lutz Mader for patch.
- New: Linux: Issue #1136, Issue #42: process memory usage report
overcounts the shared library RSS. Monit prefers the PSS (Proportional
Set Size) report instead of RSS (Resident Set Size) now. The PSS
provides a more accurate measure by fairly dividing shared memory among
processes. RSS can be misleading because it overcounts shared memory by
adding the entire amount to each process that uses it. PSS gives a more
realistic view of both a single process's contribution and the system's
total memory footprint. Warning: Monit >= 6.0.0 may thus report
significantly lower usage for both "memory" and "total memory" for
processes.
- New: MacOS: Process memory usage report is in line with Activity
Monitor now and shows the process' physical memory footprint instead of
RSS. It excludes shared memory that's being used by multiple processes
(to avoid double-counting).
- New: The security attribute test now supports regular expressions and
negative match, which is useful, for example, in the SELinux context,
where a container might consist of random MCS categories. Thanks to
Christian Goettsche. Syntax:
IF SECURITY ATTRIBUTE <"="|"!="|"=~"|"!=~"> <regex> THEN <action>
- New: The check program output in the monit status CLI was limited to
200 characters. The limitation is removed and monit will display up to
set limits { programOutput: <size> } characters now. (Default is 512
bytes).
- New: Illumos build (tested on OmniOS r151054).
- New: DragonflyBSD build (tested on DragonflyBSD 6.4).
- Fixed: If a stale pidfile existed at Monit startup, Monit could fail
to start. This was especially common in containerized environments like
Docker after an ungraceful shutdown. The issue was resolved by
improving the startup check that detects whether another Monit daemon
is already running. Thanks to Lutz Mader for identifying the problem
and providing an initial patch.
- Fixed: The result of executing the check program command with the
every statement is evaluated immediately (in the next cycle).
Previously, Monit would wait for a specified number of cycles or until
the next cron pattern match before evaluating the program's result.
- Fixed: Issue #1141: When multiple check program statements were
linked with depends on, but the parent test frequency was limited using
the every statement, the child copied the parent's test schedule, even
if the child did not have its own every statement.
- Fixed: Wakeup Monit from sleep on SIGUSR1 signal.
- Fixed: Issue #1129: When the Monit log was set to a device, such as
set logfile /dev/stdout (e.g. inside a Docker container), Monit hangs
when "View Monit logfile" is used in the Monit HTTP interface. Thanks
to Lutz Mader for report and fix.
- Fixed: Issue #1137: Hostname error in log when fetching status in XML format
from the Monit HTTP API via UNIX socket.
- Fixed: Issue #1142: File descriptor leak on Linux when /proc/PID/attr/current
is not accessible due to AppArmor/SELinux restrictions.
- Fixed: Monit now provides more detailed error reporting when the hostname
resolution fails. Previously, when testing a remote host using ping and the
host did not resolve in DNS, Monit simply reported "ping failed".
- Fixed: The MongoDB protocol test did support only MongoDB < 5.1. The protocol
test was updated to support the newer MongoDB ping style.
- Fixed: The service restart counter wasn't reset on reboot, which could cause
the restart timeout to falsely trigger when monit had a long polling cycle and
the machine was repeatedly rebooted immediately after the first monit cycle.
- Fixed: When the system had no file descriptors limit, monit displayed
confusing statistics in status:
filedescriptors 4896 [0.0% of 9223372036854775807 limit]
- Fixed: Issue #1144: Monit GUI drops the Strict-Transport-Security header when
sending HTTP error responses.
- Fixed: SSL/TLS: Disable obsoleted CBC ciphers by default.
- Fixed: Issue #1146: SIP check did not handle IPv6 addresses correctly.
- Fixed: Issue #1147: The SMTP EHLO response was limited to 256 bytes. Raised
the limit to 512 bytes to match RFC 5321 section 4.5.3.1.5.
- Fixed: When the service had an "existence" test that used the multiple-errors
condition (for X cycles), and the service encountered an error, Monit
displayed the status as "OK" even though there was no data (e.g., a
non-existent process or file).
- Fixed: When the state of the service changed and the test had a
multiple-errors condition (for X cycles), the cycles counter was not
reinitialized properly, which could trigger another state change faster than
the option settings specified.
- Fixed: Some tests share the same event type (e.g., the "resource event" is
shared by CPU, memory, swap, and load average tests). When multiple errors
occurred for the same event type, the last test may have reset the error, and
the service would be reported as a false-positive OK.
- Fixed: The PostgreSQL protocol test could read past the response buffer when
parsing an error message from the server if any error field was not properly
NUL-terminated within the payload. A malicious or malformed PostgreSQL server
could exploit this to crash Monit or to leak stack data into the logs. Thanks
to Tristan Madani for finding the bug and sharing the details. Workaround for
vulnerable Monit versions < 6.0.0: Replace the if failed port 5432 protocol
pgsql then <action> protocol test with a generic TCP connection test: if
failed port 5432 then <action>.
- Changed: The check program output change test now sets the level to warning
(yellow), instead of error (red).
- Changed: MacOS: Monit now utilizes the 64-bit system API to retrieve system
memory usage information. The support for 32-bit Macs is deprecated, as the
last pure 32-bit Macs were released in 2006. Thanks to Lutz Mader.
To generate a diff of this commit:
cvs rdiff -u -r1.28 -r1.29 pkgsrc/sysutils/monit/Makefile
cvs rdiff -u -r1.13 -r1.14 pkgsrc/sysutils/monit/distinfo
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: pkgsrc/sysutils/monit/Makefile
diff -u pkgsrc/sysutils/monit/Makefile:1.28 pkgsrc/sysutils/monit/Makefile:1.29
--- pkgsrc/sysutils/monit/Makefile:1.28 Tue Aug 12 15:02:09 2025
+++ pkgsrc/sysutils/monit/Makefile Sat Oct 17 10:47:55 2026
@@ -1,6 +1,6 @@
-# $NetBSD: Makefile,v 1.28 2025/08/12 15:02:09 leot Exp $
+# $NetBSD: Makefile,v 1.29 2026/10/17 10:47:55 leot Exp $
-DISTNAME= monit-5.35.2
+DISTNAME= monit-6.0.0
CATEGORIES= sysutils
MASTER_SITES= https://mmonit.com/monit/dist/
@@ -10,7 +10,7 @@ COMMENT= Monitors processes, files, dir
LICENSE= gnu-agpl-v3
# no platform specific code yet
-BROKEN_ON_PLATFORM+= DragonFly-*-* IRIX-*-* OSF1-*-*
+BROKEN_ON_PLATFORM+= IRIX-*-* OSF1-*-*
USE_TOOLS+= gmake gzcat flex yacc
USE_PKGLOCALEDIR= yes
Index: pkgsrc/sysutils/monit/distinfo
diff -u pkgsrc/sysutils/monit/distinfo:1.13 pkgsrc/sysutils/monit/distinfo:1.14
--- pkgsrc/sysutils/monit/distinfo:1.13 Tue Aug 12 15:02:09 2025
+++ pkgsrc/sysutils/monit/distinfo Sat Oct 17 10:47:55 2026
@@ -1,8 +1,8 @@
-$NetBSD: distinfo,v 1.13 2025/08/12 15:02:09 leot Exp $
+$NetBSD: distinfo,v 1.14 2026/10/17 10:47:55 leot Exp $
-BLAKE2s (monit-5.35.2.tar.gz) = 69420443cf9e72c1f3dc7ded98c5ca8c58031ebeb54dc889e95068565f50e2fa
-SHA512 (monit-5.35.2.tar.gz) = 5368a2096ae0ace59b4836a87d2758d11b550e6231a706f8e62ce0bcb2439895c9d1c41c0b0677a5112e30f4d809c95ddd039efdb60d9d4db826ab80d49179e5
-Size (monit-5.35.2.tar.gz) = 1526704 bytes
+BLAKE2s (monit-6.0.0.tar.gz) = 0497f2a8ff3be90f03f69cb75f6c6a1d3d846e250bfad57ccf68eb6be8e81f8f
+SHA512 (monit-6.0.0.tar.gz) = 4dcaaad3b88d83af7a1634e84238cb7f3437e0c64bcfc65c1b1bf17e10279d60309e7feaeb6cf887cc9c0911f486f58ac1602770e73457244511448ec0ed880a
+Size (monit-6.0.0.tar.gz) = 1545908 bytes
SHA1 (patch-configure) = 5aa619ff3980418585cdc5f9c156712ac87b26c6
SHA1 (patch-configure.ac) = 1bc974b407b3ba85f50e70d0fe8c20cff3e80eac
SHA1 (patch-libmonit_configure) = 727ebc4daff59616f84fc064b7ab4059b3394d8d
Home |
Main Index |
Thread Index |
Old Index