All notable changes to this project will be documented in this file. Changes to vendor specific packaging are excluded.
The format is based on Keep a Changelog, and this project adheres to Calendar Versioning, with the format YYYY.MM.MICRO. The tag may occasionally be made just prior to the change of month.
- Add support for Naemon 1.4.2. Merlin now requires Naemon version >= 1.4.2. Updated Merlin to parse comment list from host or service data instead of the global comment list.
- Updated merlin applications to use Python3.9
- Fixed issue in processing of host notification suppressed events where host name is incorrectly parsed due to incorrect expected number of vectors
- Encrypted nodes no longer accept runcmds by default. Instead a new configuration
option
accept_runcmd
has been introduced which can be set on nodes from which runcmds should be allowed.
- Added
mon containerhealth
that can be used to perform healthchecks when Merlin and Naemon is running in a container. This mon command is only shipped with the-slim
packages.
mon restart
now checks if we are running on an systemd system. If not, a a SIGHUP is sent to Naemon process for reloading.
- showlog no longer support the
--cgi-cfg=
argument.
- OBS Build now correctly
Requires: python2-PyMySQL
instead ofBuildRequires
on EL8. This fixes a couple of mon scripts for examplemon status install-time
- Require
php-cli
for-apps
packages ensuringmon node tree
works correctly - mon sshkey tools are now correctly using the user set during configure.
mon log
now correctly works with the OBS built package.- spec: fixed misspelled dependency on python3-cryptography for EL8 slim packages
- showlog now fallsbacks to using either
/opt/monitor/etc/naemon.cfg
or/etc/naemon/naemon.cfg
for detecting the naemon.cfg file if no argument is provided. This ensuresmon showlog
works correctly most systems. - Sync slim pollers encryption keys to any peers, prior to restart, when
executing
mon slim-poller register
.
- Fixed an issue introduced in 2021.10.1 where
mon oconf push
would fail to work when pushing to pollers on systems with non upstream naemon paths.
- Community packages for CentOS/RHEL 7 & 8 are now generated with Open Suse Build Service
- Changelog has been added!
- Configure option
--with-ls-socket
allows one to configure where the livestatus socket is expected to be for the apps. - For slim packages, the
merlin_cluster_tools
script has been added. This script can be used with thecluster_update
setting to automatically handle clustering.
- Paths in the
mon
apps has been adjusted to configurable values. They are either fetched directly from the Naemon config, or from values set when runningconfigure
. This should make themon
apps less OP5 specific and work correctly with community installs. - The user/group in the systemd and logrotate files has been adjusted to match
the values set with
configure
.
mon log fetch
andmon log sortmerge
has been removed, as these are broken and no longer used.
- Correctly tokenize
ipc_blocked_hostgroups
so that the setting works as it should with multiple hostgroups defined. mon db fixindexes
had an outdated OP5 specific paths to SQL files. The path has been correctly to work on both OP5 and community packages using the configure option--datarootdir
.
- Sample cronjobs in /apps
--write
option tomon merlinkey generate
which will write the path to the newly generated private encryption key to merlin.conf- New mon commands: slimpoller. These are inteded for slim pollers to register or deregister with a master node.
- Implemented
ipc_blocked_hostgroups
setting. This setting will allow to block the specific node from executing checks from the specified hostgroups
- Exceptions added to the
auto_delete
functionality to avoid master takeover of checks. Don't auto delete in pollergroups with only one node, and when no nodes have been heard from recently. - Only enable
auto_delete
for pollers. - Make
mon merlinkey generate
idempotent.
- Fix an issue that caused
auto_delete
nodes to be removed prematurely. - Show the correct time to node auto deletion in the debug log.
- Correctly set the required Naemon version in the build tools.
mon oconf fetch
now support file sync via the --sync command. Ported to python- Support for SSH-less "test this check" using a new query handler
runcmd
- Node identification is now possible using UUID, by using the new merlin.conf
options
ipc_uuid
anduuid
. - Allow setting
publickey
withmon node add
- New setting
cluster_update
allows an arbitary script to be run when a remote node signals the cluster config is invalid. The script chosen should be able adjust the cluster config into a valid state. mon oconf remote-fetch
added, which will tell a remote node to executemon oconf fetch
.auto_delete
functionality allows removing nodes which have not been seen withing x seconds.
- Add support for Naemon 1.2.4. Merlin now requires Naemon version >= 1.2.4.
- Binlogs are now stored persistently to file when merlin shuts down. The
binlog is loaded again on startup ensuring no events are lost if merlin is
restarted while another node is down. Can be disabled by setting
binlog_persist = 0
.
Changelogs for earlier versions are not kept, please see git log for details.