基于Ansible实现Zabbix自动部署

来源 :电脑知识与技术 | 被引量 : 0次 | 上传用户:xiangcool2
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  摘要:随着云计算技术的发展,许多企业单位都建有私有云或共享中心,用于资源集中共享使用并提供服务。随着计算机节点的线性增多,应用服务膨胀增长,导致系统运维压力极大增加。如何利用各种自动化运维监控工具,提高运维质量、效率和水平,保障应用服务的稳定高效,成为面临的紧要问题。为此,本文基于Ansible实现Zabbix自动部署,帮助运维人员进行自动化运维监控平台的快速构建和优化管理,有效提升云中心智能运维的管理水平。
  关键词:Ansible;Zabbix;自动部署
  中图分类号:TP391 文献标识码:A
  文章编号:1009-3044(2019)35-0000-00
  随着云计算技术的发展,资源中心的节点规模极其庞大,设备类型多样,操作系统版本也不尽相同。从安全、运维等方面需要对这些设备实现实时监控。现许多企业采用开源的Zabbix方案来构建自己的监控平台,该方案需要被监控设备安装客户端,传统部署方式需要手工安装客户端,烦琐费时,同时由于操作系统多样性导致人工配置过程复杂易出错。由于应用环境复杂,各企业监控关注点各有侧重,而Zabbix自带的监控模板及参数无法满足实际应用需求。这就需要各企业根据自身需求进行客户端参数定制,从原型测试到快速部署需要一种自动化运维技术进行支持。
  为此采用Ansible技术来实现Zabbix客户端及配置相关参数的自动分发部署。通过该方案,可以实现对海量监控节点的自动化部署,参数优化修正,应用群组定制监控方案等功能。
  1 技术实现
  需要考虑的难点问题包括:针对不同的主机操作系统安装相应的客户端版本;实现客户端配置文件定制及自动化生成;指定应用群组主机定制功能分发。
  实现该方案的基础准备包括:安装配置实现控制对应主机的Ansible控制主机;配置安装Zabbix客户端的YUM环境;已安装调试正常的Zabbix环境及测试脚本。
  (1)不同操作系统安装相应客户端
  解决方法有多种,其中之一:对主机操作系统版本信息获取并分组,然后对应的每组主机安装相应的repo文件,最后操纵相应主机安装客户端。
  yum模块用于yum包管理软件的管理。主要参数为name和state。name:指定进行操作的软件包的名字;state:表示进行的操作,可选择installed(安装)、latest(安装最新版本),删除软件包可选择absent、removed。示例:ansible 192.168.1.1-myum-a“name=zabbix-agent state=installed”安装zabbix-agent服务
  setup模块用于主机信息获取。使用setup模块查机器的所有facts信息,facts信息包括远程主机发行版,IP地址,CPU核数,系统架构,主机名等等,使用filter来查看指定信息。示例:ansible all-m setup—a”filter=ansible_distribution_major_ver-sion”獲取所有主机的操作系统版本号
  group_by模块仅能在playbook中使用,使用facts获取的信息组合加工后实现主机分组。示例:group_by: key=machine_{{ansible_machine}}可以实现主机体系架构分组。
  当然也可以使用特定host文件或文件中指定分组的方式,达到类似目的。这种情况需要运维人员对主机组情况非常了解。仅使用host文件方法的话,运维人员需要多了解主机组与操作系统关系映射。
  (2)客户端配置文件的定制及自动生成参数
  Zabbix客户端安装后,需要配置zabbix-agent.conf文件中相应参数,才能正常使用客户端。需要配置的参数最少要包括:
  Server=192.X.X.X
  #填写zabbix服务器IP地址
  ServerActive=192.X.X.X
  #填写zabbix服务器IP地址
  Hostname=test01
  #zabbix_agent客户端计算机名(被监控主机)
  在海量节点添加操作中,如果使用手工操作,简直不可想象。解决方法就是自动获取机器名并修改配置文件。
  template模块基于模板方式生成一个文件复制到远程主机。template使用Jinjia2格式作为文件模版,进行文档内变量的替换。主要参数为src和dest。src:在Ansible控制器上的Jinja2格式化模板的路径。dest:将模板渲染到远程机器上的位置。group:目标文件属组。mode:目标文件的权限模式,模式可以被指定为符号模式(例如,u rwx或u=rw,g=r,o=r)。示例:
  -name: copy template
  template:
  src: test.j2
  dest: /tmp/test.conf
  可以实现对应conf配置文件的模板化复制。
  Jinja2是基于python的模板引擎。使用"{%%}"对控制语句进行包含,比如"if"控制语句、"for"循环控制语句等都需要包含在"{%%}"中。可以直接使用ansible的facts获取的变量参数。示例:Hostname={{ansible_hostname))可以直接匹配对应远端主机的机器名。
  2 实例演示
  (1)操作系统分组后安装客户端
  执行对应playbook,将所有主机节点按照版本号分组,复制对应版本的zabbix客户端repo源配置文件,然后执行安装最新版本的操作。如果体系建设完整的话,可以更新YUM服务器端的软件源后,直接再次执行playbook剧本达到更新客户端的目的。
  (2)客户端配置文件定制及自动化部署
  通过执行对应playbook,完成客户端配置文件的定制分发,服务的启动及使能。同时也可以部署企业定制化的功能脚本,以完善扩展Zabbix平台的功能。
  3 总结
  随着云中心节点数量的不断增长和应用复杂度的增加,原有的手工运维已经不能满足新形势下的需求。因此需要充分利用各种自动化运维工具,运用智能运维思路来建设维护云中心的体系,提升运维质量效率。基于Ansible实现Zabbix自动部署,做到了安装Zabbix客户端、修改Agent配置文件的自动化,简化了客户端安装步骤,智能配置参数,实现海量节点的批量配置修改,提高计算机运维监控人员的工作效率。
  参考文献:
  [1]吴夫丹.基于云平台的服务器监控系统设计[D].西安:西安工业大学,2014.
  [2]李晓晖,基于Zabbix的应用监控系统[J].价值丁程,2018,37(28).
  [3]孙春雨.基于Linux集群的Ansible部署与自动化管理研究[J].中国管理信息化,2019(9):165-166.
  [4]周萌,林国策,杨厚云.CENTOS下ZABBIX的配置与使用[J].北京信息科技大学学报:自然科学版,2015,30(1):90-94.
  [5]通过ansible自动化部署zabbix应用.https://www.cnblogs.com/flytor/p/11440822.html
  [6]ansible官方文档.https://docs.ansible.com/ansible/latest/index.html
  [7]zabbix官方文档.https://www.zabbix.com/documentation/4.0/zh/manual
  【通联编辑:唐一东】
  收稿日期:2019-08-20
  作者简介:范永合(1974-),男,山东东营人,大学,工程师,主要从事勘探开发领域的软硬件运维管理工作。
其他文献
目前,实践能力的培养是当前本科教育的薄弱环节,是高校工科培养体系的重要组成部分。针对我校通信工程专业的实践能力培养的现状,面向新工科的专业建设,立足多角度、多元化和
摘要:随着手机、可穿戴设备等新型移动设备的流行,位置感知发挥了越来越重要的作用,GPS定位技术在室外能够起到比较良好定位效果,但无法在室内进行准确定位,难以满足人民日常生活需求。该文设计一种室内定位系统,通过WiFi定位技术,就可对室内物体进行准确定位,弥补了GPS技术在室内环境下的弊端[1]。实验结果表明,该系统可以较为准确定位主机位置,误差范围可以接受。  关键词:单片机;WIFI;ESP82
摘要:在“互联网 ”背景下,高校教育与互联网发生了深度融合,随着“慕课”“网络课程”“翻转课堂”等全新教学方式的出现,高校的教学模式发生了巨大的变化,学生对教师的依赖逐渐淡化,高校教师这一角色在一定程度受到强烈冲击。但互联网有利有弊,它能够避免教学在时间和空间上的局限性,却不可能完全代替教师的作用,学生可以通过互联网获取大量专业教学资源,但却无法在互联网上找到有血有肉的道德榜样。“互联网 ”背景下
摘要:本文从微课程资源开发入手,在“C语言程序设计”课程设计教学环节中构建了基于“微课”的“翻转课堂”教学模式,对打破传统的教学方式、提高教学效果、改善学生获取知识途径产生了深远影响。  关键词:微课;C语言程序设计;翻转课堂  中图分类号:TP311 文献标识码:A  文章编号:1009-3044(2019)33-0123-02  作为当前最实用最流行的编程语言,C语言在计算机的各类编程语言中占
摘要:《网络安全技术》课程是计算机网络专业和网络安全专业的一门核心课程,由于该门课程涵盖的知识面广且理论性比较强,高职院校的学生不容易学习和接受,针对教学中存在的这些问题,提出了项目式教学和多元评价的考核方式,对教学內容、实验平台、教学方法、考核方式等方面进行改革,让学生在“做中学,学中做”,将理论与实践相结合,过程考核与期末考核相结合,充分激发学生积极性和主动性,提高专业技能和综合素质。通过近几
摘要:微课是以教学视频为核心的一系列教学资源的组合,越来越受到广大高校教师和学生的关注和欢迎。利用微课可以提高教师的教学效率,提升学生的学习兴趣和自主学习能力,是高校教学模式改革中不可缺少的应用。  关键词:微课;高校;课程教学  中图分类号:TP3 文献标识码:A  文章编号:1009-3044(2019)33-0125-02  随着现代社会信息化技术的高速发展,基于互联网平台的资源共享,尤其是
摘要:现如今,信息技术正高速发展,并不断渗透其他领域,目前发展比较好的两大行业是电子商务和传媒业,计算机专业教学活动受到广泛重视,该文分析中职学校计算机专业教学现存问题,总结了三点:学习者专注力不佳;没有充分发挥微信平台的功能效用;理论和实践所占比重不均衡。探究中职学校计算机专业教学应用微信平台的积极意义和有效手段,希望能为关注此话题的研究者提供参考意见。  关键词:专注力;微信平台;教学目标  
摘要:针对我国电子类高校对电子元器件的使用管理以及回收利用状况,大量的电子元器件被乱丢。对电子元器件的资源化利用以及随意丢弃的危害性没有足够的认知。此外,基于学生经常会用到集成电路、电阻、电容等电子元器件。综合评述了电子元器件回收最新液体加热解锡技术进展和回收利用的价值。提出了对各大高校旧电路板资源化和无害化回收利用。并为了满足学生日常所需,建立了电子元器件的智能管理平台。  关键词:电子元器件;
摘要:信息技术新课标明确提出“围绕学科核心素养,以项目为主线,整体规划课程,全面改善学习方式”,倡导基于项目的学习。本文结合项目式学习在高中信息技术教学中的实际应用,从项目设计、项目实施、项目评价等三个方面进行归纳,提炼项目式学习在课堂实施的有效策略。  关键词:项目式学习;信息技术;教学策略  中图分类号:G642 文献标识码:A  文章编号:1009-3044(2019)33-0127-02 
摘要:随着医院规模以及信息化水平的不断提升,医嘱电子化成为必然的选择。电子医嘱对临床的日常工作效率的提升,有着非常显著的作用。但在近2年的实施过程中,也发现一些因医嘱电子化后所产生的问题,甚至导致不必要的医疗隐患产生。本文旨在探讨电子医嘱常见的问题,对解决方法进行深入的讨论,从而更好地服务于临床,规避因电子医嘱导致医患纠纷的产生,更好地保障医疗安全。  关键词:医嘱电子化;效率;问题;医患纠纷;安