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/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,所以我就直接追加了,然後重啟服務,刪除檔案。
第一次寫,如果有不對的地方請指出。