如果你以前曾在云平台上工作过,你一定熟悉这些系统的分布式和解耦性质。解耦的分布式系统依赖于微服务来执行特定的任务,每个微服务都会暴露自己的REST(表示状态转移)API。这些微服务通常以诸如RabbitMQ或QPID等消息中间件的形式通过轻量级消息层相互通信。这正是OpenStack的工作原理。每个主要的OpenStack组件(Keystone、Glance、Cinder、Neutron、Nova等)公开REST端点,组件和子组件通过消息中间件进行通信。这种方法的优点首先是允许将故障分配给特定组件,其次是云基础设施运营商可以以水平方式扩展所有服务,并智能分配负载。然而,这种分布式解耦系统虽然非常有利,但也带来了固有的挑战,如何正确监控OpenStack服务。下面我们针对OpenStack服务监控的具体情况所面临的真实挑战以及每个难题可能的解决方案。

挑战一:系统不是一个整体

OpenStack的非整体性和解耦性通常被强调为其主要优点。这当然是一个重要的优势。然而,这显然会使任何监控整体服务状态的尝试变得复杂。在每个组件执行一个特定任务的分布式系统中,每个组件进一步分布到多个子组件中,因此,不难理解当特定一部分软件发生故障时,确定对服务的影响是多么困难。克服这个困难的第一步是了解云。你需要确定所有主要组件之间的关系,然后确定每个独立的特定服务之间的关系,它们的故障可能影响整体服务。简单地说,你需要知道云中所有组件之间的关系。考虑到这一点,不仅需要监视每个单独组件的状态,还要确定其他服务如何受到故障的影响。例如,如果Keystone死机,没有人能够获取服务目录或登录任何服务,但这通常不会影响虚拟机或其他已建立的云服务,除非重新启动服务且Keystone仍然宕机。然而,如果Apache失效,通过Apache工作的Keystone和其他类似的API服务可能会受到影响。因此,监控平台或解决方案不仅必须能够评估各个服务的状态,而且还要能够在服务故障之间进行关联,以便检查对整个系统的真正影响,并相应地发送警报或通知。

挑战二:OpenStack不仅仅是OpenStack

基于OpenStack的云不仅是分布式和解耦式系统,也是一种可在操作系统和其他在云基础设施中或与之相关的设备中创建资源的编排解决方案。这些资源包括虚拟机、持久卷、网络实体和临时磁盘以及许多其他小型系统。因此,监测解决方案必须考虑到这些基础组件。虽然这些资源可能不太复杂,并且不太容易出现故障,但是当它们停止运行时,主要OpenStack服务中的日志可能会掩盖真实的原因。它们仅在受到影响的OpenStack服务中显示结果,而不显示设备或失效的操作系统软件的实际根本原因。例如,如果libvirt失效,组件Nova将无法部署虚拟实例。 Nova-compute作为服务将被启动并运行,但在部署阶段实例将失败。为了检测这一点,你需要在nova-compute日志之外还监控libvirt。因此,有必要检查底层软件和主要组件之间的关系以及监控最终的链接,并考虑所有最终服务的一致性测试。需要监控内容包括存储、网络、hypervision层、每个单独的组件以及之间的关系。

挑战三:跳出固有思维模式

Cacti、Nagios和Zabbix是OpenSource监控解决方案的好例子。这些解决方案定义了一组非常具体的度量标准,用于识别操作系统上的可能问题,但是它们不提供确定更复杂的故障情况或甚至服务状态所需的专门的指标。这是需要有创造性的地方。你可以实施专门的指标和测试,以定义服务是否正常、降级或完全失败。像OpenStack这样的分布式系统,其中每个核心服务都暴露了一个REST API,并且连接到基于TCP的消息服务,容易受到网络瓶颈、连接池耗尽和其他相关问题的影响。许多相关服务连接到基于SQL的数据库,这可能会耗尽其最大连接池,意味着需要在监控解决方案中实施正确的连接状态监控指标,以检测可能的、影响API的连接相关问题。此外,可以构建cli测试来检查端点状态并测量其响应时间,这可以被转换成实际显示服务真实状态的指标。上述每一个监控解决方案和大多数其他商业或OpenSource解决方案可以通过自行设计专门指标来进行扩展。命令“time OpenStack catalogue list”可以测量Keystone API响应时间,评估结果,并在结果不符合预期时产生人工故障状态。此外,可以使用简单的操作系统工具,如“netstat”或“ss”,来监控API端点的不同连接状态,并了解服务中可能出现的问题。OpenStack云依赖关系的关键部分也可以这样做。请注意,消息中间件失败基本上将“杀死”OpenStack云。关键是不要偷懒!不要只用默认的指标,而是应该用与自己服务相关的指标。

挑战四:人为因素

人为因素关乎一切。没有经过测试的情景响应程序,单一故障不仅本身是一个问题,还将带来造更多的问题。在监控解决方案中云基础设施的任何事故及其相关警报中都应该有明确的记录,以清楚的步骤来解释如何检测、遏制和解决问题。人为因素必须考虑,即使有一个可以关联事件和建议适当的解决方案来检测事故的聪明系统。请务必记住,如果系统不正确或不完整,那么输出也将不准确或不完整。

总结一下,OpenStack监控不一定很困难,最重要的是要彻底。每个单独的服务以及与其他服务的互动都需要仔细监控。特殊指标甚至可以自己实现。通过一些TLC,可以轻松成功的监控OpenStack。

openstack实例控制台显示响应时间过长_监控OpenStack的技巧相关推荐

  1. vmware响应时间过长_性能调优高并发下如何缩短响应时间

    点击上方"蓝字"带你去看小星星 菜菜哥,请你看电影呀,但是得帮我一个忙 好呀,看什么? 哥斯拉2:怪兽之王 看过了~ X战警:黑凤凰 看过了 追龙2和黑衣人呢? 都看过了,你说帮什 ...

  2. 服务器响应时间过长_网站响应时间过长怎么回事 解决方法都有哪些

    网站响应时间过长怎么回事?解决方法都有哪些?很多人在完成HTML5和CSS3部分的学习之后,都要独立完成网页制作项目实践,在这个过程中有部分同学发现网页打开很慢,即网站响应时间过长.针对这​个问题,千 ...

  3. springboot怎么杀进程_线上服务平均响应时间太长,怎么排查?

    线上服务平均响应时间太长,怎么排查? https://xie.infoq.cn/article/914b5c56000a3880016abd8d6 前言: 最近线上环境某个接口服务响应时间偏长,导致用 ...

  4. jmeter查看平均响应时间_线上服务平均响应时间太长,怎么排查?

    最困难的事情就是认识自己! 个人网站 ,欢迎访问! 前言:最近线上环境某个接口服务响应时间偏长,导致用户体验超差,那平时该怎么快速的排查这类问题呢? ①.为代码添加上详细的打印日志: 不建议 ,一是线 ...

  5. 响应时间过长超时抛出_响应时间过长问题分析

    现象描述 不管是性能测试中,还是生产环境中,经常会遇到响应时间过长的问题. 响应时间是性能评估的一个重要指标,会对最终用户产生直接影响,一个产品是快是慢,响应时间是最直观的感受. 因此面对响应时间长的 ...

  6. 【译】如何精确判断最终用户响应时间过长的原因?

    译者:原始文章有点性能测试工具软文的感觉,毕竟文章来源于某工具官方博客.高手请略过. 对于我这种新手,此文还是给我带来一些惊喜,从上到下地,从表象到根源地,定位他们遇到性能问题-响应时间过长-的根本原 ...

  7. java fgc时间过长_性能案例分析 | 一个频繁fgc问题

    今天分享一个频繁fgc的问题,现象是接口响应时间太长了,达到了好几秒,远远高于预期的1秒. 01.监控 xshell连接到应用服务器,服务器负载高,且cpu使用率也偏高 使用jstat看了下gc的情况 ...

  8. rds for mysql的监控指标_支持的监控指标_云数据库 RDS_用户指南_MySQL用户指南_监控指标与告警_华为云...

    rds001_cpu_util CPU使用率 该指标用于统计测量对象的CPU使用率,以比率为单位. 0-100% 测量对象:弹性云服务器 监控实例类型:MySQL实例 1分钟 5秒 1秒 rds002 ...

  9. 响应时间过长问题分析

    现象描述 不管是性能测试中,还是生产环境中,经常会遇到响应时间过长的问题. 响应时间是性能评估的一个重要指标,会对最终用户产生直接影响,一个产品是快是慢,响应时间是最直观的感受. 因此面对响应时间长的 ...

最新文章

  1. mysql单机多实例——方法1
  2. php项目中sql,php – 大括号{}在SQL查询中做了什么?
  3. 这个超时问题花了我两周才解决!
  4. 圆为什么有360度?
  5. hive启动debug问题
  6. 实战 Firefox 扩展开发
  7. Tcl 语言 ——变量篇
  8. linux IDEA 输入法光标不跟随
  9. 知识图谱多跳问答推理研究进展、挑战与展望
  10. Spring Kafka:@KafkaListener 单条或批量处理消息
  11. 判断是页面否为微信打开
  12. Delaunay三角网构建,并进行可视化
  13. 图片转ICO工具新版本(支持更多图片格式,支持更多分辨率,原生更快)
  14. Java数据库篇之mysql VS postgresql
  15. 睿联技术在创业板过会:收入依赖摄像机单机,计划募资11亿元
  16. “熊猫烧香”李俊的病毒人生
  17. 期货中的正向交易与反向交易
  18. Java练习-002
  19. 永劫无间创建桌面快捷方式,并添加到steam库里
  20. 伍伦贡大学计算机系学啥,伍伦贡大学工程学(计算机)硕士研究生申请要求及申请材料要求清单...

热门文章

  1. php如何获得文件数量,PHP:获取目录中文件数量的最有效方法
  2. 图的广度优先搜索(bfs)以及深度优先搜索(dfs)
  3. 【阿里妈妈营销科学系列】第五篇:多渠道组合路径效率评价
  4. mysql文件说明_MySQL进阶之配置文件说明
  5. linux snmpwalk版本,snmpwalk的Linux的击不返回
  6. mac mysql 设置短命令_短小强大的8个命令,分分钟帮你提高工作效率!
  7. js 实现 table 行上移 (数据库)
  8. LeetCode Hot100 ---- 最长相关专题(动态规划)
  9. 自动化机器学习(AutoML)之自动贝叶斯调参
  10. 【Tensorflow】tf.map_fn() 使用过程中遇到【inf, NaN】报错问题