天天看点

zabbix_agent自动部署安装

一、先编译个zabbix_zgent

1、下载安装zabbix

wget "http://sourceforge.net/projects/zabbix/files/ZABBIX%20Latest%20Stable/3.4.3/zabbix-3.4.3.tar.gz"

tar zxf zabbix-3.4.3.tar.gz

cd /tmp/zabbix-3.4.3

./configure   --prefix=/usr/local/webserver/zabbix/ --enable-agent

make

make install

2、配置zabbix客户端

cd /usr/local/webserver/zabbix/etc/

vim zabbix_agentd.conf

    Server=zabbix_server IP

    ServerActive=zabbix_server IP

    Hostname=本机的主机名

3、启动zabbix_agent服务 

/usr/local/webserver/zabbix/sbin/zabbix_agentd

netstat -ntlp(默认端口10050)

ps -ef |grep zabbix

4、打包写脚本

(为了以后方便批量部署agent,我们把这次编译好的zabbix_agent打包,写个shell脚本自动部署安装)

tar czf /tmp/zabbix_agent.tar.gz /usr/local/webserver/zabbix/

vim /tmp/zabbix_agent_install.sh

    #zabbix_agent 自动部署脚本

    #!/bin/sh

    #判断zabbix用户在不在

    id zabbix >& /dev/null || {

           groupadd -g 2012 zabbix;

           useradd -s /sbin/nologin -u 2014 -g 2012 -M zabbix >& /dev/null

    }

    #判断文件目录在不在(目录一定要和编译的保持一致,否则服务起不起来)

    [ -d /usr/local/webserver ] || mkdir -p /usr/local/webserver

    [ -d /usr/local/webserver/zabbix ] && /bin/rm -rf /usr/local/webserver/zabbix

    #安装zabbix_agent

    cd /tmp

    wget "http://10.8.97.136/zabbix-agent/zabbix.tar.gz" >/dev/null

    [ -f zabbix.tar.gz ] || echo install fail zabbix package not found

    tar zxf zabbix.tar.gz -C /usr/local/webserver/

    cp /usr/local/webserver/zabbix/sbin/zabbix_agentd  /etc/init.d/zabbix_agentd

    #/etc/services文件是记录网络服务名和它们对应使用的端口号及协议

    grep zabbix /etc/service || {

        echo "zabbix-agent    10050/tcp" >>/etc/service

        echo "zabbix-agent    10050/udp" >>/etc/service

        echo "zabbix-trapper  10051/tcp" >>/etc/service

        echo "zabbix-trapper  10051/udp" >>/etc/service

    sed -i -e "/^Hostname/s/^.*$/Hostname=`hostname`/" /usr/local/webserver/zabbix/etc/zabbix_agentd.conf

    #chkconfig zabbix_agentd on   #这个报错说不支持 再研究why

    /etc/init.d/zabbix_agentd restart >& /dev/null

    rm -rf /tmp/zabbix.tar.gz

    rm -rf /tmp/zabbix_agent_install.sh

    #pgrep命令以名称为依据从运行进程队列中查找进程,并显示查找到的进程id

    pgrep zabbix >& /dev/null && echo "install sucessful" || echo "install fail"

5、脚本写好测试没问题,就可以放在web服务器上,以后安装agent就可以直接执行

    curl -i  http://xxx.xxx.xxx/xxx/zabbix_agent_install.sh |/bin/sh

     本文转自西鼠 51CTO博客,原文链接:http://blog.51cto.com/10630401/1978794,如需转载请自行联系原作者