1. 程式人生 > >zabbix通過ansible批量部署agent

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,所以我就直接追加了大笑,然後重啟服務,刪除檔案。

 第一次寫,如果有不對的地方請指出微笑