@hai046
2015-11-04T08:24:13.000000Z
字数 3100
阅读 907
如果想在内网安装agent服务,可以通过下面两种途径安装,因为内网机子环境存在差异,
内网推荐使用源码重新编译安装
安装完成后需要在后台添加上Hostname[Hostname必须在zabbix Server hostname里面,不然没有数据]
jiemo_server_ip
agent安装文件和配置都放在 10.10.5.12:/opt/app 下,可以具体看
[root@carol app]# ll
total 12
drwxr-xr-x 3 root root 4096 Jul 27 16:55 deployZabbix
drwxrwxr-x 7 root root 4096 Jul 27 15:36 zabbix
drwxr-xr-x 2 root root 4096 Jul 27 18:13 zabbix_source_install
如果remote_ip的机子上的环境和本地环境都一样的,直接copy编译后的文件就行了
在10.10.5.12:/opt/app/deployZabbix下
-rw-r--r-- 1 root root 503 Jul 27 16:28 deploy_remote_zabbix.sh
-rwxr-xr-x 1 root root 355 Jul 27 16:01 deploy_zabbix.sh
drwxrwxr-x 7 root root 4096 Jul 27 15:36 zabbix
-rwxr-xr-x 1 root root 1360 Jul 27 15:54 zabbix_agentd
-rw-r--r-- 1 root root 2855434 Jul 27 16:29 zabbix.tar.gz
直接指向
sh deploy_remote_zabbix.sh remote_ip
即可,主要更能就是复制
如果remote_ip的环境和本地不一样,和有版本的差别,这时候你可以使用源码安装,只用配置--enable-agent
关键配置如下:
./configure --enable-agent --prefix=${DEPLOY_ZABBIX_PATH}
其他的都disable就行,因为只是开启了agent功能,所以编译很快
1,zabbix 源码
2,zabbix_agentd
因为内网机子配置和环境都不一样,不能使用第1种方式安装,所有每次重新编译使用即可
脚本如下
deploy_zabbix_agentd_source_install.sh
内容:
#!/bin/sh
SERVERNAME_ADDRESS=$1
if [ -z ${SERVERNAME_ADDRESS} ]
then
echo "Please input a server IP"
exit 1
fi
echo -n "scp zabbix source code to server $SERVERNAME_ADDRESS ? (yes/no) "
read confirm
if [ $confirm != 'yes' ]
then
exit;
fi
DEPLOY_ZABBIX_PATH=/opt/zabbix
ssh root@${SERVERNAME_ADDRESS} "mkdir -p ${DEPLOY_ZABBIX_PATH}"
scp -r zabbix-2.4.5.tar.gz root@${SERVERNAME_ADDRESS}:/${DEPLOY_ZABBIX_PATH}
ssh root@${SERVERNAME_ADDRESS} "cd ${DEPLOY_ZABBIX_PATH}; tar -xvzf zabbix-2.4.5.tar.gz;cd zabbix-2.4.5;./configure --enable-agent --prefix=${DEPLOY_ZABBIX_PATH} ;make ;make install"
ZABBIX_AGENTD_CONF=${DEPLOY_ZABBIX_PATH}/etc/zabbix_agentd.conf
ssh root@${SERVERNAME_ADDRESS} "cd ${DEPLOY_ZABBIX_PATH};mv ${ZABBIX_AGENTD_CONF} ${ZABBIX_AGENTD_CONF}.bak;touch ${ZABBIX_AGENTD_CONF};echo 'LogFile=/tmp/zabbix_agentd.log'>>${ZABBIX_AGENTD_CONF};echo 'Server=10.10.5.11'>>${ZABBIX_AGENTD_CONF};echo 'ServerActive=10.10.5.11'>>${ZABBIX_AGENTD_CONF};echo \"Hostname=jiemo_server_${SERVERNAME_ADDRESS}\">>${ZABBIX_AGENTD_CONF}"
ssh root@${SERVERNAME_ADDRESS} "cat ${ZABBIX_AGENTD_CONF}"
scp -r zabbix_agentd root@${SERVERNAME_ADDRESS}:/etc/init.d/zabbix_agentd
ssh root@${SERVERNAME_ADDRESS} "/etc/init.d/zabbix_agentd start"
注:
zabbix_agentd脚本放在 /etc/init.d/zabbix_agentd
#!/bin/bash
#
# /etc/init.d/zabbix_agentd
#
# Starts the zabbix_agentd daemon
#
# chkconfig: - 95 5
# description: Zabbix Monitoring Agent
# processname: zabbix_agentd
# pidfile: /tmp/zabbix_agentd.pid
# Modified for Zabbix 2.0.0
# May 2012, Zabbix SIA
# Source function library.
. /etc/init.d/functions
RETVAL=0
prog="Zabbix Agent"
ZABBIX_BIN="/opt/zabbix/sbin/zabbix_agentd"
if [ ! -x ${ZABBIX_BIN} ] ; then
echo -n "${ZABBIX_BIN} not installed! "
# Tell the user this has skipped
exit 5
fi
start() {
echo -n $"Starting $prog: "
daemon $ZABBIX_BIN
RETVAL=$?
[ $RETVAL -eq 0 ] && touch /var/lock/subsys/zabbix_agentd
echo
}
stop() {
echo -n $"Stopping $prog: "
killproc $ZABBIX_BIN
RETVAL=$?
[ $RETVAL -eq 0 ] && rm -f /var/lock/subsys/zabbix_agentd
echo
}
case "$1" in
start)
start
;;
stop)
stop
;;
reload|restart)
stop
sleep 10
start
RETVAL=$?
;;
condrestart)
if [ -f /var/lock/subsys/zabbix_agentd ]; then
stop
start
fi
;;
status)
status $ZABBIX_BIN
RETVAL=$?
;;
*)
echo $"Usage: $0 {condrestart|start|stop|restart|reload|status}"
exit 1
esac
exit $RETVAL