?ansible編寫劇本步驟
- 1??創建roles目錄結構
- 2??在group_vars/all/main.yml中定義變量列表
- 3??在tasks目錄下編寫tasks任務
- 4??在files目錄下準備部署文件
- 5??在templates目錄下創建j2模板文件
- 6??在handlers目錄下編寫handlers
- 7??在roles目錄下編寫主playbook
- 8??運行主playbook
- 9??檢查驗證
🌟ansible自動化安裝zabbix客戶端
mkdir -p zabbix-agent/{files,handlers,tasks,templates}

2??在group_vars/all/main.yml中定義變量列表- 3??在tasks目錄下編寫tasks任務
- name: 1.配置zabbix源copy:src: zabbix.repodest: /etc/yum.repos.d/backup: yes- name: 2.安裝zabbix客戶端yum:name: zabbix-agent2state: present- name: 3.分發配置文件copy:src: "{{ item.src }}"dest: "{{ item.dest }}"backup: yesloop:- {src: zabbix_agent2.conf,dest: /etc/zabbix/}- {src: sys.conf,dest: /etc/zabbix/zabbix_agent2.d/}notify:- restart_zabbix- name: 4.啟動zabbixsystemd:name: zabbix-agent2enabled: yesstate: started
- 4??在files目錄下準備部署文件
- zabbix.repo
[zabbix]
name=zabbix
baseurl=https://mirrors.aliyun.com/zabbix/zabbix/7.0/rhel/7/x86_64/
enabled=1
gpgcheck=0
PidFile=/run/zabbix/zabbix_agent2.pid
LogFile=/var/log/zabbix/zabbix_agent2.log
LogFileSize=0
Server=172.16.1.63
ServerActive=127.0.0.1
Hostname=Zabbix server
Include=/etc/zabbix/zabbix_agent2.d/*.conf
PluginSocket=/run/zabbix/agent.plugin.sock
ControlSocket=/run/zabbix/agent.sock
Include=/etc/zabbix/zabbix_agent2.d/plugins.d/*.conf
UserParameter=proc.zombie,top -bn1 | awk 'NR==2{print $(NF-1)}'
UserParameter=user.login.ip[*],lastlog -u root | awk 'NR==2{print $$3}'
5??在templates目錄下創建j2模板文件- 6??在handlers目錄下編寫handlers
- name: restart_zabbixsystemd:name: zabbix-agent2state: restarted
- hosts: allroles:- zabbix-agent
ansible-playbook top.yml
ansible lb -m shell -a 'zabbix_agent2 -t "system.hostname"'

