DevOps所提及到的持续集成和持续部署的实现都离不开持续监控的辅助作用。我们可以设想一下,当软件开发人员将每天更新的代码提交到代码库的时候,就需要有一种即时监控机制及时发现这种代码变化,相应地触发自动化测试和持续集成的动作。
为了方便大家对持续监控所涉及的内容有更加生动和形象的理解,本文对一些主流监控工具进行简单介绍如下。
一、 New Relic
New Relic是基于Web网站的服务器性能监控平台,IT系统管理人员可以利用它的功能来实现所辖服务器性能的实时监控,监控的结果可以通过New Relic所提供的网页版的查看工具去实时阅览。具体的做法是登陆Net Relic的官方网站地址 ,并在该网站上注册一个新帐号。根据您的IT服务器端的应用框架结构,选择下载安装对应的插件。插件可以收集到被监控服务器的相关性能数据。接下来只要访问NewRelic网站,即可看到所希望可视化的各种图表。
以下是关于服务器性能的图表举例,该图表所表述的指标为Web交易响应时限。
以上图例的横坐标是自然时间,纵坐标是响应时限,单位为毫秒(ms)。可以捕捉到到底是哪个应用或哪些应用交易耗时最大,以及每个用户访问网页的平均打开时间,即从网页请求发出,到整个页面完全加载完成(包括图片、css样式表和javascript程序等)。一般用户对每个网页打开时限的容忍程度是3秒以内,在移动互联网应用尤其是微信广泛应用的时代,我们每个人对应用的响应速度的容忍度大大降低了。
二、 Zabbix
在目前开源市场上,Zabbix大名鼎鼎,是所有商用监控软件的劲敌。这不仅仅因为Zabbix是开源的,它更是一款高度集成和具有丰富监控功能的软件。Zabbix以图形化展示和操作界面,提供了针对各种IT系统的监控及告警。Zabbix可以支持数十万服务器的实时监控,让系统管理员面对海量服务器运维的环境下仍然能够快速感知、定位、解决IT系统的诸多问题。
相对于其它监控软件,Zabbix有如下脱颖而出的优势:
1、安装与配置非常简单,学习成本低;
2、支持多语言(包括中文);
3、免费开源,维护志愿者众多;
4、具有Agent和Proxy两种工作模式,非常适合构建分布式监控系统;
5、能自动发现服务器和网络设备、自动注册主机、自动添加模板及分组;
6、支持多种监控方式,适应复杂企业IT环境。
三、Splunk
随着大数据和人工智能运维AIOps的呼声甚嚣尘上,Splunk这款产品也越来越受到业界的重视。Splunk不仅仅是一款行业领先的日志分析软件,其可以整合大数据分析和机器学习等诸多领域,对被监控的IT基础设置所生成的日志数据进行收集、存储、创建索引、搜索、关联、分析和生成可视化的日志分析报告。其对数据的收集和处理的过程就是大数据提炼和分析的过程。
总之,持续监控为持续集成和持续部署的警卫员,为组织执行高效DevOps落地保驾护航。不同的监控工具对监控能力和监控的侧重方面有所不同,组织需要基于自己的需要来选择合适的监控工具和监控组件。
|