ansible(8) ansible-playbook基於搭建zabbix

角色是什麼

角色:
ansible 引用變量要用雙引號引起來
defaults —main.yml主文件 默認變量
files 存放要拷貝靜態文件
handlers ----main.yml
meat —main.yml 定義信息,依賴
tasks定義任務
templates 模版 .j2 模版
vars --main.yml 定義變量
角色裏面的優先級高

主要就是將原來的文件分區域管理,顯得更有條例,對應文件放在對應目錄下,代碼大體沒有變化,只有格式發生了小部分變化

**舉個例子
**

[devops@server1 ansible]$ pwd
/home/devops/ansible
[devops@server1 ansible]$mkdir roles
[devops@server1 ansible]$cd roles
[devops@server1 roles]$ ansible-galaxy init apache
- Role apache was created successfully
[devops@server1 roles]$ ls
apache
[devops@server1 roles]$cd /home/devops/ansible
[devops@server1 ansible]$ cd roles/apache
[devops@server1 apache]$ ls
defaults  files  handlers  meta  README.md  tasks  templates  tests  vars

[devops@server1 apache]$ ansible-galaxy list
# /usr/share/ansible/roles
# /etc/ansible/roles
[WARNING]: - the configured path /home/devops/.ansible/roles does not exist.

[devops@server1 apache]$ ll
total 4
drwxrwxr-x. 2 devops devops   22 Nov 23 19:54 defaults
drwxrwxr-x. 2 devops devops    6 Nov 23 19:54 files
drwxrwxr-x. 2 devops devops   22 Nov 23 19:54 handlers
drwxrwxr-x. 2 devops devops   22 Nov 23 19:54 meta
-rw-rw-r--. 1 devops devops 1328 Nov 23 19:54 README.md
drwxrwxr-x. 2 devops devops   22 Nov 23 19:54 tasks
drwxrwxr-x. 2 devops devops    6 Nov 23 19:54 templates
drwxrwxr-x. 2 devops devops   39 Nov 23 19:54 tests
drwxrwxr-x. 2 devops devops   22 Nov 23 19:54 vars
[devops@server1 apache]$ cd tasks/
[devops@server1 tasks]$ ls
main.yml
[devops@server1 tasks]$ vim main.yml 
---
- name: install apache
  yum:
    name: httpd
    state: present

- name: config apache
  template:
    src: httpd.conf.j2
    dest: /etc/httpd/conf/httpd.conf
  notify: restart apache

- name: start apache
  service:
    name: httpd
    state: started

- name: copy index.html
  copy:
    src: index.html
    dest: /var/www/html/index.html

[devops@server1 ansible]$ pwd
/home/devops/ansible
[devops@server1 ansible]$ cd roles/apache/te
templates/ tests/     
[devops@server1 ansible]$ cd roles/apache/te
templates/ tests/     
[devops@server1 ansible]$ cd roles/apache/templates/
[devops@server1 templates]$ ls
httpd.conf
[devops@server1 templates]$ mv httpd.conf httpd.conf.j2
[devops@server1 templates]$ vim httpd.conf.j2 

[devops@server1 templates]$ ll
total 12
-rw-r--r--. 1 root root 11753 Nov 23 20:08 httpd.conf.j2
[devops@server1 templates]$ exit
exit
You have new mail in /var/spool/mail/root
[root@server1 mnt]# chgrp devops ansible/
ansible.cfg  hosts        ssh.yml      zabbix/      
[root@server1 mnt]# chgrp devops /home/devops/ansible/roles/apache/templates/httpd.conf.j2 
[root@server1 mnt]# chown devops /home/devops/ansible/roles/apache/templates/httpd.conf.j2 
[root@server1 mnt]# su devops
[devops@server1 mnt]$ cd
[devops@server1 ~]$ cd ansible/roles/apache/
[devops@server1 apache]$ ls
defaults  files  handlers  meta  README.md  tasks  templates  tests  vars
[devops@server1 apache]$ vim templates/httpd.conf.j2 



 42 Listen {{ http_host }}:{{ http_port }}



[devops@server1 apache]$ vim vars/main.yml 

---
http_host: "{{ ansible_hostname }}"
http_port: 80



[devops@server1 apache]$ cd ..
[devops@server1 roles]$ ls
apache
[devops@server1 roles]$ cd ..
[devops@server1 ansible]$ ls
ansible.cfg  apache  hosts  roles  ssh.yml  zabbix
[devops@server1 ansible]$ vim apache.yml
[devops@server1 ansible]$ cat hosts 
[db]
172.25.62.2
[web]
172.25.62.3

[zabbix:children]
db
web

#[webserver:vars]
#http_port=80



[devops@server1 ansible]$ ls
ansible.cfg  apache  apache.yml  hosts  roles  ssh.yml  zabbix
[devops@server1 ansible]$ cd roles/
[devops@server1 roles]$ cd apache/
[devops@server1 apache]$ ls
defaults  files  handlers  meta  README.md  tasks  templates  tests  vars
[devops@server1 apache]$ ll templates/
total 12
-rw-r--r--. 1 devops devops 11782 Nov 23 20:12 httpd.conf.j2
[devops@server1 apache]$ vim defaults/main.yml 
[devops@server1 apache]$ vim tasks/main.yml 
[devops@server1 apache]$ vim tasks/main.yml 
[devops@server1 apache]$ ansible-playbook apache.yml 
ERROR! the playbook: apache.yml could not be found
[devops@server1 apache]$ cd ..
[devops@server1 roles]$ cd ..
[devops@server1 ansible]$ ansible-playbook apache.yml 

[devops@server1 ansible]$ cd roles/apache/
[devops@server1 apache]$ ls
defaults  files  handlers  meta  README.md  tasks  templates  tests  vars
[devops@server1 apache]$ vim handlers/
[devops@server1 apache]$ vim handlers/main.yml 
[devops@server1 apache]$ vim tasks/main.yml 
[devops@server1 apache]$ vim handlers/main.yml 
[devops@server1 apache]$ cd ..
[devops@server1 roles]$ cd ..
[devops@server1 ansible]$ ansible-playbook apache.yml 

PLAY [web] ********************************************************************************************************

TASK [Gathering Facts] ********************************************************************************************
ok: [172.25.62.3]

TASK [apache : install apache] ************************************************************************************
ok: [172.25.62.3]

TASK [apache : config apache] *************************************************************************************
ok: [172.25.62.3]

TASK [apache : start apache] **************************************************************************************
changed: [172.25.62.3]

TASK [apache : copy index.html] ***********************************************************************************
changed: [172.25.62.3]

PLAY RECAP ********************************************************************************************************
172.25.62.3                : ok=5    changed=2    unreachable=0    failed=0    skipped=0    rescued=0    ignored=0   

[devops@server1 ansible]$ curl 172.25.62.3
www.westos.org

開始正文推送zabbix

**
建立四個角色
權限都給爲777
**
在這裏插入圖片描述

在這裏插入圖片描述**大體架構,根據原來文件配置,將對應文件歸位
模版,靜態文件。主文件,觸發器文件分別放在相應文件夾下
**
在這裏插入圖片描述
在這裏插入圖片描述**數據庫文件
**在這裏插入圖片描述數據庫配置文件
注意改掉格式
去掉host和tasks
此處我刪掉了火牆部分不想幹擾太大
在這裏插入圖片描述觸發器文件去掉開頭
在這裏插入圖片描述Web塊

在這裏插入圖片描述一樣的修改方式

在這裏插入圖片描述
Agent塊
在這裏插入圖片描述
在這裏插入圖片描述Server塊
修改
在這裏插入圖片描述Zabbix要退的文件文件,調用各個角色

在這裏插入圖片描述
在這裏插入圖片描述在這裏插入圖片描述

互相連接解決問題
再推
在這裏插入圖片描述Host文件3作web db 2作agent server
全部關火牆
在這裏插入圖片描述

報錯
在這裏插入圖片描述數據庫初始化
在這裏插入圖片描述

再推
在這裏插入圖片描述

在這裏插入圖片描述
找不到鏡像路徑
檢查網絡
在這裏插入圖片描述

將所有虛擬機配通能上網就好

在這裏插入圖片描述

在這裏插入圖片描述

在這裏插入圖片描述

在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章