ansible(5)利用ansible-playbook配置zabbix

ansible-playbook实现zabbix部署

**首先zabbix需要三个组成部分
1.数据库
2.zabbix-server端
3.zabbix-web端
且server端要和数据库相连
在hosts里面设置三个群组如图
**
在这里插入图片描述先做免密

在这里插入图片描述

找到本机的密钥文件路径
在这里插入图片描述

找模板

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述将模板复制改改,
设定为devops用户可以免密连接

在这里插入图片描述
推送,这时候要用参数ask-pass指令

在这里插入图片描述

为了不混乱,我们建立zabbix文件夹在里面写影推送的yml文件
在这里插入图片描述

先配置数据库模块
在这里插入图片描述
这个例子是添加一个数据表利用mysql_db模块

在这里插入图片描述
再看看hosts文件写的内容
将数据库的配置文件复制到zabbix目录下,里面加入中文字符类型,utf8

在这里插入图片描述

在这里插入图片描述

这是内容,和之前弄的那个数据库差不多
在这里插入图片描述

在这里插入图片描述

server1是指定的数据库服务器,登到上面去看看,字符类型有utf8

在这里插入图片描述

找找添加用户的例子
在这里插入图片描述

在这里插入图片描述加入进来,并且为用户设置权限

在这里插入图片描述
测试

在这里插入图片描述
要用网络yum源来安装zabbix,找例子

在这里插入图片描述

在这里插入图片描述这是地址

在这里插入图片描述

在这里插入图片描述
保证要配置的服务器能上网
在这里插入图片描述
先添加yum源和更新源,再安装

在这里插入图片描述
看看内容
在这里插入图片描述试试
在这里插入图片描述

在这里插入图片描述
要把这个create.sql.gz导入到数据库的zabbix表里面去

在这里插入图片描述
先复制到zabbix目录下

在这里插入图片描述

对数据库进行初始化,设置root用户密码
在这里插入图片描述

在这里插入图片描述
配置文件,登陆数据库后操作,要将create.sql.gz文件导入到zabbix表里面

在这里插入图片描述

如图
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

再推
在这里插入图片描述
前往不要把文件位置搞错了,再看看

在这里插入图片描述

看看权限
在这里插入图片描述
配置zabbix-server端
在这里插入图片描述
修改配置文件如图,因为刚才已经安装了zabbix_server,所以,在服务器2上会有文件,如果没有文件,去2上的/etc/zabbix/zabbix_server.conf拷一个到当前目录下

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
试推

在这里插入图片描述

这是配置web端的配置文件
改个时区就好

在这里插入图片描述配置web端,他是基于http发布出来的,还要链接数据库
在这里插入图片描述

访问如下地址就好了

在这里插入图片描述

注:这里为啥连不上数据库

1.由于你导入create.sql.gz看似导入实际zabbix表里面是空的,再倒一遍就好
2.由于 配置文件中mysql的路径写错了,修改配置文件zabbix_server.conf里面数据库的路径,重推
3.由于selinux和防火墙没关,将所有主机的火墙和selinux关掉

在这里插入图片描述
文件好着

在这里插入图片描述
我是selinux没有关

在这里插入图片描述
登陆默认用户admin
密码zabbix

在这里插入图片描述
改成中文的
在这里插入图片描述
添加自动发现
在这里插入图片描述
在这里插入图片描述

关闭

在这里插入图片描述

红了

在这里插入图片描述再看看配置文件
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
代码段

---
- hosts: db
  tasks:
    - name: install mariadb
      yum:
        name: mariadb-server,MySQL-python
        state: present

    - name: config mariadb
      copy: 
        src: my.cnf
        dest: /etc/my.cnf
      notify: restart mariadb

    - name: start mariadb
      service:
        name: mariadb
        state: started

    - name: Create a databases zabbix
      mysql_db:
          login_user: root
          login_password: westos
          name: zabbix
          state: present
      notify: import create.sql

    - name: create user  
      mysql_user:
        login_user: root
        login_password: westos
        name: zabbix
        password: zabbix
        host: '%'
        priv: 'zabbix.*:ALL'
        state: present

    - name: copy create.sql
      copy:
        src: create.sql.gz
        dest: /tmp/create.sql.gz


  handlers:
    - name: restart mariadb
      service:
        name: mariadb
        state: restarted

    - name: import create.sql
      mysql_db:
        login_user: root
        login_password: westos
        name: zabbix
        state: import
        target: /tmp/create.sql.gz



- hosts: server
  tasks:
    - name: add zabbix repo
      yum_repository:
        name: zabbix
        description: zabbix 4.0 YUM repo
        baseurl: https://mirrors.aliyun.com/zabbix/zabbix/4.0/rhel/7/x86_64/
        gpgcheck: no

    - name: add update repo
      yum_repository:
        name: update
        description: non-supported
        baseurl: https://mirrors.aliyun.com/zabbix/non-supported/rhel/7/x86_64/
        gpgcheck: no

  
    - name: install zabbix-server
      yum:
        name: zabbix-server-mysql,zabbix-agent
        state: present
    
    - name: config zabbix-server
      copy:
        src: zabbix_server.conf
        dest: /etc/zabbix/zabbix_server.conf
        owner: root
        group: zabbix
        mode: 640
      notify: restart zabbix-server
    
    - name: start zabbix-server
      service:
        name: '{{ item }}'
        state: started
      loop:
        - zabbix-server
        - zabbix-agent


  handlers:
    - name: restart zabbix-server
      service:
        name: zabbix-server
        state: restarted

- hosts: web
  tasks:
  - name: add zabbix repo
    yum_repository:
      name: zabbix
      description: zabbix 4.0 
      baseurl: https://mirrors.aliyun.com/zabbix/zabbix/4.0/rhel/7/x86_64/
      gpgcheck: no

  - name: add update repo
    yum_repository:
      name: update
      description: non-supported
      baseurl: https://mirrors.aliyun.com/zabbix/non-supported/rhel/7/x86_64/
      gpgcheck: no
      
  - name: add centos repo
    yum_repository:
      name: centos 
      description: centos 7
      baseurl: https://mirrors.aliyun.com/centos/7/os/x86_64/
      gpgcheck: no
 
  - name: install zabbix-web
    yum:
      name: zabbix-web-mysql
      state: present

  - name: config zabbix-web
    copy:
      src: zabbix.conf
      dest: /etc/httpd/conf.d/zabbix.conf
    notify: restart httpd

  - name: start httpd
    service:
      name: '{{ item }}'
      state: started
    loop:
      - httpd

  handlers:
    - name: restart httpd
      service:
        name: httpd
        state: restarted

- hosts: agent
  tasks:
    - name: add zabbix repo
      yum_repository:
        name: zabbix
        description: zabbix 4.0
        baseurl: https://mirrors.aliyun.com/zabbix/zabbix/4.0/rhel/7/x86_64/
        gpgcheck: no

    - name: install zabbix-agent
      yum:
        name: zabbix-agent
        state: present

    - name: config zabbix-agent
      copy:
        src: zabbix_agentd.conf
        dest: /etc/zabbix/zabbix_agentd.conf
        owner: root
        group: root
        mode: 644
      notify: restart zabbix-agent
    
    - name: start zabbix-agent
      service:
        name: zabbix-agent
        state: started

  handlers:
    - name: restart zabbix-agent
      service:
        name: zabbix-agent
        state: restarted

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值