使用ansible自动化安装zabbix server端

[环境]
(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

参考博文链接点这里哦

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值