Mac OS X – Install Zabbix Agent from Source

This isn’t too complicated, so let’s try to keep this short and sweet. In my case, I was installing version 2.4.7 of the Zabbix Agent at the time, but I’ve made it to where you can download the current version of the source if you want.

  • From the Apple developer website, download and install both the XCode and Command Line Tools package for your exact version of Mac OS.
  • If you don’t already have this directory or somewhere you want to build the software, create it at the terminal and change into the directory.
    sudo mkdir /usr/local/src
    sudo cd /usr/local/src
  • You can download the latest version of the Zabbix source like this:
    sudo curl -L "https://sourceforge.net/projects/zabbix/files/latest/download?source=files" -o "zabbix-cur.tar.gz"
  • Untar and change into directory substituting your directory name here
    sudo tar -zxvf zabbix-2.4.7.tar.gz
    sudo cd zabbix-2.4.7
  • Build it
    sudo ./configure --prefix=/usr/local --enable-agent --enable-ipv6 && sudo make install
  • Edit the config file and insert the IP Address of your Zabbix server and set your Hostname
    sudo nano /usr/local/etc/zabbix_agentd.conf
  • Create user account
    sudo dscl . -create Users zabbix
  • Append next available UniqueID to account
    sudo dscl . -append Users/zabbix UniqueID $(dscl . -list /Users UniqueID | awk 'BEGIN{i=0}{if($2>i)i=$2}END{print i+1}')
  • I’m not sure if this was always the case, but in older versions of Mac OS, I think the PrimaryGroupID was automatically created, but maybe I am wrong. At least on Mac OS version 10.10.5 Yosemite and above, it doesn’t create a PrimaryGroupID key automatically. If you don’t do this step, you will get an “illegal username” error when you try to set ownership on files later.
    sudo dscl . -append Users/zabbix PrimaryGroupID $(dscl . -read Users/zabbix UniqueID | awk '{ print $2 }')
  • Hide the user account
    sudo dscl . -append Users/zabbix IsHidden 1
  • Create the group
    sudo dscl . -create Groups zabbix
  • Get the next available PrimaryGroupID
    Please see my comment at the end of the post about this line.
    sudo dscl . -append Groups/zabbix PrimaryGroupID $(dscl . -list /Groups PrimaryGroupID | awk 'BEGIN{i=0}{if($2>i)i=$2}END{print i+1}')
  • Add group membership
    sudo dscl . -append Groups/zabbix GroupMembership zabbix
  • Set directory permissions
    sudo chown zabbix:wheel /usr/local/bin/zabbix*
    sudo chown zabbix:wheel /usr/local/etc/zabbix*
    sudo chown zabbix:wheel /usr/local/sbin/zabbix*
  • Create the following file
    sudo nano /Libray/LaunchDaemons/com.zabbix.zabbix_agentd.plist
  • Paste this 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>com.zabbix.zabbix_agentd</string>
            <key>RunAtLoad</key>
            <true/>
            <key>KeepAlive</key>
            <dict>
                    <key>SuccessfulExit</key>
                    <false/>
            </dict>
            <key>ProgramArguments</key>
            <array>
                    <string>/usr/local/sbin/zabbix_agentd</string>
                    <string>-c</string>
                    <string>/usr/local/etc/zabbix_agentd.conf</string>
            </array>
    </dict>
    </plist>
  • Launch the daemon
    sudo launchctl load /Library/LaunchDaemons/com.zabbix.zabbix_agentd.plist
  • Check and make sure the daemon is running
    ps aux | grep zabbix
0Thumbs Up 0Thumbs Down

Leave a Reply

2 Comments on "Mac OS X – Install Zabbix Agent from Source"

Notify of
wpDiscuz