ansible批量安裝zabbix客戶端並實現自動發現功能


ansible批量安裝zabbix客戶端並實現自動發現功能

環境說明:

  139機器(192.168.0.139):安裝好ansible,並配置ssh免密鑰能登錄243和244的機器

  cat /etc/ansible/hosts,設置了k8s分組

。。。
[k8s]
192.168.0.243
192.168.0.244
。。。

測試: ansible k8s -m command -a 'uptime'

一、ansible批量安裝zabbix客戶端

playbook介紹
簡單理解:把模塊,函數放在一個配置文件里,單獨執行配置文件,實現遠程自動化的操作

 

1、139機器先在本機安裝好zabbix客戶端

1 ./configure --prefix=/home/cudo/app/zabbix4.0.14_agentd/ --enable-agent
2 make && make install

 
2、使用roles完成zabbix_agentd的安裝和配置

【i】創建role的步驟
(1)創建以roles命名的目錄
(2)在roles目錄中分別創建以各角色名稱命名的目錄,我這里是new
(3)在每個角色命名的目錄中分別創建files、tasks、templates和vars目錄
(4)在playbook文件中,調用各角色

 
【ii】ansible目錄結構:

 文件夾說明:

(1)files:放置本機已經裝好的zabbix客戶端(二進制安裝),存放由copy或script模塊等調用的文件
(2)tasks:定義task,role的基本元素,至少應該包含一個名為main.yml的文件
(3)templates: template模塊查找所需要模板文件的目錄
(4)vars:定義變量,至少應該包含一個名為main.yml的文件

 
【iii】具體文件說明
1、zabbix.yml:
- hosts: all
  user: root
  roles:
  - new
說明:
(1)host:對哪些主機(組)進行操作
(2)user:使用什么用戶登錄遠程主機操作
 
2、tasks/main.yml
(1)復制已安裝的zabbix客戶端目錄文件到遠端機器上
(2)解壓
(3)zabbix_agentd 配置文件替換
(4)啟動zabbix_agentd
[root@zabbix4 tasks]# cat main.yml 
- name: scp zabbix(包含zabbix_agentd) 到 client
  copy: src=zabbix4.0.14_agentd.tar.gz dest={{ zabbix_home }}
  
- name: tar -xvf zabbix4.0.14_agentd.tar.gz 解壓
  shell: cd {{ zabbix_home }} && tar xvf zabbix4.0.14_agentd.tar.gz

- name: Copy zabbix_agent.conf Config file
  template: >
        src=zabbix_agentd.conf.j2
        dest=/home/cudo/app/zabbix4.0.14_agentd/etc/zabbix_agentd.conf
        mode=0755 owner=cudo group=cudo
- name: start zabbix
  service: cd {{ zabbix_home }}/zabbix4.0.14_agentd && ./zabbix_agentd start

 

3、templates/zabbix_agentd.conf.j2

[root@zabbix4 new]# cat templates/zabbix_agentd.conf.j2 
LogFile=/tmp/zabbix_agentd.log
Server={{zabbix_serverip}}
ServerActive=0.0.0.0:10050
Hostname={{ansible_hostname}}  
User=zabbix
UnsafeUserParameters=1
說明:
(1)Hostname:獲取遠程主機的hostname

4、vars/main.yaml
定義變量 zabbix_home,zabbix_serverip

[root@zabbix4 new]# cat vars/main.yaml 
zabbix_home: /home/cudo/app
zabbix_serverip: 192.168.0.139

 

【iv】運行並安裝
(1)cd /etc/ansible/zabbix_agentd_install
(2)ansible-playbook zabbix.yml

 

(3)檢查是否成功安裝zabbix客戶端

ansible k8s -m raw -a "ps -ef |grep zabbix_agentd"

 

 二、zabbix自動發現並批量添加主機

web頁面:依次點擊“配置”>>> “動作”>>> 事件源 選擇“自動發現” >> 點擊“創建動作”

1、配置動作

依次配置“名稱、觸發條件”后點擊“添加”

(1)名稱:自動發現內網主機

(2)新的觸發條件:

服務類型 等於 Zabbix 客戶端

主機IP地址 等於 192.168.0.240-246

添加保存

 

 

2、配置操作

 

 自動添加的主機會分到“Discovered hosts 上


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM