REST API监控


REST API-概述

REST(代表性状态传输)是用于管理状态信息的设计概念(体系结构),状态信息定义了如何使用HTTP协议进行数据通信。遵循REST定义的API调用(其中绝大多数!)称为REST API。

监控REST API-监控内容

  • 监控REST API端点的可用性和响应时间。
  • 深入了解使用您的API的移动和Web应用程序的响应时间。
  • 在响应详细信息选项卡中,验证API是否返回了正确的数据。
  • 关键API事务失败时获取通知。
  • 在客户受到影响之前,检测停机时间并修复关键问题。

REST API监控-添加新的REST API监视器

使用REST API添加新的RESTAPI监视器: 点击此处

要配置RESTAPI监视器,请遵循以下步骤:

  1. 点击 新建监视器 链接。选择REST API
  2. 输入监视器的显示名称。
  3. 输入 REST API URL, 即要监控的API调用。
  4. 输入超时(以秒为单位)-APM与托管API服务的服务器建立连接所花费的时间。
  5. 选择用于访问API的表单提交方法。
  6. 输入用户身份验证的凭证详细信息,例如用户名和密码(如果需要),或从凭证管理列表中选择凭证。如果不需要身份验证,则将这些字段留空。
  7. 配置与API服务器建立连接所需的HTTP标头。使用#分隔标题名称和值。要指定多个标题,请使用分隔符 _sep_。示例:User-Agent#Mozilla / 5.0(Windows NT 6.3; Win64; x64)AppleWebKit / 537.36(KHTML,例如Gecko)Chrome / 46.0.2490.86 Safari / 537.36_sep_Accept-Charset#utf-8。
  8. 指定期望的响应类型。对于XML和JSON响应,用户可以在监视器详情页面的响应详情选项卡中定义要监控的特定响应值。
  9. 确保在Applications Manager中配置的代理设置与浏览器中的代理设置匹配。根据要监控的API,需要绕过本地地址和子网掩码。
  10. 确保您尝试匹配的内容出现在API响应中。
  11. 点击 测试凭证 按钮,以确保可以从Applications Manager安装的计算机访问API服务。
  12.  从组合框中选择要与REST API 监视器关联的 业务组(可选)。您可以选择多个组来关联您的监视器。
  13. 点击 添加监视器。这将从网络中发现REST API服务并开始监控。

监控参数

通过点击监视器选项卡,转到监视器类别视图。点击Web服务器/服务表下的REST API。显示的是REST API批量配置视图,分布在三个选项卡中:

  • 可用性标签提供了过去24小时或30天的可用性历史记录。
  • 性能选项卡提供了过去24小时或30天的健康状况和事件。
  • 列表视图使您可以执行 批量管理配置
参数 描述
Response Time 它是获得REST API响应所需的总时间。RESTAPI监视器的响应时间计算为DNS查找时间,连接时间和接收JSON,文本或XML的响应所约定的时间之和。
  • 响应时间
  • 域名解析时间
  • 连接时间
  • 要求处理时间
  • 下载时间
Response Content Details 响应的大小(以字节为单位)以及连续两次轮询之间的大小百分比变化。
  • 页面大小
  • 页面大小更改

自定义属性

根据获得的响应,用户可以定义自己的属性,以监控API响应中的特定值。

  • 如果响应的类型为XML-使用XSLT转换(参考 https://www.w3schools.com/xml/xsl_transformation.asp),则用户可以定义要监控的特定值。确保满足以下条件:
    • 输出方法应为文本类型。语法:<xsl:output method = text />
    • 最终输出应为AttrName :: AttrVal格式。示例:Days:<xsl:value-of select = days />将创建一个属性名称,其值将是API响应中存在的<days>标记的值。
  • 如果响应的类型为JSON- JSON模式可用于配置用户定义的属性。确保满足以下条件:
    • 该属性应定义为AttrName :: AttrValue。示例:Temperature :: response.weather.temperature。这将创建一个属性名称 Temperature,其中包含返回的温度变量的值
    • 通过使用换行符作为分隔符,可以定义多个JSON模式。
    • 如果JSON密钥本身包含点(。),则将其替换为 _sep_。应该为其中包含dot(。)的所有单个键完成此操作。在上面的示例中,假设最后一个键温度被定义为温度。摄氏度。然后,格式应为Temperature :: response.weather.temperature_sep_celsius