[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