[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
本文转自 Innocence_caosm 51CTO博客,原文链接:http://blog.51cto.com/innocence/2045710,如需转载请自行联系原作者