1. 程式人生 > 實用技巧 >ansible批量部署zabbix-agent

ansible批量部署zabbix-agent

1.環境部署

IP 描述
192.168.253.100 ansible
192.168.253.53 192.168.253.55 zabbix-agent

2.ansible安裝

這裡就不多說了

3.playbook編寫劇本

3.1 檢視結構

3.2 hosts主機

[agent]
192.168.253.153 hostname=mysql-server1
192.168.253.155 hostname=mysql-server2

3.3 files/zabbix.repo

[zabbix]
name=Zabbix Official Repository - \$basearch
baseurl
=https://mirrors.aliyun.com/zabbix/zabbix/4.0/rhel/7/\$basearch/ enabled=1 gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-ZABBIX-A14FE591 [zabbix-non-supported] name=Zabbix Official Repository non-supported - \$basearch baseurl=https://mirrors.aliyun.com/zabbix/non-supported/rhel/7/\$basearch/ enabled=1 gpgkey=file:///
etc/pki/rpm-gpg/RPM-GPG-KEY-ZABBIX gpgcheck=1

3.4 tasks/prepare.yml

- name: 關閉firewalld
  service: name=firewalld state=stopped enabled=no

- name: 臨時關閉 selinux
  shell: "setenforce 0"
  failed_when: false

- name: 永久關閉 selinux
  lineinfile:
    dest: /etc/selinux/config
    regexp: "^SELINUX="
    line: 
"SELINUX=disabled" - name: 新增EPEL倉庫 copy: src: zabbix.repo dest: /etc/yum.repos.d/

3.5 tasks/agent_install.yml

- name: 新增GPGKEY_1
  shell: curl https://mirrors.aliyun.com/zabbix/RPM-GPG-KEY-ZABBIX-A14FE591 -o /etc/pki/rpm-gpg/RPM-GPG-KEY-ZABBIX-A14FE591

- name: 新增GPGKEY_2
  shell: curl https://mirrors.aliyun.com/zabbix/RPM-GPG-KEY-ZABBIX  -o /etc/pki/rpm-gpg/RPM-GPG-KEY-ZABBIX

- name: 載入快取
  yum:
    update_cache: yes

- name: 下載zabbix-agent
  yum:
    name: zabbix-agent
    state: installed

- name: 修改配置檔案_1
  lineinfile:
    dest: /etc/zabbix/zabbix_agentd.conf
    regexp: 'Server=127.0.0.1'
    line: 'Server=192.168.253.120'

- name: 修改配置檔案_2
  lineinfile:
    dest: /etc/zabbix/zabbix_agentd.conf
    regexp: 'ServerActive=127.0.0.1'
    line: 'ServerActive=192.168.253.120'

- name: 修改配置檔案_3
  lineinfile:
    dest: /etc/zabbix/zabbix_agentd.conf
    regexp: 'Hostname=Zabbix server'
    line: 'Hostname= {{ hostname }}'

- name: 啟動zabbix_agent
  service:
    name: zabbix-agent
    enabled: yes
    state: started

3.6 tasks/main.yml

- include: prepare.yml
- include: agent_install.yml

3.7 agent.yml

- hosts: agent
  remote_user: root

  roles:
    - zabbix_agent

4.一鍵安裝

cd agent
ansible-playbook -i hosts agent.yaml

執行成功!!