If you use Zabbix for monitoring your systems, and have any MacOS systems, you may be disappointed to find out that the precompiled binaries for zabbix_agent are not made available for download. Lucky for us setup of zabbix_agent on macos doesn’t need to be painful.
First we need to install homebrew. If you do not already have it installed, simply open the terminal and enter the following:
/usr/bin/ruby -e "$(curl -fsSLhttps://raw.githubusercontent.com/Homebrew/install/master/install)"
Next we can install the zabbix agent. Make sure you specify the –without-server-proxy to force the installer to only install the agent.
brew install zabbix --without-server-proxy
Brew will go on to install a bunch of stuff for us. Double check if any of the warnings apply to you.
==> Installing dependencies for zabbix: openssl, pcre ==> Installing zabbix dependency: openssl ==> Downloading https://homebrew.bintray.com/bottles/openssl-1.0.2o_2.el_capitan.bottle.tar.gz ######################################################################## 100.0% ==> Pouring openssl-1.0.2o_2.el_capitan.bottle.tar.gz ==> Caveats A CA file has been bootstrapped using certificates from the SystemRoots keychain. To add additional certificates (e.g. the certificates added in the System keychain), place .pem files in /usr/local/etc/openssl/certs and run /usr/local/opt/openssl/bin/c_rehash This formula is keg-only, which means it was not symlinked into /usr/local, because Apple has deprecated use of OpenSSL in favor of its own TLS and crypto libraries. If you need to have this software first in your PATH run: echo 'export PATH="/usr/local/opt/openssl/bin:$PATH"' >> ~/.bash_profile For compilers to find this software you may need to set: LDFLAGS: -L/usr/local/opt/openssl/lib CPPFLAGS: -I/usr/local/opt/openssl/include ==> Summary 🍺 /usr/local/Cellar/openssl/1.0.2o_2: 1,792 files, 12.2MB ==> Installing zabbix dependency: pcre ==> Downloading https://homebrew.bintray.com/bottles/pcre-8.42.el_capitan.bottle.tar.gz ######################################################################## 100.0% ==> Pouring pcre-8.42.el_capitan.bottle.tar.gz 🍺 /usr/local/Cellar/pcre/8.42: 204 files, 5.4MB ==> Installing zabbix --without-server-proxy ==> Downloading https://downloads.sourceforge.net/project/zabbix/ZABBIX%20Latest%20Stable/3.4.11/zabbix-3.4.11.tar.gz ==> Downloading from https://ayera.dl.sourceforge.net/project/zabbix/ZABBIX%20Latest%20Stable/3.4.11/zabbix-3.4.11.tar.gz ######################################################################## 100.0% ==> ./configure --prefix=/usr/local/Cellar/zabbix/3.4.11 --sysconfdir=/usr/local/etc/zabbix --enable-agent --with-iconv=/usr --with-libpcre=/usr/local/opt/pcre --with-openssl=/usr/local/opt/openssl ==> make install 🍺 /usr/local/Cellar/zabbix/3.4.11: 13 files, 1.4MB, built in 1 minute 8 seconds ==> Caveats ==> openssl A CA file has been bootstrapped using certificates from the SystemRoots keychain. To add additional certificates (e.g. the certificates added in the System keychain), place .pem files in /usr/local/etc/openssl/certs and run /usr/local/opt/openssl/bin/c_rehash This formula is keg-only, which means it was not symlinked into /usr/local, because Apple has deprecated use of OpenSSL in favor of its own TLS and crypto libraries. If you need to have this software first in your PATH run: echo 'export PATH="/usr/local/opt/openssl/bin:$PATH"' >> ~/.bash_profile For compilers to find this software you may need to set: LDFLAGS: -L/usr/local/opt/openssl/lib CPPFLAGS: -I/usr/local/opt/openssl/include
If everything went will you should have zabbix_agentd installed. The setup also installs zabbix_get and zabbix_sender for you as well.
Next you will need to edit the /usr/local/etc/zabbix/zabbix_agentd.conf.
You can now start the agent by issueing the following command at the terminal
/usr/local/sbin/zabbix_agentd
After you have set the zabbix_agent the way you want, you will need to build a .plist file so that you can set the agent to start on boot. The zabbix_agent does not like to launch as root, so in System Preferences, go to Users & Groups and create a Standard user. called “zabbix_agentd” with no home directory or password or email.
sudo nano /Library/LaunchDaemons/org.zabbix.zabbix_agent.plist
Paste the following information into the file
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>Label</key> <string>org.zabbix.zabbix_agent</string> <key>ProgramArguments</key> <array> <string>/usr/local/sbin/zabbix_agentd</string> </array> <key>RunAtLoad</key> <true/> <key>UserName</key> <string>zabbix-agent</string> </dict> </plist>
You can now create your host in the zabbix web admin. What to do there is a topic for another day.
Hope this has helped you, let me know!
Ben has been building VoIP solutions for over 15 years, has over 25 years of Linux administration experience, and enjoys problem-solving. When he is not coding something in Python, or tinkering with some project, you can often find him wandering through the forests and parks of the Pacific Northwest enjoying waterfalls, trails, and animals.