一、批量安装zabbix客户端

.拷贝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" .开启远程命令 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\n<location /server-status>\n SetHandler server-status\n Order Allow,Deny\n Allow from 127.0.0.1\n</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\nzabbix ALL=NOPASSWD: ALL\nzabbix ALL=NOPASSWD: /bin/bash /usr/local/rsync/bin/rsync\nzabbix ALL=NOPASSWD: /bin/bash /usr/local/nginx/sbin/nginx\nzabbix ALL=NOPASSWD: /bin/bash /usr/local/php/sbin/php-fpm\n" 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 /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

ansible常用的方法小结的更多相关文章

  1. 常用Linux命令小结

    常用Linux命令小结 Linux下有很多常用的很有用的命令,这种命令用的多了就熟了,对于我来说,如果长时间没有用的话,就容易忘记.当然,可以到时候用man命令查看帮助,但是,到时候查找的话未免有些临 ...

  2. js与jquery常用数组方法总结

    昨天被问数组方法的时候,问到sort()方法是否会改变原来的数组.本来我猜是不会,也是这么说,马上我又觉得,知识这种东西,不确定的时候直接说不确定或不知道就好,只是凭借着不确定的猜测或者是记忆,害人害 ...

  3. WebAPi添加常用扩展方法及思维发散

    前言 在WebAPi中我们通常需要得到请求信息中的查询字符串或者请求头中数据再或者是Cookie中的数据,如果需要大量获取,此时我们应该想到封装一个扩展类来添加扩展方法,从而实现简便快捷的获取. We ...

  4. StringUtils中的常用的方法

    org.apache.commons.lang.StringUtils中常用的方法,这里主要列举String中没有,且比较有用的方法: 1. 检查字符串是否为空: static boolean isB ...

  5. 在Linux下禁用IPv6的方法小结

    在Linux下禁用IPv6的方法小结--http://www.jb51.net/LINUXjishu/335724.html 这篇文章主要介绍了在Linux下禁用IPv6的方法小结,禁用IPv6的操作 ...

  6. JOptionPane类提示框的一些常用的方法

    JOptionPane类提示框的一些常用的方法 XMLOracleSwing 最近在做swing程序中遇到使用消息提示框的,JOptionPane类其中封装了很多的方法. 很方便的,于是就简单的整理了 ...

  7. 常用js方法

    function dateGetter(name, size, offset, trim) { offset = offset || 0; return function (date) { var v ...

  8. jQuery操作Table tr td常用的方法

    虽然现在DIV+CSS进行页的布局大行其道,但是很多地方使用table还是有很多优势,用table展示数据是比较方便的,下面汇总了jQuery操作Table tr td常用的方法,熟记这些操作技巧,下 ...

  9. iOS常用公共方法

      iOS常用公共方法 字数2917 阅读3070 评论45 喜欢236 1. 获取磁盘总空间大小 //磁盘总空间 + (CGFloat)diskOfAllSizeMBytes{ CGFloat si ...

随机推荐

  1. ubuntu---对比工具Meld

    Beyond Compare是商业软件,下载地址:http://www.scootersoftware.com/download.php.下载完直接运行或者通过dpkg安装即可. 其实Linux下文本 ...

  2. 思考---(科研99% )VS (产品75%)

    转目前人脸识别技术的挑战是什么? - 知乎 标签: | 发表时间:-- : | 作者: 出处:https://www.zhihu.com 也是放假太闲,上知乎来锻炼一下手指. 在回答题主的问题的时候, ...

  3. 怎样制作一个 Python Egg

    from:http://liluo.org/blog/2012/08/how-to-create-python-egg/ 制作打包一个 Python Egg 并部署整个过程还蛮有意思的,下面小教程(这 ...

  4. tomcat访问manager

    在配置好Tomcat7/8后,我们往往需要访问Tomcat7/8的Manager以及Host Manager.就需要在tomcat-users.xml中配置用户角色来实现.在地址栏输入:localho ...

  5. 抖音热门BGM爬虫下载

    下午无聊在某网上刷了会儿抖音,发现有些音乐还是挺好听的,可以用来做手机铃声,于是想办法从某网上把歌曲爬下来 附上代码: #!/usr/bin/env python # -*- coding: utf- ...

  6. 行为型模式(三) 迭代器模式(Iterator)

    一.动机(Motivate) 在软件构建过程中,集合对象内部结构常常变化各异.但对于这些集合对象,我们希望在不暴露其内部结构的同时,可以让外部客户代码透明地访问其中包含的元素:同时这种"透明 ...

  7. Laravel —— 自定义登录

    Laravel 中自带了 Auth 模块 默认用 email 登录,并有固定的表字段 有时需要根据项目需求,修改 Auth 功能 1.生成 Auth 执行 php artisan make:auth ...

  8. getchar()函数举例

    #include<stdio.h>void main(){ char ch; ch=getchar(); printf("%c",ch);}

  9. python链接oracle数据库以及数据库的增删改查实例

    初次使用python链接oracle,所以想记录下我遇到的问题,便于向我这样初次尝试的朋友能够快速的配置好环境进入开发环节. 1.首先,python链接oracle数据库需要配置好环境. 我的相关环境 ...

  10. Tensorflow细节-P62-完整的神经网络样例程序

    这样是比较好的一个summary命名 (1)'networks'.'layer_%d' % n_layer.'weights'三个命名空间相互叠加 (2) if i % 50 == 0: result ...