zabbix通过ansible批量部署agent
话不多说,上干货,贴图上码为了方便直接拷贝用,直接把代码贴出来了,可能会有缩进或者中文字符问题哦。以下是plbk.yml的源码:---- hosts: local tasks: -name: install wget yum: name: wget -name: copy wget.sh copy: src: /tmp/wget.sh dest: /tmp/wg
话不多说,上干货,贴图上码
为了方便直接拷贝用,直接把代码贴出来了,可能会有缩进或者中文字符问题哦。
以下是plbk.yml的源码:
---
- hosts: local
tasks:
-name: install wget
yum:
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,所以我就直接追加了,然后重启服务,删除文件。
第一次写,如果有不对的地方请指出。
更多推荐
所有评论(0)