zabbix通过ansible批量部署agent

话不多说,上干货,贴图上码偷笑


为了方便直接拷贝用,直接把代码贴出来了,可能会有缩进或者中文字符问题哦。

以下是plbk.yml的源码:

---

- hosts: local

 tasks:

  -name: install wget

   yum:

扫描二维码关注公众号,回复: 1799300 查看本文章

     name: wget

  -name: copy wget.sh

   copy:

     src: /tmp/wget.sh

     dest: /tmp/wget.sh

     backup: yes

  -name: copy

   copy:

     src: /tmp/modify.sh

     dest: /tmp/modify.sh

     backup: yes

  -name: execute wget script file

   command:

     /usr/bin/sh /tmp/wget.sh

  -name: execute modify script file

   command:

     /usr/bin/sh /tmp/modify.sh



以下是wget.sh的源码:

#!/bin/bash

wget -O /tmp/ http://repo.zabbix.com/zabbix/3.4/rhel/7/x86_64/zabbix-release-3.4-2.el7.noarch.rpm

rpm -ivh/tmp/zabbix-release-3.4-2.el7.noarch.rpm

yum -y install zabbix-agent

以下是modify.sh的源码:

#!/bin/bash

a=`ip a|grep "192"|awk '{print$2}'|awk -F'/' '{print $1}'|awk -F'.' '{print $3"-"$4}'`

sed -i "s/Hostname=Zabbixserver/Hostname=$a/" /etc/zabbix/zabbix_agentd.conf

sed -i -e's/ServerActive=127.0.0.1/ServerActive=192.168.80.142/' -e's/Server=127.0.0.1/Server=192.168.80.142/' -e '1 i\HostMetadata=linux'/etc/zabbix/zabbix_agentd.conf

systemctl restart zabbix-agent

rm -f/tmp/zabbix-release-3.4-2.el7.noarch.rpm

rm -f /tmp/modify.sh

rm -f /tmp/wget.sh



#是这样的,把这三个文件放到服务端用ansible运行plbk.yml文件就行,当然了,主机组要自己指定,注意修改plbk.yml文件的hosts,具体流程是这样的,通过yml文件来运行脚本进行zabbix 客户端的安装以及部署,wget.sh是通过wget命令下载源,然后rpm安装源,最后通过yum安装zabbix客户端,然后就是修改配置文件,我这俩直接用sed命令修改配置文件,如果是刚安装的客户端配置文件肯定是没动过,大部分都是注释,有些地方就不需要解开注释,直接追加了,修改了server端的ip,我脚本里的HostMetadata=‘linux’是因为server端的web页面配置的自动发现的条件是HostMetadata=linux,所以我就直接追加了大笑,然后重启服务,删除文件。


 第一次写,如果有不对的地方请指出微笑


猜你喜欢

转载自blog.csdn.net/wojiuwangla/article/details/79349114