Installing the Zabbix 4.2 Monitoring Agent

On our FileMaker Cloud for AWS servers, which are currently CentOS 7.6 based, we are typically installing the Zabbix monitoring agent. With one exception, installing the Zabbix agent is a relatively quick and easy procedure.

Although not required, installing the agent allows gathering more data on your servers than a Zabbix server alone.

Typical Installation Pattern

With the following pattern this has been working well for FileMaker Cloud for AWS v17 and v18 servers, which are all CentOS 7 based. For the steps below you’ll need to enable SSH access for the server’s Security Group in AWS and have an SSH key that works for the server.

First we add in the package repo for the version of Zabbix we want, install agent (answer “Y” to all prompts).

rpm -Uvh https://repo.zabbix.com/zabbix/4.2/rhel/7/x86_64/zabbix-release-4.2-2.el7.noarch.rpm
yum install zabbix-agent

Next we modify the configuration so that agent knows where our Zabbix server is, and the name to report in as.

vi /etc/zabbix/zabbix_agentd.conf
  • modify line starting with Server=
  • modify line starting with ServerActive=
  • modify line starting with Hostname=

Before we start the agent, we need to allow the default Zabbix agent ports in the OS firewall.

vi /etc/firewalld/zones/public.xml

Add in the following with the other rows (I’m using a bulleted list here only because the blog gets confused by the tags):

  • <port protocol=”tcp” port=”10050″/>
  • <port protocol=”tcp” port=”10051″/>

We can now load up the firewall settings, start up the Zabbix agent, and enable it to start across reboots.

systemctl enable zabbix-agent  # start agent on boot 
systemctl restart firewalld  # reload config
systemctl start zabbix-agent

With that done, we should be able to enable the agent to start on reboot, and start it up for immediate use.

systemctl enable zabbix-agent
service zabbix-agent start

Problems with Zabbix 4.4

On a recent system I had changed the above pattern to instead use the newer 4.4 version of the Zabbix agent. This unfortunately failed when I tried to start it:

Redirecting to /bin/systemctl start zabbix-agent.service
Job for zabbix-agent.service failed because the control process exited with error code. See "systemctl status zabbix-agent.service" and "journalctl -xe" for details.

Sure enough, checking with journalctl -xe I saw some relevant error messages, including:

Oct 22 18:44:22 ip-172-31-4-10.us-west-2.compute.internal zabbix_agentd[8492]: /usr/sbin/zabbix_agentd: error while loading shared libraries: libssl.so.1.1: cannot open shared object file: No such file or directory
Oct 22 18:44:22 ip-172-31-4-10.us-west-2.compute.internal systemd[1]: zabbix-agent.service: control process exited, code=exited status=127

So it appears we are missing an OpenSSL library that’s required by the Zabbix agent. Digging around with commands like ldd and cross-checking a similar system still running 4.2 I couldn’t find an obvious reason or a fix for the problem.

So at this time, my current solution is to roll back to 4.2:

rpm -e zabbix-release-4.4-1.el8.noarch  # remove the newer repo info
yum clean all  # purge repo files that may contain 4.4
rpm -Uvh https://repo.zabbix.com/zabbix/4.2/rhel/7/x86_64/zabbix-release-4.2-2.el7.noarch.rpm  # add in the older 4.2 repo

You should then be able to install, configure, and start the Zabbix agent without issues.

UPDATE:

Hit this again using Zabbix 5.x and the FileMaker Server for Linux Preview.

Since FMS installs the newer libssl and libcrypto versions, I’m now just symlinking to the FMS versions:

cd /usr/lib64/
ln -s /opt/FileMaker/lib/libssl.so.1.1
ln -s /opt/FileMaker/lib/libcrypto.so.1.1

References

Simon

Leave a Reply