• 批量安装Zabbix_Agent


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

    1. 安装Ansible

      yum –y install ansible

      内网情况下,现在ansible及其依赖的rpm包,添加到yum源进行安装。

    2. 主机配置文件

      在/etc/ansible中添加主机,主机配置文件为hosts,也可以在ansible.cfg中修改配置

      inventory={主机配置文件路径}

      具体hosts格式

      [zabbix-agent]  #分组名称,最好是一个文件一个分组。

       IP ansible_ssh_user=’{账户名}’ ansible_ssh_pass=’{密码}’ hostname={主机名字,可以自定义}

    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
    你一定会喜欢那个因为喜欢她而发光的自己!
    个人博客:http://www.yanghelong.top
  • 相关阅读:
    CSS3学习笔记
    ie6对hover兼容性问题的解决:
    Maven-- 操作指南
    java基础 -- json多层转换成对象
    idea 导入maven项目
    工具的使用与安装--JAVA 环境变量的配置
    FreeMarker语言
    Apache Shiro 安全框架
    java基础--内部类
    java框架--Model层框架 sorm
  • 原文地址:https://www.cnblogs.com/zzu-general/p/11382751.html
Copyright © 2020-2023  润新知