[root@caosm03 etc]# tree ansible

ansible├── ansible.cfg├── ansible.tar.gz├── hosts├── roles│   └── zabbix-agentd│       ├── files│       │   ├── zabbix-3.2.7.tar.gz│       │   └── zabbix_agentd_install.sh│       ├── handlers│       ├── tasks│       │   └── main.yml│       ├── templates│       └── vars├── site.yml├── zabbix-3.2.7.tar.gz└── zabbix_agentd_install.sh

[root@caosm03ansible]# cat site.yml

name: Install Zabbix-agentdhosts: zabbix-agentdremote_user: rootroles:- zabbix-agentd

[root@caosm03 ansible]# cat roles/zabbix-agentd/tasks/main.yml

- name: copy zabbix_tar_gz to client  copy: src=/root/zabbix-3.2.7.tar.gz dest=/tmp/zabbix-3.2.7.tar.gz- name: copy install_shell to client  copy: src=/root/zabbix_agentd_install.sh dest=/tmp/zabbix_agentd_install.sh- name: install zabbix  shell: /bin/bash /tmp/zabbix_agentd_install.sh

[root@caosm03 ansible]# cat roles/zabbix-agentd/files/zabbix_agentd_install.sh

#/bin/bash #源码自动安装zabbix客户端脚本。#需要把zabbix安装包放在/tmp/下面执行。  #安装gcc cc插件set -e yum install -y gcc cc#检查zabbix用户是否存在user=zabbixgroup=zabbix#create group if not existsegrep "^$group" /etc/group >& /dev/nullif [ $? -ne 0 ]then    groupadd $groupfi#create user if not existsegrep "^$user" /etc/passwd >& /dev/nullif [ $? -ne 0 ]then    useradd -g $group $user -s /sbin/nologin    echo zabbix |passwd --stdin $user >& /dev/nullfi#检查原有zabbix服务,如果有则停掉ps -ef |grep zabbix|grep -v grepif [ $? -eq 0 ]then   /etc/init.d/zabbix-agent stop || /etc/init.d/zabbix-agentd stopfi#编译安装tar -zxvf /tmp/zabbix-3.2.7.tar.gz -C /usr/local/src/;cd /usr/local/src/zabbix-3.2.7./configure --prefix=/usr/local/zabbix-3.2.7/ --enable-agentmake&&make install#修改配置文件sed -i.bak 's/127.0.0.1/172.17.165.227/g' /usr/local/src/zabbix-3.2.7/etc/zabbix_agentd.confhostname=`cat /etc/sysconfig/network | sed -n '2p' | awk -F'=' '{print $2}'`sed -i "s/Hostname=Zabbix server/Hostname="$hostname"/g"  /usr/local/src/zabbix-3.2.7/etc/zabbix_agentd.conf#配置init.d启动cp /usr/local/src/zabbix-3.2.7/misc/init.d/fedora/core/zabbix_agentd  /etc/init.d/zabbix_agentdsed -i 's/BASEDIR=\/usr\/local/BASEDIR=\/usr\/local\/zabbix-3.2.7/g'  /etc/init.d/zabbix_agentd#配置开机启动chkconfig  --add zabbix_agentdchkconfig  zabbix_agentd on /etc/init.d/zabbix_agentd start#查看zabbix启动netstat -lnp |grep zabbixif [ $? -eq 0 ]then   echo "Zabbix agent install have completed."fi