CentOS7
zabbix server: 5.0
zabbix agent2:5.0
server: 192.168.1.120
client1: 192.168.1.131
client2: 192.168.1.132
在服务器上:
1、安装配置ansible
$ sudo yum install epel-release -y
$ sudo yum install ansible -y
2、配置ansible无密码SSH到client
$ sudo ssh-keygen -t rsa
$ sudo ssh-copy-id 192.168.1.131
$ sudo ssh 192.168.1.131
3、配置host inventory
$ sudo vim /etc/ansible/hosts
[linuxhosts]
192.168.1.131
192.168.1.132
4、ansible测试
$ sudo ansible linuxhosts -m ping
5、编写批量部署play-book
$cd /opt
$ sudo mkdir ansible/roles -pv
$ cd ansible/roles
roles]# mkdir zabbix-agent{files,templates,tasks} -pv
用途说明:
5.1. 在三个目录下分别建立相应文件
① 在files中存放已经下载好的zabbix-agent包,这里是:zabbix-agent-3.2.6-1.el7.x86_64.rpm
② 在tasks中新建main.yaml文件(注意:必须为该名字)
tasks]# vim main.yaml //内容如下
注意:上图画框的文件就是直接从新建的文件夹files和文件夹templates里寻找,不用写上绝对路径。
③ 在templates中存放zabbix_agentd.conf.j2文件(注意:必须带.j2)
templates]# egrep -v "^#|^$" zabbix_agentd.conf.j2
用目录树看一下:
5.2 建立一个playbook文件
假设就建立在~目录下,名为:zabbix-agent.yaml,该文件的执行可用来调用创建好的roles。
~]#vim zabbix-agent.yaml //内容如下
5.3 测试该playbook文件
~]# ansible-playbook zabbix-agent.yaml -K --check //加上 “ --check ” 可以检测错误
如果没报错,则可实际执行,如下所示就代表测试通过: