Ansible Playbook 源码安装 Zabbix_Agent (client 端为Centos6.4)

 Ansible目录结构

## ansible.cfg  此文件为 ansible 的主配置文件
## hosts        用于定义主机组
## roles        定义不同的角色
## install_zabbix_agent.yml  用于安装 zabbix_agent 的引导文件
## delete_zabbix_agent.yml   用于删除已安装的 zabbix_agent 的引导文件
 [root@ansible-server ansible]# cd /etc/ansible/ ; tree 
.
|-- hosts
|-- install_zabbix_agent.yml
`-- roles
    `-- install_zabbix_agent                      <---------为一个角色(目录)
        |-- files                                                 <---------用于存放将要拷贝到远程主机的安装包等
        |   |-- install_zabbix_client.sh                             <--------client安装脚本
        |   `-- zabbix-4.0.6-agent_after_make_on_centos6.tar              <--------官网下载agent,放至此目录
        |-- tasks                 <--------将要执行的所有任务,如果比较复杂,可以单独定义不同的任务,最后在 main.yml 文件中引用即可
        |   `-- main.yml
        |-- templates         <--------模板目录,这里存放着一些可变的文件,即:每台主机上的这些文件中的内容都不完全相同
        |   |-- zabbix_agentd
        |   `-- zabbix_agentd.conf
        `-- vars                                                                                              <--------变量目录,存放变量文件
            `-- main.yml

===========================================================================================

 Playbook 安装软件需要的步骤

1、定义 hosts( 给哪些主机安装软件 )
2、定义入口文件 install_zabbix_agent.yml
3、定义角色 install_zabbix_agent

以下为相关文件内容,按tree目录显示位置存放下列文件即可:

# cat /etc/ansible/hosts 
[webservers]
192.168.1.100
192.168.1.110
 

# cat install_zabbix_agent.yml
- hosts: webservers
  remote_user: root
  tasks:
  - name: mkdir
    shell: mkdir -p /tmp/zabbix
  - name: touch Logfile
    shell: cd /tmp/zabbix && touch zabbix.log
  - name: copy zabbix.tar to clien
    copy: src=/etc/ansible/roles/install_zabbix_agent/files/zabbix-4.0.6-agent_after_make_on_centos6.tar  dest=/tmp/zabbix
  - name: copy install_shell to client
    copy: src=/etc/ansible/roles/install_zabbix_agent/files/install_zabbix_client.sh dest=/tmp/zabbix/install_zabbix_client.sh
    notify: install shell
  handlers:
  - name: install shell
    shell: /bin/bash /tmp/zabbix/install_zabbix_client.sh >/tmp/zabbix/zabbix.log 2>&1

[root@ansible-server files]# cat install_zabbix_client.sh
#!/bin/bash
set -x
yum -y install pcre-devel.x86_64
groupadd --system zabbix
useradd --system -g zabbix -M -s /sbin/nologin -c "Zabbix Monitoring" zabbix
cd /tmp/zabbix
tar -xf  zabbix-4.0.6-agent.tar -C /tmp/zabbix
cd /tmp/zabbix/zabbix-4.0.6
make install
cp misc/init.d/fedora/core5/zabbix_agentd /etc/init.d/
sed -i 's/Server=127.0.0.1/Server=10.10.100.10/' /usr/local/etc/zabbix_agentd.conf
sed -i 's/ServerActive=127.0.0.1/ServerActive=10.10.100.10/' /usr/local/etc/zabbix_agentd.conf
chkconfig --add zabbix_agentd
chkconfig zabbix_agentd on
service zabbix_agentd start

 

最后执行命令(run on ansible)
#ansible-playbook  -vvv -i hosts install_zabbix_agent.yml
 

另外可在 zabbixServer 上测试
/usr/local/zabbix/bin/zabbix_get -s10.10.10.2 -p10050 -k "system.uname"

==========yaml基本语法===

以--- 开始,以 ... 结尾

基本语法:
1、区分大小写
2、同级别要对齐,缩进表示层级
3、缩进不允许使用Tab键
4、缩进空格数不规定,相同元素区分即可

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值