在当今的混合云和多云世界中,您需要比以往任何时候都更加确信自己掌握了服务级别协议 (SLA) 的性能。但是,您如何确保您的云提供商为您提供您所支付的费用?您可能已经阅读或略读过他们的 SLA。您如何确定他们是否满足该 SLA?您可以通过监控 SLA 指标来做到这一点。
在这篇文章中,您将了解 SLA 以及 可用于监控其性能的指标。这可以帮助您追究您的提供者和您的团队的责任。您还将看到一些 SLA 指标示例,以帮助您了解可以监控的确切内容。
什么是 SLA?
SLA 是提供商与其客户之间的合同,定义了其承诺提供的服务水平。它通常涵盖一项或多项提供的服务,例如IaaS(如 AWS EC2 ) 或 PaaS(如 Azure SQL 数据库)。通常,提供商会根据他们的 SLA 为您跟踪性能。您可能会向组织的最终用户提供 SLA,因此您也应该这样做。
如果提供商未能达到服务水平,通常会产生后果。服务积分是一种常见的补救措施,如果客户不满足其 SLA,供应商会向他们提供补偿。您应该定义可以监控的指标,以便您知道何时未满足这些指标。
什么是 SLA 指标?
SLA 指标是一组可以衡量和监控的关键绩效指标 (KPI)。您可以监控任意数量的 SLA 指标,但您可以将其中的许多指标分为五种类型。
1. 可用性
特定云资源的可用性是它为其用户工作的百分比或时间长度。您希望可用性尽可能接近 100%。以下是可用性的几个指标和示例。
正常运行时间:正常运行时间定义实例启动、运行和准备使用的时间百分比。一个示例是您的 AWS EC2 实例由于 AWS 中断而在没有任何重新启动的情况下运行的时间百分比。这样的实例有 100% 的正常运行时间。如果您的 EC2 的 AWS SLA 为 99.99%,则 AWS 正在满足其 SLA。
服务可用性:服务可用性是服务请求返回预期响应的时间百分比。例如,您的组织使用的 Azure Web 应用服务能够在用户需要登录时始终做出响应。如果您的监控显示此服务突然失败,则 SLA 性能会受到影响。
2.响应时间
任何云资源的响应时间或延迟是请求后响应返回所需的时间。您希望响应时间尽可能短,因为它最直接地影响用户体验。这里有几个例子:
MTTR:平均修复时间 (MTTR) 是解决特定问题所需的时间长度。R 可以表示修复或解决,具体取决于系统,但期望是相同的:您关心供应商或您的团队解决问题的速度。一个示例是衡量从您第一次在监控工具中观察到区域云网络中断到该警报消失之间的差距。
事务响应时间:事务响应时间度量是事务请求返回响应所需的时间长度,通常以毫秒为单位。假设您组织的一位用户通过您的Amazon SES 服务发送了一封电子邮件。单击“发送”按钮后确认已发送电子邮件所需的时间衡量交易响应时间。
3. 吞吐量
吞吐量指标是您的云资源在一段时间内发送和接收的数据量。您希望吞吐量与系统支持的一样高。这里有几个例子:
磁盘写入字节:磁盘写入字节数是衡量系统在一段时间内将数据字节写入磁盘的速率的指标,通常以秒为单位。一个示例是用于保存用户上传的大文件的Amazon S3 存储系统。他们可能喜欢咖啡,但您不希望他们在将文件上传到您的系统并等待处理后去拿杯咖啡。这种情况下的低吞吐量对您的 SLA 性能不利。
链路吞吐量:链路吞吐量是在一段时间内可以通过给定网络链路传输的数据包数据量。该指标以每秒字节数或比特数表示。一个例子是纽约市和伦敦地点之间的网络连接,传输速度为 150Mbps。如果链接吞吐量低于定义的警报阈值,您可以在用户受到影响之前收到警报(如果需要)。
4. 错误
错误度量定义了对特定资源的失败请求的数量或百分比。这里有几个例子:
HTTP 错误:HTTP 错误是用户发送的请求中返回意外 HTTP 状态代码的百分比。例如,用户在调用 API 的 Web 应用程序上收到可怕的 HTTP 500“服务器不可用”错误。任何此类错误都值得关注,应该进行调查,因为它可能是由于网络中断造成的,这可能会影响您的 SLA。
磁盘读取错误:磁盘读取错误指标是失败的磁盘读取请求的百分比。一个示例是PostgreSQL 请求从存储数据库数据的磁盘中提取数据。读取错误可能是存储问题的结果,这可能会影响您的 SLA。
5.利用
利用率指标是云系统资源的使用百分比。这里有几个例子:
磁盘利用率:磁盘利用率是给定服务器实例上正在使用的磁盘空间量。一个示例是可用磁盘空间不足的 Azure 实例。实例磁盘利用率将告诉您还剩多少空间,以便您确定是否需要升级。没有更多磁盘空间的服务器实例肯定会触发正常运行时间 SLA 违规。
内存利用率:内存利用率是系统使用的 RAM 量。一个示例是配置了太少内存的 AWS 实例。实例内存利用率将让您知道在给定时间段内使用了多少内存。这可以帮助您确定是否需要获得更多 RAM 或执行临时重启以释放更多内存。