批量安裝Zabbix_Agent

使用自動化部署工具Ansible批量部署zabbix_agent.linux

1. 安裝Ansibleshell

  yum –y install ansiblessh

  內網狀況下,如今ansible及其依賴的rpm包,添加到yum源進行安裝。工具

2. 主機配置文件spa

  在/etc/ansible中添加主機,主機配置文件爲hosts,也能夠在ansible.cfg中修改配置rest

  inventory={主機配置文件路徑}code

  具體hosts格式server

  [zabbix-agent]  #分組名稱,最好是一個文件一個分組。blog

   IP ansible_ssh_user=’{帳戶名}’ ansible_ssh_pass=’{密碼}’ hostname={主機名字,能夠自定義}ip

3. 編寫安裝腳本

腳本文件結構以下:

.

├── ansible.cfg

├── hosts

└── roles

    ├── install_zabbix_agent

    │   ├── file

    │   │   ├── zabbix-agent-4.2.4-1.el7.x86_64.rpm

    │   │   └── zabbix_agentd.conf

    │   ├── handler

    │   │   └── main.yml

    │   └── tasks

    │       ├── install.yml

    │       ├── main.yml

    │       └── setport.yml

└── install_zabbix_agent.yml

具體代碼:

install_zabbix_agent.yml

- hosts: zabbix-agent
  remote_user: root
  sudo: yes
  sudo_user: root
  gather_facts: true
  roles:
  - install_zabbix_agent

 

file : zabbix-agent-4.2.4-1.el7.x86_64.rpm  zabbix-agent安裝包

zabbix_agentd.conf    統一修改好的zabbix-agent配置文件

handler main.yml

- name: restart zabbix-agent
  service: name=zabbix_agentd state=restarted

 

tasks main.yml

- import_tasks: install.yml
- import_tasks: setport.yml

 

tasks install.yml

- block:
  - name: "copy zabbix_agent to clients"
    cpoy:
      src=zabbix-agent-4.2.4-1.el7.x86_64.rpm
      dest=/tmp
  - name: "yum install zabbix_agent"
    yum:
      name: /tmp/zabbix-agent-4.2.4-1.el7.x86_64.rpm
      state: present
  - name: "copy zabbix_agentd.conf"
    copy:
      src=zabbix_agentd.conf
      dest=/etc/zabbix/zabbix_agentd.conf
  - name: disabled selinux
    shell: /usr/sbin/setenforce 0 && sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/sysconfig/selinux
  - name: "start zabbix, enable zabbix"
    service:
      name=zabbix-agent
      state=started
      enabled=yes
    notify:
      - restart zabbix-agent

 

tasks setport.yml

- block:
  - name: mkdir log file
    shell: mkdir -p /var/log/zabbix
  - name: chmod for log
    shell: chmod -R 755 /var/log/zabbix
  - name: chown for log
    shell: chown -R zabbix. /var/log/zabbix
  - name: chmod for zabbix
    shell: chmod -R 755 /etc/zabbix
  - name: chown for zabbix
    shell: chown -R zabbix. /etc/zabbix
  - name: change log filepath
    shell: sed -i 's/LogFile=\/var\/log\/zabbix\/zabbix_agent.log/LogFile=\/var\/log\/zabbix\/{{hostname}}.log/g' /etc/zabbix/zabbix_agentd.conf
  - name: change server ip
    shell: sed -i 's/Server=127.0.0.1/Server=10.10.40.70/g' /etc/zabbix/zabbix_agentd.conf
  - name: change server active ip
    shell: sed -i 's/ServerActive=127.0.0.1/ServerActive=10.10.40.70/g' /etc/zabbix/zabbix_agentd.conf
  - name: change hostname
    shell: sed -i 's/Hostname=Zabbix Server/Hostname={{hostname}}/g' /etc/zabbix/zabbix_agentd.conf
    notify:
      - restart zabbix-agent
相關文章
相關標籤/搜索