作者:Justin Ellingwood
翻译:云监控团队
跟踪哪些类型的信息很重要?
您监控的值的类型和跟踪的信息可能会随着基础设施的发展而改变。由于系统通常是分层运行的,在更原始的基础设施之上会构建更复杂的层,因此在计划监控策略时,按层级式考虑指标会大有裨益。
01
基于主机的指标
在指标层次结构的最底层是基于主机的指标。只要能帮助评估单个计算机的运行状况或性能,任何指标都可能被纳入其中,暂且无需考虑当前的应用程序堆栈和服务。主要包括操作系统或硬件的使用或性能,例如:
- CPU
- 内存
- 磁盘空间
- 进程
这些可以帮助你了解可能影响单台计算机稳定性或运行性能的因素。
02
应用指标
或许你要查看的下一类指标是应用程序指标。这些是与依赖于主机级资源(例如服务或应用程序)的处理或工作单元有关的指标。要查看的特定指标类型取决于服务提供的内容,其具有的依赖关系以及与之交互的其他组件。这个层级的指标能够帮助判断应用程序的运行状况,性能或负载,如:
- 错误率和成功率
- 服务失败和重启次数
- 响应的性能和延时
- 资源使用率
这些指标有助于确定应用程序是否正常和高效的在运行。
03
网络和连接性指标
对于大多数类型的基础设置,网络和连接性指标是另一个值得探索的数据集。这些是衡量向外可用性的重要指标,但同时,对于跨多台机器的任何系统的其他机器都可以访问服务也是至关重要的。和我们之前提到过的其它指标一样,也应该通过指标来检查网络的整体功能可用性和准确性,如:
- 连通性
- 错误率和丢包率
- 延时
- 带宽利用率
监控网络层可以帮助您提高内、外部服务的可用性以及响应速度。
04
服务器池指标
在处理水平扩展的基础设施时,需要添加另一层基础设施指标,也就是服务器池指标。尽管有关单个服务器的指标很有用,但在规模上,将服务通过一组计算机执行以及响应请求的能力来表现会更好。在许多方面,这种类型的指标只是应用程序和服务器指标的更高级别的推断,但在这种情况下我们所谈的资源是同类服务器,而不是指计算机级组件。您可能要跟踪的一些数据是:
- 合并资源的使用
- 缩放调整指标
- 降级的实例
收集整合了服务器集合运行状况的数据对于了解系统处理负载和响应变更的实际能力非常重要。
05
外部依赖指标
你可能还希望将一些和外部依赖性相关的指标添加进监控系统中。服务通常会通过提供状态页或 API 来提示服务中断了,但是如果在自己的监控系统中以及与服务的实际交互中进行跟踪,可以帮助确定服务提供商的问题,以及这些问题是否会影响应用运营。在这个级别可能适用的一些指标包括:
- 服务状态和可用性
- 成功率和错误率
- 运转率和运营成本
- 资源消耗
还有许多其他类型的指标收集起来也很有用,定义和概念化每个层级最重要的信息,可以帮助确定对预测或定位问题最有用的指标。请记住,最高层级中最有价值的指标可能是较低层级中提供的资源。
影响选择监控指标的因素
理想情况中,最好能从一开始就监控和系统相关的所有事情。但是,有很多原因导致这种状态几乎不可能实现。
可能影响您选择收集指标和采取行动的一些因素是:
- 可用于跟踪的资源:根据您的人力资源,基础设施和预算,必将会把跟踪的范围限制在可以负担的执行和合理管理的费用之内。
- 应用程序的复杂性和用途:应用程序或系统的复杂性可能会对您选择跟踪的内容产生很大的影响。对于某些软件来说可能至关重要的项目在其他软件中可能根本不重要。
- 部署环境:尽管稳健的监控系统对于生产系统最重要,但部署和测试系统也可以从监控中受益,尽管严重性、粒度和所衡量的总体指标可能有所不同。
- 指标有用的可能性:影响某项内容是否可衡量的最重要因素之一是其将来有帮助的潜力。 跟踪的每个其他指标都会增加系统的复杂性并占用资源。 数据的必要性也可能随时间变化,因此需要定期重新评估。
- 基本稳定性的重要性:简而言之,对于某些类型的个人或早期项目,稳定性和正常运行时间可能不是优先事项。
影响您决策的因素将取决于您的可用资源,项目的成熟度以及所需的服务水平。
未完待续,预告:
系列(三):指标 & 监控 & 告警系统的重要特质
推荐阅读:指标&监控&告警入门详解(一)
欢迎联系云监控小助手微信号,加群讨论:)