Zabbix will not start unless the log directory exists. There are situations where this directory may not exist (see bottom). If this is the case, modify /etc/init.d/zabbix_agent by adding the following near the top.
LOG=/var/log/zabbix if test ! -d "$LOG"; then mkdir "$LOG" chown -R zabbix:zabbix "$LOG" fi
Zabbix will now correctly create the directory if it does not exist
Why would the directory not be there?
There are probably a few different reasons. Maybe an overzealous cleanup, disk corruption, several things. However, they way I found it was after following the article Boot Linux from USB Pendrive.
Following those instructions, you build the skeleton of /var/log, then use that as a basis for an in-memory partition where your log files are stored (to cut down on writes to a thumbdrive). If Zabbix is installed after this setup is created, the next reboot will copy from the old layout and a log directory will not exist.