Installing¶
Dependencies & Requirements¶
Merlin is currently tested on CentOS 7 & CentOS 8. Merlin requires Naemon, and
the Naemon binary must be installed at /usr/bin/naemon
.
From package repositories¶
Installing via repositories hosted at openSUSE Build Service is the recommended approach. This makes updating easy using the OS provided package manager.
Prior to installing we need to ensure that the EPEL release is included, as dependencies from EPEL are required. Hereafter we can install the relevant .repo files, both for Naemon and Merlin. Finally we can install merlin using the package manager.
CentOS 7¶
yum install -y epel-release
curl -s https://download.opensuse.org/repositories/home:/naemon/CentOS_7/home:naemon.repo >> /etc/yum.repos.d/naemon-stable.repo
curl -s https://download.opensuse.org/repositories/home:/itrs-op5/CentOS_7/home:itrs-op5.repo >> /etc/yum.repos.d/itrs-op5.repo
yum install merlin
systemctl enable naemon && systemctl start naemon
CentOS 8¶
dnf install -y epel-release
curl -s https://download.opensuse.org/repositories/home:/naemon/CentOS_8_Stream/home:naemon.repo >> /etc/yum.repos.d/naemon-stable.repo
curl -s https://download.opensuse.org/repositories/home:/itrs-op5/CentOS_8_Stream/home:itrs-op5.repo >> /etc/yum.repos.d/itrs-op5.repo
dnf install merlin
systemctl enable naemon && systemctl start naemon
Post install steps¶
Clustering relies on having a running SSH server. Enable the SSH server by:
systemctl enable sshd
systemctl start sshd
With Thruk¶
If you wish to install the Thruk UI, add naemon
to the dnf/yum install
commands above.
Development snapshot¶
Development snapshots are built anytime there is a merge to master. If you need a feature not yet included for release, you can install the development snapshot by replacing the repo definitions above with either corresponding one below.
CentOS 7:
https://download.opensuse.org/repositories/home:/itrs-op5:/master/CentOS_7/home:itrs-op5:master.repo
CentOS 8:
https://download.opensuse.org/repositories/home:/itrs-op5:/master/CentOS_8_Stream/home:itrs-op5:master.repo
From .rpm files¶
Releases are also published on Github. Each release contain a set of tar.xz files containing the built rpm sources.
Extract the achieve and install the complete all RPMs in a single command using your package manager (yum/dnf). Prior to installing ensure that Naemon is either installed or the Naemon repository has been added.
Slim packages¶
Currently two sets of packages are being built. Normal packages and slim
packages which are denoted -slim
. The slim packages are intended for use
in containers, for example with the Merlin container poller.
Some of the differences with the slim packages are noted below:
No systemd service files
No database is installed
Includes container specific healthchecks
Includes the
cluster_tools
script which helps registering with master nodes
Compiling from source¶
Needs review, this section is potentially out of date and needs updating
Requirements¶
Merlin requires Naemon, including its development headers for building. Currently, it requires version >= 1.2.4.
Other general build requirements: gcc, autoconf, automake, glib-2-devel, check-devel, libdbi-devel, libtool, naemon-devel, gperf
For running Merlin with its default configuration, you’ll need to have libdbi-dbd-mysql and all of its dependencies (generally libdbi-drivers, libdbi and mysql-libs) installed.
You will of course also need an sql database supported by libdbi (refer to the libdbi documentation for further information about supported databases), as well as a Naemon installation that the Merlin module can plug in to. The import script is currently limited to MySQL only, so that’s currently the only database supported.
The install script requires sql administration privileges in order to create the database that merlin will populate for you.
GNU sed 4.0.9 or better is required for the install script to be able to modify your naemon configuration files.
For redundant/distributed installation you also need sudo rights for naemon user to be able to reload the configuration on all your nodes in the cluster. The command that needs to be executed ‘sudo mon restart’.
Building and installation¶
Building is a standard autotools flair. Checkout with git, or download the release tarball and run
./autogen.sh
make
sudo make install
The install will by default try to install merlin’s database. The configure script provides a way to configure database name and users, as well as a way to prevent merlin from doing this automatically, in which case you need to run the install-merlin.sh script manually. Run ./configure –help for more information.
Merlin will drop a naemon configuration file into the directory naemon’s
configuration lies. You can include it in your main naemon config file with
include_file=merlin.cfg
or by putting the config file in an already included
directory with the --with-naemon-config-dir
argument to the configure script.