zoukankan      html  css  js  c++  java
  • 利用ansible批量部署zabbix-agent

    应用环境:Linux运维工作少不了一个好的监控,zabbix就是目前比较好的一款开源监控软件。

          监控类型多种多样,如果不介意或者系统支持安装,那么agent方式是首选。

          当主机数量较多时,可以利用相关工具(ansible,puppet或其他)进行批量部署,节省时间提高效率。

    测试环境:通过在ansible-server上操作,使得client-1/2/3上自动安装、配置、并启动zabbix-agent。

            

    部署步骤

      1. 安装ansible

         ~]#yum install -y epel-release     //安装epel源

         ~]# yum install -y ansible     //ansible会自动从epel源中下载安装

         

      2. 编辑ansible的hosts文件

         ~]# vim /etc/ansible/hosts 

         

      3. 创建相关文件夹

         ~]# cd /etc/ansible/roles/ 

         

         roles]# mkdir zabbix-agent{files,templates,tasks} -pv 

         

        用途说明:

         

      4. 在三个目录下分别建立相应文件

         在files中存放已经下载好的zabbix-agent包,这里是:zabbix-agent-3.2.6-1.el7.x86_64.rpm

         在tasks中新建main.yaml文件(注意:必须为该名字)

           tasks]# vim main.yaml   //内容如下

           

          注意:上图画框的文件就是直接从新建的文件夹files文件夹templates里寻找,不用写上绝对路径。

         在templates中存放zabbix_agentd.conf.j2文件(注意:必须带.j2

           templates]# egrep -v "^#|^$" zabbix_agentd.conf.j2 

           

        用目录树看一下:

           

      5. 配置ansible无密码SSH到client

         ~]# ssh-keygen   //产生私钥和公钥

         

        成功后在~/.ssh/路径下将生成ssh密钥文件:id_rsaid_rsa.pub

         

         ~]# ssh-copy-id root@192.168.1.21   //将公钥发送至192.168.1.21主机

         

         

      6. 以ansible方式ping通客户端

         ~]# ansible new -m ping  

         

        注意能够以ansible的方式ping通是一切批量部署的前提!!!

      

      7. 建立一个playbook文件

        假设就建立在~目录下,名为:zabbix-agent.yaml,该文件的执行可用来调用创建好的roles。

         ~]#vim zabbix-agent.yaml   //内容如下

         

      8. 测试该playbook文件

         ~]# ansible-playbook zabbix-agent.yaml --check   //加上 “ --check ” 可以检测错误

        如果没报错,则可实际执行,如下所示就代表测试通过:

         

         

      9. 执行该playbook文件

         ~]# ansible-playbook zabbix-agent.yaml        //去掉 “ --check ” 就真实的执行了

         

      10. 检查

        随机从三台主机中找一台检查一下部署的任务是否都起作用,想下图:

         

      结束

        

          

        

  • 相关阅读:
    char *s 和char s[]的区别
    Loadrunner时间函数、用时间生成订单编号例子
    loadrunner获取毫秒及字符串替换实现
    关联的特殊应用
    LR中的时间戳函数web_save_timestamp_param
    使用 If-Then-Else 逻辑进行分支
    ArcGIS中国工具3.2新功能
    运行模型,COM错误,解决问题步骤
    arcgis python 更新日期为随机数
    使用LAS数据集创建DEM和DSM
  • 原文地址:https://www.cnblogs.com/ding2016/p/6896875.html
Copyright © 2011-2022 走看看