使用ansible安裝配置zabbix客戶端


ansible角色簡介:

目錄名 說明
defaults 默認變量存放目錄
handlers 處理程序(當發生改變時需要執行的操作)
meta 角色依賴關系處理
tasks 具體執行的任務操作定義
templates 模板文件存放目錄
vars 變量文件目錄
files 安裝包文件目錄

 

 

 

 

 

 

 

1.查看ansible控制端目錄結構,tree /etc/ansible

/etc/ansible/
├── ansible.cfg
├── delete_zabbix_agent.yml
├── hosts
├── install_zabbix_agent.yml
└── roles
    ├── delete_zabbix_agent
    │   ├── tasks
    │   │   └── main.yml
    │   └── vars
    │       └── main.yml
    └── install_zabbix_agent
        ├── files
        │   └── zabbix-2.2.1.tar.gz
        ├── tasks
        │   └── main.yml
        ├── templates
        │   ├── zabbix_agentd
        │   └── zabbix_agentd.conf
        └── vars
            └── main.yml
# ansible.cfg  此文件為ansible的主配置文件
# hosts        用於定義主機組
# roles        定義不同的角色
# install_zabbix_agent.yml  用於安裝zabbix_agent的引導文件
# delete_zabbix_agent.yml   刪除已安裝的zabbix_agent的引導文件
# files 目錄:用於存放將要拷貝到遠程主機的安裝包等
# tasks 目錄:將要執行的所有任務,如果比較復雜,可以單獨定義不同的任務,最后在main.yml 件中引用即可
# templates 目錄:模板目錄,這里存放着一些可變的文件
# vars 目錄:用於存放變量

 

2.install_zabbix_agent.yml文件內容

- hosts: host
  roles:
  - install_zabbix_agent

3.delete_zabbix_agent.yml文件內容

- hosts: host
  roles:
    - delete_zabbix_agent

4./etc/ansible/roles/install_zabbix_agent/tasks/main.yml 文件內容

- name: install software
  yum: name={{item}} state=latest
  with_items:
- libcurl
- libcurl-devel - name: create zabbix user user: name={{zabbix_user}} state=present shell=/sbin/nologin - name: Uncompression Zabbix.tar.gz unarchive: src=zabbix-{{zabbix_version}}.tar.gz dest={{zabbix_dir}} - name: copy zabbix start script template: src=zabbix_agentd dest=/etc/rc.d/init.d/zabbix_agentd owner=root group=root mode=0755 - name: copy zabbix config file template: src=zabbix_agentd.conf dest={{zabbix_dir}}/zabbix/etc/zabbix_agentd.conf owner={{zabbix_user}} group={{zabbix_user}} mode=0644 - name: modify zabbix dir permission file: path={{zabbix_dir}}/zabbix owner={{zabbix_user}} group={{zabbix_user}} recurse=yes - name: start zabbix service shell: /etc/init.d/zabbix_agentd start

5.拷貝zabbix-2.2.1.tar.gz,到 /etc/ansible/roles/install_zabbix_agent/files/zabbix-2.2.1.tar.gz

6.拷貝zabbix_agentd啟動命令文件,到/etc/ansible/roles/install_zabbix_agent/templates/zabbix_agentd目錄,修改

 # Zabbix-Directory
        #BASEDIR=/usr/local
        BASEDIR={{zabbix_dir}}/zabbix

7.拷貝zabbix_agentd.conf配置文件,到/etc/ansible/roles/install_zabbix_agent/templates/zabbix_agentd.conf ,修改

Server={{zabbix_server_ip}}
ServerActive={{zabbix_server_ip}

8./etc/ansible/roles/install_zabbix_agent/vars/main.yml文件內容

zabbix_dir: /usr/local
zabbix_version: 2.2.1
zabbix_user: zabbix
zabbix_port: 10050
zabbix_server_ip: 10.205.16.10

9./etc/ansible/roles/delete_zabbix_agent/tasks/main.yml 文件內容

- name: Stop Zabbix_agent
  shell: pgrep zabbix_agentd | xargs kill
  ignore_errors: yes
- name: Delete Boot Start
  shell: chkconfig --del zabbix_agentd
- name: Delete Start Script
  shell: rm -rf /etc/init.d/zabbix_agentd
- name: Delete Install Dir
  shell: rm -rf {{ zabbix_dir }}/zabbix
- name: Delete Software
  shell: rm -rf {{ zabbix_dir }}/src/zabbix-{{ zabbix_version }}.tar.gz
- name: Delete Log File
  shell: rm -rf /tmp/zabbix_agentd.log
- name: Delete Zabbix User
  user: name={{ zabbix_user }} state=absent remove=yes

10./etc/ansible/roles/delete_zabbix_agent/vars/main.yml文件內容

zabbix_dir: /usr/local
zabbix_version: 2.2.1
zabbix_user: zabbix

11.執行命令安裝zabbix客戶端

ansible-playbook /etc/ansible/install_zabbix_agent.yml

12.執行命令刪除zabbix客戶端

ansible-playbook /etc/ansible/delete_zabbix_agent.yml

 


免責聲明!

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



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