1.Prometheus 监控技术与实践 --- 云计算时代的监控系统
Posted enlyhua
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了1.Prometheus 监控技术与实践 --- 云计算时代的监控系统相关的知识,希望对你有一定的参考价值。
第1章 云计算时代的监控系统
1.1 云计算时代的应用系统
1.1.1 企业“IT云化”实现数字化转型
1.1.2 云计算时代的IT架构特点
1.1.3 云计算时代的IT管理变革
1.企业IT投入模式改变
在传统的IT模式下,基础设施的投入占比最大,服务器运维人工成本次之,应用开发的投入占比最小。上云后,投入比例相反。
2.IT人员能力要求改变
传统IT人员更关注底层基础设施的运维,项目管理,对业务需求的理解和响应比较被动。云计算IT人员需要更关注业务的需求,探索新的业务模式,
主动发现客户的需求,寻找新的技术和解决方案,而不仅仅关心底层平台的运维和资源管理。在云计算环境下,这种思路发生了根本性改变,"创建比修复
更容易",只需要迅速下架或释放有问题的资源,同时开通对应的新资源。至于产生问题的根本,可以留给云计算服务商的工程师去思考解决。
3.关注用户体验和业务指标
如果没能详细的了解服务中各种行为的重要程度,不去度量这些行为的正确性,就无法正确维护这个应用系统,更不要说保障系统的可靠,稳定的运行了。
不管是对外的服务,还是内部API,都需要制定一个针对用户的服务质量目标,并且努力达到。
在这个过程中,需要利用一些主观判断结合过去的经验以及对服务的理解来定义一些服务质量指标(SLI),服务质量目标(SLO),以及服务质量协议(SLA)。
这三项指标分别指该服务最重要的一些基础指标,这些指标的预期值,以及当指标不符合预期时的对应计划。事先选择合适的指标有助于在故障发生时帮助维护团队
做出更好的决策,同时也为维护团队判断系统是否正常提供帮助。
1.2 云计算监控的目标和挑战
1.2.1 云计算监控目标
监控是运维团队眼睛的延伸。
监控系统需要有效的支持白盒监控和黑盒监控。通过白盒监控能够了解内部的实际运行状态,观察监控指标能够判断可能出现的问题,从而对潜在的不确定因素进行
优化。而黑盒监控,常见的如 http 探针,tcp探针等,可以在系统或者服务发生故障时快速通知相关人员进行处理。
通过建立完善的监控体系,可以达到下面的目标:
1.长期趋势分析
2.对照分析
3.告警
4.故障分析与定位
5.数据可视化
1.2.2 云计算监控挑战
挑战1:持续变更
在一个大型复杂环境中,变更是常态。
挑战2:自下而上还是自上而下
采用自下而上的方式进行监控:根据聚合值,底层中的错误和单个模块中的错误,可以在它们传播和影响到上层应用服务器或者应用本身之前被发现。这里面临的
挑战是:
1.需要部署越来越多的模块级别和其他低级别的内容。
2.在云中,底层基础设施和服务器之间有正常和异常的分配。
采用自上而下的监控方法基于云的和高度复杂的系统是解决以上问题的一种尝试,通过监控上层或者聚合数据,从顶层问题再出发以智能的方式深入底层数据。
仍然必须收集底层数据,但不会系统化的监控错误,这种也面临挑战:
1.发现问题可能已经为时已晚
2.如何深入底层数据
现代分布式系统有内置的容错机制来掩盖故障和错误,防止在系统层面出现问题直接影响用户体验,因此,检测到上层问题距离底层根本故障原因出现,可能
已经过去相当一段时间了。
3.从最初发生故障到扩散到整个系统变得明显,可能需要经过很长一段时间。不能简单的依赖上层错误检测的时间戳。
挑战3:复杂的微服务架构
每个外部请求都可能要穿越大量内部服务才能得到相应。
挑战4:大容量的分布式数据
监控时间会引入大量性能,传输和存储方面的巨大开销。
1.3 云计算监控的范围和架构
1.3.1 监控管理的范围
1.3.2 监控系统的基本架构
1.4 百花齐放的开源监控软件工具
1.4.1 监控系统成熟度
监控系统有4个发展阶段,也就度量监控系统的方法,以及对监控改进的指南,可用于评估当前监控系统的成熟度级别以及可采用的改进步骤。
第一级,是组件监控,可以反映每个组件的状态并根据策略进行报警通知。
第二级,是对各层级进行监控,从各层级,角度收集运行信息,包括各种指标度量值,输出日志,服务追踪信息等。
第三级,不仅查看所有的状态,事件和度量,还查看依赖关系并追踪动态变更情况,数据用可视化工具展现,以实时洞察整个系统的总体运行情况。
第四级,是智能化,能够在发生故障之前发送报警,通过扩展或者重路由服务来实现自我自愈,异常监测等。
当监控成熟度从第1级 晋升到第2级,将获得对系统更深入的洞察力,将更好的理解服务的可用性和性能。从第2级到第3级,将可以在整个IT系统中获得全栈的
可见性,并精确的理解业务,应用程序和基础架构之间的依赖关系。进入第4级时,将获得预测分析能力,这将帮助企业预测可能发生的问题,指出可能的原因。
对于监控系统软件,开源的解决方案有 :
流量监控(MRTG,Cacti,Smokeping,Graphite等)
性能监控(Nagios,Zabbix,Zenoss Core,Ganglia,OpenTSDB等)
1.4.2 Zabbix
1.4.3 OpenTSDB
1.5 Prometheus监控系统
Prometheus(普罗米修斯)是一个开源的容器和微服务检测和预警工具。Prometheus 由 Google 的 Brogmon 监控系统启发而来。
1.5.1 应运而生,茁壮成长
Prometheus 关注的是近期发生的事情。Prometheus 假设用户视图修复的问题是最近的,因此默认保留15天的数据。Prometheus 还有一个推送网关,
可以用来接收少量数据,例如获取不能直接被抓取的监控目标的指标数据。
1.5.2 功能完善、监控所有层级指标
传统的监控方案需要多种监控工具组合,Prometheus 功能强大,可以监控所有层级的指标。
1.5.3 开放、高效、易用的完整解决方案
优点:
1.易管理型
2.更契合的架构
3.灵活的数据模型
4.良好的性能,强大的查询能力
5.可扩展性
6.健全的生态,开放,易于与第三方系统集成
7.可视化
以上是关于1.Prometheus 监控技术与实践 --- 云计算时代的监控系统的主要内容,如果未能解决你的问题,请参考以下文章
监控利器Prometheus——Prometheus简介与安装
监控利器Prometheus——Prometheus简介与安装