博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
利用ansible批量部署zabbix-agent
阅读量:6454 次
发布时间:2019-06-23

本文共 1700 字,大约阅读时间需要 5 分钟。

应用环境: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. 检查

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

     

 

 

  结束

    

 

 

      

    

 

转载于:https://www.cnblogs.com/ding2016/p/6896875.html

你可能感兴趣的文章
Foundation框架 - 快速创建跨平台的网站页面原型
查看>>
Intel 82599网卡异常挂死原因
查看>>
open-falcon
查看>>
三菱plc输出指示灯不亮怎么办(转载)
查看>>
doc2vec使用说明(一)gensim工具包TaggedLineDocument
查看>>
App测试中ios和Android的区别
查看>>
java.lang.NullPointerException&com.cb.action.LoginAction.execute(LoginAction.java:48)
查看>>
理解Docker :Docker 网络
查看>>
通过Application存取公共数据比如登录信息等..
查看>>
intellij maven配置与使用
查看>>
SpringMVC文件下载与JSON格式
查看>>
Q:图像太大,在opencv上显示不完全
查看>>
修正锚点跳转位置 避免头部fixed固定部分遮挡
查看>>
Dubbo序列化多个CopyOnWriteArrayList对象变成同一对象的一个大坑!!
查看>>
linux下ping不通的解决方法
查看>>
利用ItextPdf、core-renderer-R8 来生成PDF
查看>>
irc操作小记
查看>>
JAVA 与 PHP 的不同和相同
查看>>
建立Ftp站点
查看>>
NavigationController的使用
查看>>