[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-agentd
hosts: zabbix-agentd
remote_user: root
roles:
- 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=zabbix
group=zabbix

#create group if not exists
egrep "^$group" /etc/group >& /dev/null
if [ $? -ne 0 ]
then
    groupadd $group
fi

#create user if not exists
egrep "^$user" /etc/passwd >& /dev/null
if [ $? -ne 0 ]
then
    useradd -g $group $user -s /sbin/nologin
    echo zabbix |passwd --stdin $user >& /dev/null
fi

#检查原有zabbix服务,如果有则停掉
ps -ef |grep zabbix|grep -v grep
if [ $? -eq 0 ]
then
   /etc/init.d/zabbix-agent stop || /etc/init.d/zabbix-agentd stop
fi
#编译安装
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-agent
make&&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.conf
hostname=`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_agentd
sed -i 's/BASEDIR=\/usr\/local/BASEDIR=\/usr\/local\/zabbix-3.2.7/g'  /etc/init.d/zabbix_agentd
#配置开机启动
chkconfig  --add zabbix_agentd
chkconfig  zabbix_agentd on 
/etc/init.d/zabbix_agentd start
#查看zabbix启动
netstat -lnp |grep zabbix
if [ $? -eq 0 ]
then
   echo "Zabbix agent install have completed."
fi