[环境]
(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
[代码地址]