zoukankan      html  css  js  c++  java
  • ansible常用的方法小结

    一、批量安装zabbix客户端
    
    1.拷贝sh脚本和.conf到远程服务器(也可以全量拷贝客户端)
    
    ansible all -m copy -a "src=/usr/local/zabbix_agents_3.2.0/scripts/php_status_code.sh dest=/usr/local/zabbix_agents_3.2.0/scripts/ mode=0755"
    ansible all -m copy -a "src=/usr/local/zabbix_agents_3.2.0/scripts/start_php.sh dest=/usr/local/zabbix_agents_3.2.0/scripts/ mode=0755"
    ansible all -m copy -a "src=/usr/local/zabbix_agents_3.2.0/conf/zabbix_agentd/php-fpm_status.conf dest='/usr/local/zabbix_agents_3.2.0/conf/zabbix_agentd/'"
    
    # 在ansible服务器上添加/data/www/.machine_no,然后添加批量赋权
    ansible all -m copy -a "src=/data/www/.machine_no dest=/data/www/ mode=0644 owner=apache group=users"
    
    # 拷贝整个目录到目标服务器
    ansible all -m copy -a "src=/usr/local/zabbix_agents_3.2.0/ dest=/usr/local/zabbix_agents_3.2.0/ mode=0755"
    
    2.开启远程命令
    
    ansible cmsnew -m shell -a "sed -i 's|# EnableRemoteCommands=0|EnableRemoteCommands=1|g' /etc/zabbix/zabbix_agentd.conf"
    
    # apache 添加配置
    
    ansible all -m blockinfile -a 'path=/usr/local/httpd-2.2.26/conf/httpd.conf block="ExtendedStatus On
    <location /server-status>
        SetHandler server-status
        Order Allow,Deny
        Allow from 127.0.0.1
    </location>" insertbefore=EOF'
    
    # 重启apache
    /etc/init.d/apache -t
    /etc/init.d/apache restart
    
    # 添加sudo权限
    ansible all -m blockinfile -a 'path=/etc/sudoers block="Defaults:zabbix !requiretty
    zabbix ALL=NOPASSWD: ALL
    zabbix ALL=NOPASSWD: /bin/bash /usr/local/rsync/bin/rsync
    zabbix ALL=NOPASSWD: /bin/bash /usr/local/nginx/sbin/nginx
    zabbix ALL=NOPASSWD: /bin/bash /usr/local/php/sbin/php-fpm
    " insertbefore=EOF'
    
    # 修改主机名
    ansible all -m shell -a 'sed -i "s/Hostname=zabbixclient/Hostname=`hostname`/g" /usr/local/zabbix_agents_3.2.0/conf/zabbix_agentd.conf'
    
    ansible all -m shell -a "cd /usr/local/zabbix_agents_3.2.0 && sh agent.sh"
    
    ansible all -m shell -a "executable=/bin/bash /etc/init.d/zabbix_agentd restart"
    
    
    # 批量添加计划任务,批量新增时间同步任务
    ansible all -m cron -a "minute=1 hour=* day=* month=* weekday=* name='ntpdate' job='/usr/sbin/ntpdate time.windows.com > /dev/null 2>&1'"
    
    ansible Europe_Tunesgo_web1 -m cron -a "minute=1 hour=* day=* month=* weekday=* name='ntpdate' job='/usr/sbin/ntpdate time.windows.com > /dev/null 2>&1'"
    
    # agent.sh
    #!/bin/bash
    #清理历史信息
    rm -rf /usr/local/etc/zabbix_agent*
    rm -f /etc/init.d/zabbix_agentd
    rm -f /usr/bin/zabbix_*
    rm -f /usr/sbin/zabbix_*
    rm -f /usr/local/zabbix_agents_2.0.10.tar.gz
    rm -rf /usr/local/zabbix_agents_2.0.10
    
    /usr/sbin/groupadd zabbix
    /usr/sbin/useradd -g zabbix zabbix
    mkdir /var/log/zabbix
    chown zabbix.zabbix /var/log/zabbix
    cp init.d/zabbix_agentd /etc/init.d/
    chmod 755 /etc/init.d/zabbix_agentd
    
    zabbix_dir=/usr/local/zabbix_agents_3.2.0
    #sed -i "s#BASEDIR=/usr/local#BASEDIR=$zabbix_dir#g" /etc/init.d/zabbix_agentd
    
    sed -i "s#tmp/zabbix_agentd.log#var/log/zabbix/zabbix_agentd.log#g" $zabbix_dir/conf/zabbix_agentd.conf
    sed -i "s/# UnsafeUserParameters=0/UnsafeUserParameters=1/g" $zabbix_dir/conf/zabbix_agentd.conf
    ln -s $zabbix_dir/conf/zabbix_agentd.conf /usr/local/etc
    ln -s $zabbix_dir/conf/zabbix_agentd /usr/local/etc
    ln -s $zabbix_dir/bin/* /usr/bin/
    ln -s $zabbix_dir/sbin/* /usr/sbin/
    chkconfig zabbix_agentd on
    #service zabbix_agentd start
  • 相关阅读:
    P1041 传染病控制(dfs)
    洛谷P1040 加分二叉树(树形dp)
    微信支付移动开发
    UVA
    Android开源框架ViewPageIndicator和ViewPager实现Tab导航
    Android Application Digital Signatures
    android:怎样在TextView实现图文混排
    python无私有成员变量
    unity3D游戏开发实战原创视频讲座系列11之相扑游戏开发并公布到WinWP8
    MFC:Win32-Dll及MFC-Dll编写调用
  • 原文地址:https://www.cnblogs.com/reblue520/p/11125336.html
Copyright © 2011-2022 走看看