[关闭]
@hai046 2015-11-04T08:24:13.000000Z 字数 3100 阅读 907

zabbix agent 安装


如果想在内网安装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

创建源码安装agent脚本脚本

因为内网机子配置和环境都不一样,不能使用第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
添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注