• ansible 批量安装zabbix agentd客户端


    目录结构

    ansible/
    ├── ansible.cfg
    ├── hosts
    ├── roles
    │   └── zabbix-agentd
    │       ├── files
    │       │   ├── install_zabbix.sh
    │       │   └── zabbix-3.0.1.tar.gz
    │       ├── handlers
    │       ├── tasks
    │       │   └── main.yml
    │       └── templates
    └── site.yml
    [root@localhost ansible]# more site.yml 
    ---
    - name: Install Zabbix-agentd
      hosts: zabbix-agentd
      remote_user: root
    
      roles:
        - zabbix-agentd
    [root@localhost ansible]# more roles/zabbix-agentd/tasks/main.yml 
    - name: copy zabbix_tar_gz to client
      copy: src=zabbix-3.0.1.tar.gz dest=/tmp/zabbix-3.0.1.tar.gz
    
    - name: copy install_shell to client
      copy: src=install_zabbix.sh dest=/tmp/install_zabbix.sh
    
    - name: install zabbix
      shell: /bin/bash /tmp/install_zabbix.sh
    [root@localhost ansible]# more roles/zabbix-agentd/files/install_zabbix.sh 
    #######client install#############
    yum install -y gcc make libselinux-python
    
    
    grep -q "zabbix" /etc/group
    GROUP_IS=$?
    if [ $GROUP_IS == 1 ];then
      groupadd zabbix
    fi
    
    grep -q "zabbix" /etc/passwd
    USER_IS=$?
    if [ $USER_IS == 1 ];then
      useradd -g zabbix zabbix -M -s /sbin/nologin
    fi
    
    mv /usr/local/zabbix /usr/local/zabbix_old-$(date +%Y%m%d)
    rm -rf /etc/zabbix
    cd /tmp
    tar zxvf zabbix-3.0.1.tar.gz
    cd zabbix-3.0.1
    ./configure --prefix=/usr/local/zabbix --enable-agent
    make install
    ln -s /usr/local/zabbix/etc /etc/zabbix
    ln -s /usr/local/zabbix/sbin/zabbix_agentd /usr/local/sbin/
    cp misc/init.d/fedora/core/zabbix_agentd /etc/init.d/
    cp /etc/zabbix/zabbix_agentd.conf /etc/zabbix/zabbix_agentd.conf-$(date +%Y%m%d)
    
    cat >/etc/zabbix/zabbix_agentd.conf<<EOF
    PidFile=/tmp/zabbix_agentd.pid
    LogFile=/tmp/zabbix_agentd.log
    Server=172.31.x.x
    ServerActive=172.31.x.x
    ListenPort=10050
    ListenIP=0.0.0.0
    EnableRemoteCommands=1
    UnsafeUserParameters=1
    LogFileSize=10
    Timeout=30
    #UserParameter=key,script
    EOF
    
    /etc/init.d/zabbix_agentd start
    chkconfig zabbix_agentd on

    [root@localhost ansible]# ansible-playbook site.yml

  • 相关阅读:
    面向中后台复杂场景的低代码实践思路
    树莓派使用raspivid实时预览视频
    grep rn无法匹配文件中的字符串
    C++有关std::sort和std::bind那些事
    C++有关unordered_map::erase的奇怪bug
    ssh与tar的奇妙组合
    git指定仓库使用特定用户名提交
    在win7下搭建php+apache+mysql环境
    神乎其神的技艺
    好书推荐——《启动大脑》
  • 原文地址:https://www.cnblogs.com/caoguo/p/5351153.html
Copyright © 2020-2023  润新知