使用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

参考博文链接点这里哦

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: Ansible是一种自动化工具,可以用于自动化部署Zabbix使用Ansible可以轻松地管理和部署Zabbix服务器和代理程序,从而提高系统的可靠性和稳定性。要使用Ansible自动化部署Zabbix,您需要编写Ansible Playbook,其中包含有关如何安装和配置Zabbix的指令。然后,您可以使用Ansible命令来运行Playbook,以自动化部署Zabbix。 ### 回答2: Ansible是一个自动化运维工具,可以通过编写playbook实现自动化部署和配置管理。Zabbix是一种开源的企业级监控系统,用于监测各种网络设备和服务器的性能、可用性和安全状态。Ansible可以轻松地自动化部署Zabbix,包括安装、配置、监控等。 以下是使用Ansible自动化部署Zabbix的步骤: 1.安装Ansible 使用包管理器安装Ansible,例如在Ubuntu系统上使用以下命令: sudo apt install ansible 2.编写Ansible playbook 编写Ansible playbook用于自动化部署Zabbix,包括安装、配置和启动。Playbook的语法格式是YAML格式,示例playbook如下: --- - hosts: zabbix-servers vars: zabbix_server_version: "5.2" zabbix_server_frontend_url: "http://192.168.1.100/zabbix" tasks: - name: Install Zabbix Server apt: name: zabbix-server-pgsql state: latest - name: Install Zabbix Frontend apt: name: zabbix-frontend-php state: latest - name: Configure Zabbix Server lineinfile: path: /etc/zabbix/zabbix_server.conf regexp: "^# DBPassword=" line: "DBPassword=zabbix" - name: Start Zabbix Server service: name: zabbix-server state: started - name: Start Zabbix Frontend service: name: apache2 state: restarted 3.配置inventory 在Ansible中,inventory用于定义主机列表和主机组,示例如下: [zabbix-servers] 192.168.1.100 4.运行playbook 使用ansible-playbook命令运行playbook,例如: ansible-playbook -i inventory zabbix.yml 运行后,Ansible将自动安装、配置和启动Zabbix服务器和Zabbix。可以通过浏览器访问http://192.168.1.100/zabbix来验证Zabbix是否成功部署。 总之,使用Ansible自动化部署Zabbix可以大大提高运维效率,减少手动操作,同时确保部署的一致性和可重复性。 ### 回答3: Ansible是一款功能强大的自动化运维工具,可以用来自动化部署和管理各种应用程序和服务。Zabbix是一款开源的监控系统,用于监控网络、服务器性能和应用程序运行状况。下面我们来介绍如何使用Ansible自动化部署Zabbix。 1. 安装Ansible 首先,需要在管理节点上安装Ansible使用以下命令安装: ``` sudo apt-get update sudo apt-get install ansible ``` 2. 配置SSH 使用Ansible进行自动化部署需要配置SSH。在被管理的服务器上安装SSH服务,确保可以使用SSH访问该服务器。为了简化SSH密钥管理,最好在管理节点上生成密钥对,并将公钥放到所有需要管理的服务器上。 3. 准备环境 在被管理服务器上安装Apache、PHP和MySQL等软件,这些软件是Zabbix的基本依赖项。使用以下命令安装: ``` sudo apt-get install apache2 php7.2 php7.2-mysql mysql-server ``` 然后,下载最新的Zabbix服务Zabbix Web前软件包,上传到被管理服务器上,并解压缩到Web服务器根目录。使用以下命令解压缩: ``` sudo tar -zxf zabbix-5.0.3.tar.gz -C /var/www/html/ ``` 4. 编写Ansible Playbook 在Ansible中,可以使用Playbook来定义任务和配置文件,用于自动化部署应用程序和服务。创建一个新的Playbook,命名为zabbix.yml。该Playbook将执行以下任务: - 安装Zabbix所需的软件包; - 创建Zabbix数据库; - 导入Zabbix数据库模板; - 配置Zabbix服务器; - 配置Zabbix Web前; 下面是示例Playbook的代码: ``` --- - name: Deploy Zabbix hosts: zabbix_servers become: true vars: zabbix_db_name: zabbix zabbix_db_user: zabbix zabbix_db_password: password zabbix_server_name: zabbix.example.com zabbix_web_url: http://{{ zabbix_server_name }}/zabbix tasks: - name: Install required packages apt: name: - apache2 - php7.2 - php7.2-mysql - mysql-server - libfontconfig1 - libssl1.0-dev - libmysqlclient-dev - libxml2-dev - libmcrypt-dev state: present - name: Configure MySQL mysql_user: name: "{{ zabbix_db_user }}" password: "{{ zabbix_db_password }}" priv: "{{ zabbix_db_name }}.*:ALL" state: present mysql_db: name: "{{ zabbix_db_name }}" state: present - name: Import Zabbix database mysql_db: name: "{{ zabbix_db_name }}" state: import target: /var/www/html/zabbix-5.0.3/database/mysql/schema.sql become_user: mysql - name: Configure Zabbix server template: src: zabbix_server.conf.j2 dest: /etc/zabbix/zabbix_server.conf notify: restart zabbix server - name: Configure Zabbix Web frontend template: src: zabbix_web.conf.j2 dest: /etc/apache2/conf-available/zabbix.conf notify: restart apache handlers: - name: restart zabbix server service: name: zabbix-server state: restarted - name: restart apache service: name: apache2 state: restarted ``` 在上面的Playbook中,使用变量设置Zabbix数据库和服务器的名称和密码。然后,使用一系列任务来配置Zabbix所需的软件包、数据库、服务器和Web前。 5. 运行Ansible Playbook 准备好Ansible Playbook后,就可以执行Ansible命令来自动部署Zabbix了。使用以下命令运行Playbook: ``` ansible-playbook zabbix.yml ``` Ansible将自动连接到远程服务器,并按Playbook中指定的顺序执行任务。一旦完成,可以使用浏览器访问Zabbix Web前,开始监控网络和服务器性能。 总结 使用Ansible自动化部署Zabbix可以大大简化部署流程,提高生产效率,降低错误风险。Ansible是一款易于使用、可扩展和定制的自动化工具,适合各种规模和类型的应用程序和服务。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值