ansible自动部署zabbix(playbook)

以下是我部署zabbix的各个主机具体分工

server安装zabbix-server
db安装mariadb数据库
webzabbix-web,Web前端
[devops@server1 ansible]$ cat hosts 
[server]
172.25.34.1

[db]
172.25.34.2

[web]
172.25.34.3

[agent]
172.25.34.2
172.25.34.3
[devops@server1 ansible]$ ls 
ansible.cfg  hosts    zabbix
[devops@server1 ansible]$ ls zabbix/
agent.yml      db.yml      my.cnf      web.yml                zabbix.conf
create.sql.gz  deploy.yml  server.yml  zabbix_agentd.conf.j2  	zabbix_server.conf  

agent

[devops@server1 zabbix]$ cat agent.yml 
- 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: start zabbix-agent
      service:
        name: "{{ item }}"
        state: started
      loop:
         - zabbix-agent
         - firewalld

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

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

server

---
- hosts: server
  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: 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
        - firewalld

    - name: config firewalld
      firewalld:
        port: 10051/tcp
        permanent: yes
        immediate: yes
        state: enabled

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

db

---
- 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: '{{ item }}'
        state: started        
        enabled: yes
      loop:
         - mariadb
         - firewalld
  
    - name: create database 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


    - name: config firewalld
      firewalld:
        service: mysql
        permanent: yes
        immediate: yes
        state: enabled

  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: create.sql.gz

web

---
- 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
        - firewalld

    - name: config firewalld
      firewalld:
        service: http
        permanent: yes        
        immediate: yes
        state: enabled

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

更改zabbix.conf文件中的时区

在这里插入图片描述

更改my.cnf 支持中文

character_set_server=utf8

更改zabbix-agent.conf

Server=172.25.34.1
ServerActive=172.25.34.1
Hostname={{ ansible_hostname}}

更改zabbix_server.conf

DBpassword=zabbix  ##有DB的要改
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值