方法
一、上传源码包到centos上
二、复制需要安装部分的代码(如vi /etc/install-zabbix.sh 复制代码)
chmod +x /etc/install-zabbix.sh
/etc/install-zabbix.sh
shell代码如下:
#!/bin/sh
#服务端加客户端安装脚本
groupadd -g 493 zabbix
useradd -u 493 -g zabbix
tar xf zabbix-3.2.2.tar.gz -C /usr/local/
mkdir /usr/local/zabbix
mkdir /var/run/zabbix
mkdir /var/log/zabbix
cd /usr/local/zabbix-3.2.2/
./configure --prefix=/usr/local/zabbix --enable-server --enable-agent --with-mysql --enable-ipv6 --with-net-snmp --with-libcurl --with-libxml2
make install
echo 'export PATH=$PATH:/usr/local/zabbix/bin:/usr/local/zabbix/sbin' > /etc/profile.d/zabbix.sh
echo 'PidFile=/var/run/zabbix/zabbix_server.pid' >> /usr/local/zabbix/etc/zabbix_server.conf
echo 'PidFile=/var/run/zabbix/zabbix_agentd.pid' >> /usr/local/zabbix/etc/zabbix_agentd.conf
sed -i -e "s/tmp\/zabbix_server.log/var\/log\/zabbix\/zabbix_server.log/g" /usr/local/zabbix/etc/zabbix_server.conf
sed -i -e "s/tmp\/zabbix_agentd.log/var\/log\/zabbix\/zabbix_agentd.log/g" /usr/local/zabbix/etc/zabbix_agentd.conf
chown -R zabbix:zabbix /usr/local/zabbix
chown -R zabbix:zabbix /var/run/zabbix
chown -R zabbix:zabbix /var/log/zabbix
rm -rf /usr/local/zabbix-3.2.2/
#自启动脚本 客户端
echo '#!/bin/sh
#
# chkconfig: - 86 14
# description: Zabbix agent daemon
# processname: zabbix_agentd
# config: /usr/local/zabbix/etc/zabbix_agentd.conf
#
### BEGIN INIT INFO
# Provides: zabbix-agent
# Required-Start: $local_fs $network
# Required-Stop: $local_fs $network
# Should-Start: zabbix zabbix-proxy
# Should-Stop: zabbix zabbix-proxy
# Default-Start:
# Default-Stop: 0 1 2 3 4 5 6
# Short-Description: Start and stop Zabbix agent
# Description: Zabbix agent
### END INIT INFO
# Source function library.
. /etc/rc.d/init.d/functions
if [ -x /usr/local/zabbix/sbin/zabbix_agentd ]; then
exec=/usr/local/zabbix/sbin/zabbix_agentd
else
exit 5
fi
prog=${exec##*/}
conf=/usr/local/zabbix/etc/zabbix_agentd.conf
pidfile=$(grep -e "^PidFile=.*$" $conf | cut -d= -f2)
timeout=10
if [ -f /etc/sysconfig/zabbix-agent ]; then
. /etc/sysconfig/zabbix-agent
fi
lockfile=/var/lock/subsys/zabbix-agent
start()
{
echo -n $"Starting Zabbix agent: "
daemon $exec -c $conf
rv=$?
echo
[ $rv -eq 0 ] && touch $lockfile
return $rv
}
stop()
{
echo -n $"Shutting down Zabbix agent: "
killproc -p $pidfile -d $timeout $prog
rv=$?
echo
[ $rv -eq 0 ] && rm -f $lockfile
return $rv
}
restart()
{
stop
start
}
case "$1" in
start|stop|restart)
$1
;;
force-reload)
restart
;;
status)
status -p $pidfile $prog
;;
try-restart|condrestart)
if status $prog >/dev/null ; then
restart
fi
;;
reload)
action $"Service ${0##*/} does not support the reload action: " /bin/false
exit 3
;;
*)
echo $"Usage: $0 {start|stop|status|restart|try-restart|force-reload}"
exit 2
;;
esac' > /etc/init.d/zabbix-agent
chmod +x /etc/init.d/zabbix-agent
chkconfig --add zabbix-agent
chkconfig --level 35 zabbix-agent on
/etc/init.d/zabbix-agent start
#自启动脚本 服务端
echo '#!/bin/sh
#
# chkconfig: - 85 15
# description: Zabbix server daemon
# config: /usr/local/zabbix/etc/zabbix_server.conf
#
### BEGIN INIT INFO
# Provides: zabbix
# Required-Start: $local_fs $network
# Required-Stop: $local_fs $network
# Default-Start:
# Default-Stop: 0 1 2 3 4 5 6
# Short-Description: Start and stop Zabbix server
# Description: Zabbix server
### END INIT INFO
# Source function library.
. /etc/rc.d/init.d/functions
if [ -x /usr/local/zabbix/sbin/zabbix_server ]; then
exec=/usr/local/zabbix/sbin/zabbix_server
else
exit 5
fi
prog=${exec##*/}
conf=/usr/local/zabbix/etc/zabbix_server.conf
pidfile=$(grep -e "^PidFile=.*$" $conf | cut -d= -f2)
timeout=10
if [ -f /etc/sysconfig/zabbix-server ]; then
. /etc/sysconfig/zabbix-server
fi
lockfile=/var/lock/subsys/zabbix-server
start()
{
echo -n $"Starting Zabbix server: "
daemon $exec -c $conf
rv=$?
echo
[ $rv -eq 0 ] && touch $lockfile
return $rv
}
stop()
{
echo -n $"Shutting down Zabbix server: "
killproc -p $pidfile -d $timeout $prog
rv=$?
echo
[ $rv -eq 0 ] && rm -f $lockfile
return $rv
}
restart()
{
stop
start
}
case "$1" in
start|stop|restart)
$1
;;
force-reload)
restart
;;
status)
status -p $pidfile $prog
;;
try-restart|condrestart)
if status $prog >/dev/null ; then
restart
fi
;;
reload)
action $"Service ${0##*/} does not support the reload action: " /bin/false
exit 3
;;
*)
echo $"Usage: $0 {start|stop|status|restart|try-restart|force-reload}"
exit 2
;;
esac' > /etc/init.d/zabbix-server
chmod +x /etc/init.d/zabbix-server
chkconfig --add zabbix-server
chkconfig --level 35 zabbix-server on
/etc/init.d/zabbix-server start
#客户端安装脚本
groupadd -g 493 zabbix
useradd -u 493 -g zabbix
tar xf zabbix-3.2.2.tar.gz -C /usr/local/
mkdir /usr/local/zabbix
mkdir /var/run/zabbix
mkdir /var/log/zabbix
cd /usr/local/zabbix-3.2.2/
./configure --prefix=/usr/local/zabbix --enable-agent
make install
echo 'export PATH=$PATH:/usr/local/zabbix/bin:/usr/local/zabbix/sbin' > /etc/profile.d/zabbix.sh
chown -R zabbix:zabbix /usr/local/zabbix
chown -R zabbix:zabbix /var/run/zabbix
chown -R zabbix:zabbix /var/log/zabbix
echo 'PidFile=/var/run/zabbix/zabbix_agentd.pid' >> /usr/local/zabbix/etc/zabbix_agentd.conf
sed -i -e "s/tmp\/zabbix_agentd.log/var\/log\/zabbix\/zabbix_agentd.log/g" /usr/local/zabbix/etc/zabbix_agentd.conf
rm -rf /usr/local/zabbix-3.2.2/
#自启动脚本 客户端
echo '#!/bin/sh
#
# chkconfig: - 86 14
# description: Zabbix agent daemon
# processname: zabbix_agentd
# config: /usr/local/zabbix/etc/zabbix_agentd.conf
#
### BEGIN INIT INFO
# Provides: zabbix-agent
# Required-Start: $local_fs $network
# Required-Stop: $local_fs $network
# Should-Start: zabbix zabbix-proxy
# Should-Stop: zabbix zabbix-proxy
# Default-Start:
# Default-Stop: 0 1 2 3 4 5 6
# Short-Description: Start and stop Zabbix agent
# Description: Zabbix agent
### END INIT INFO
# Source function library.
. /etc/rc.d/init.d/functions
if [ -x /usr/local/zabbix/sbin/zabbix_agentd ]; then
exec=/usr/local/zabbix/sbin/zabbix_agentd
else
exit 5
fi
prog=${exec##*/}
conf=/usr/local/zabbix/etc/zabbix_agentd.conf
pidfile=$(grep -e "^PidFile=.*$" $conf | cut -d= -f2)
timeout=10
if [ -f /etc/sysconfig/zabbix-agent ]; then
. /etc/sysconfig/zabbix-agent
fi
lockfile=/var/lock/subsys/zabbix-agent
start()
{
echo -n $"Starting Zabbix agent: "
daemon $exec -c $conf
rv=$?
echo
[ $rv -eq 0 ] && touch $lockfile
return $rv
}
stop()
{
echo -n $"Shutting down Zabbix agent: "
killproc -p $pidfile -d $timeout $prog
rv=$?
echo
[ $rv -eq 0 ] && rm -f $lockfile
return $rv
}
restart()
{
stop
start
}
case "$1" in
start|stop|restart)
$1
;;
force-reload)
restart
;;
status)
status -p $pidfile $prog
;;
try-restart|condrestart)
if status $prog >/dev/null ; then
restart
fi
;;
reload)
action $"Service ${0##*/} does not support the reload action: " /bin/false
exit 3
;;
*)
echo $"Usage: $0 {start|stop|status|restart|try-restart|force-reload}"
exit 2
;;
esac' > /etc/init.d/zabbix-agent
chmod +x /etc/init.d/zabbix-agent
chkconfig --add zabbix-agent
chkconfig --level 35 zabbix-agent on
/etc/init.d/zabbix-agent start
#web前端安装
cd /usr/local/zabbix-3.2.2/frontends/php
mkdir /usr/share/zabbix
cp -a ./ /usr/share/zabbix
chown -R apache:apache /usr/share/zabbix
希望对不能使用yum安装的小伙伴提供便利
脚本的缺点是如果重新安装建议删除/usr/local/zabbix 目录下的文件
再执行一次脚本