使用ansible自动化安装zabbix server端

来源:互联网 发布:netstat windows 编辑:程序博客网 时间:2024/05/18 00:28

[环境]
(1)OS版本:CentOS7
(2)zabbix版本:3.0.3
(3)数据库:Mysql
(4)网络环境:无法连接外网
(5)zabbix安装方式:由于没网,采用源码包编译安装。这里使用的是zabbix-3.0.3.tar.gz

[代码详细]
执行方式:先ansible-playbook main.yml,然后在http://ip/zabbix上进行GUI安装,然后执行ansible-playbook after-setup.yml。

(1)mian.yml是各种playbook的集合,使用include让playbook的执行顺序更加明显,代码如下:

---- hosts: zabbix-servers  become: yes    vars_files:      - default_vars.yml    tasks:      - name: install many packages        include: prepare.yml        tags:          - setup1      - name: set environment parameters        include: set-env.yml        tags:          - setup2      - name: import tables to zabbix database        include: set-zabbix.yml        tags:          - setup3      - name: install zabbix && modify config        include: install-zabbix.yml        tags:           - setup4    handlers:   - include: handler.yml  

(2)default_vars.yml是变量文件,可以在其中修改参数。

(3)prepare.yml主要是安装一堆package,主要是basic、mysql、php和apache的package。因为我的虚拟机是裸机,一开始安装zabbix以及后期报错缺了不少包,所以我决定一股脑都安装起来。

(4)set-env.yml是防火墙端口设置、selinux设置、数据库创建等。

(5)set-zabbix.yml是复制源码包、导入数据库表。

(6)install-zabbix.yml是编译安装zabbix、php配置和系统配置等。

(7)ihandler.yml是notify通知后进行的文件

(8)after-setup.yml的代码如下:

---#Step5: after GUI setup- hosts: zabbix-servers  become: yes  vars_files:    - default_vars.yml  tasks:    - name: copy zabbix.conf.php      template: src=zabbix.conf.php.j2 dest={{html_dir}}/conf/zabbix.conf.php      tags:        - zabbix-conf-php        - others      notify:        - restart zabbix_server  handlers:    - name: restart zabbix_server      service: name=zabbix_server state=restarted

主要功能是,在gui安装完后,配置zabbix.conf.php文件,这一步不能提前做,否则无法登陆zabbix。

默认账号是admin, 密码是zabbix 如果提示错误,尝试把admin换为Admin

[代码地址]

https://github.com/Juladoe/ansible/tree/master/server

参考博文链接点这里哦