帮助手册

REST API

REST API 监视器通过 IPv4 或 IPv6 位置定期检查 REST API 端点的可用性和响应,当 API 响应值不符合指定的 RegEx/XPath/JSONPath 断言时发出告警。此外,还可以根据您指定的 JSON Schema 测试和验证 JSON 响应。如需批量导入 REST API 端点,只需将预定义的 HAR/Swagger(JSON)/CSV 文件上传至 Site24x7 即可。 

添加 REST API 监视器

  1. 登录 Site24x7。
  2. 点击管理 > 资产 > 监视器 > 添加监视器
  3. 添加监视器页面中选择 REST API
  4. 填写以下信息以添加 REST API 监视器:
    • 显示名称:为要监控的网站提供一个适当的名称。
    • 端点 URL:输入要监控的 REST 端点 URL,可以是 HTTP/HTTPS 地址或 cURL 命令。
    • 检查频率:选择所需的轮询频率,可从 10 秒到一天。如果您使用的是 Enterprise、Enterprise Web、Enterprise Plus Web、Elite、Elite Web Packs、Team 2024、Team、Team Web 或 MSP 套餐,可以配置 10 秒、15 秒和 30 秒的频率。其他用户最低支持 1 分钟的检查频率。
      注意
      • 配置 30 秒检查频率将消耗 2 个基础监视器的许可。
      • 配置 15 秒轮询频率将消耗 4 个基础监视器的许可,且只能配合本地轮询器位置使用。
      • 配置 10 秒轮询频率将消耗 6 个基础监视器的许可,且只能配合本地轮询器位置使用。
    • 监控位置:从下拉列表中选择位置配置文件,指定从哪个位置监控网站。10 秒和 15 秒轮询频率的监视器仅支持本地轮询器位置。
      了解更多,请参阅位置配置文件
  5. 高级配置下填写以下信息: 
    • 连接超时:指定与目标服务器建立连接所需的时间(秒)。
    • 首选 IPv6:如果希望通过 IPv6 位置监控端点 URL,在创建或编辑监视器表单时将切换按钮拨至""。

      注意

      • Site24x7 支持根据需要监控双栈 IPv4/IPv6 基础设施,默认启用 IPv4。启用 IPv6 后即可监控 IPv6 基础设施;若 IPv6 连接失败,不会自动回退至 IPv4。 了解更多
      • 在监控表单中启用 IPv6 并不会使其默认兼容 IPv4。如需监控同时支持 IPv4 和 IPv6 的资源,需要分别设置两个独立的监视器检查。
    • 存储数据字段:如需在每次数据采集时存储数据,请勾选 HTTP 头响应内容复选框。

      该字段允许您选择每次数据采集时发送到 AppLogs 的数据。点击日志报表中的对应条目,所选数据将显示在相应日志报表条目下的采集摘要报表中。 
      注意
      • 启用 HTTP 头和响应内容后,数据将存储并从 AppLogs 中检索,并显示在采集摘要报表中。
      • 全部存储的数据可在 AppLog 查询控制台中查看,并可对其执行查询操作。
      • 存储在 AppLogs 中的数据将根据其大小消耗 AppLogs 许可。
    • 监视器组:通过从下拉列表中选择相关监视器组,可将监视器与多个监视器组关联,实现对监视器的逻辑分组。 
      了解如何为监视器创建监视器组,请参阅监视器组
    • 依赖监视器:从下拉列表中选择一个监视器作为依赖资源,最多可添加 5 个依赖资源。当依赖资源状态为 DOWN 时,针对本监视器的告警将被抑制。
      注意
      • 配置依赖资源并根据依赖资源状态抑制告警,是为您提供更好的误报保护的一部分。了解更多监视器级别的告警抑制
      • 如果在依赖资源字段中选择"",告警将按正常配置发送,不会抑制任何告警。
      • 监视器对多个监视器组的支持允许一个监视器在不同监视器组中关联多个依赖资源。在常规监视器状态检查期间,若任意一个依赖资源的状态被识别为 DOWN,该监视器的告警将自动被抑制。但是,监视器级别的依赖配置始终优先于任何监视器组级别的依赖配置
  6. 填写以下 HTTP 配置详细信息:
    • HTTP 方法:指定连接网站的方法——POST、GET、PUT、DELETE 和 PATCH。从下拉列表中选择适当的选项以配置表单提交方式。对于 POST、PUT、PATCH HTTP 和 PROPFIND 方法,还需选择适当的请求体类型。
      注意

      如需在 HTTP 配置中使用凭据配置文件,输入 $ 后会显示可用凭据配置文件列表,从中选择所需的配置文件即可。了解更多关于凭据配置文件的信息。

      监控 WebDav API
      Web 分布式创作与版本控制(WebDAV)是一种允许用户通过 HTTP Web 服务器编辑、共享、复制或移动文档的协议。 
      Site24x7 目前支持 WebDAV 使用的以下主要 HTTP 方法:

        • PROPFIND
        • PROPPATCH
        • MKCOL
        • COPY
        • MOVE
        • LOCK
        • UNLOCK

      使用这些方法,您现在可以执行:

      日历 API 监控
      WebDAV 的日历扩展(CalDAV)是 WebDAV 的扩展,允许用户访问或管理远程服务器上与日历相关的信息,使用 iCalendar 格式。通过 CalDAV,您可以跨设备同步数据、检索日历事件、安排新事件、设置提醒等。示例:Google Calendar 和 Apple Calendar 均提供 CalDAV 访问服务。

      联系人 API 监控 
      WebDAV 的 vCard 扩展(CardDAV)是一种地址簿客户端/服务器协议,允许用户访问或共享 Web 服务器上的数据,使用 vCard 格式。CardDAV 可帮助通过远程服务器检索、存储和管理个人联系人相关信息。示例:Google 通讯录和 Apple iCloud 通讯录均使用 CardDAV。

      注意

      POST 方法将提交参数以访问 URL,支持以 FORM、文本、XML 或 JSON 格式发送请求。

      注意

      在 GET 方法中,将获取完整的 HTML 响应,并检查其中是否存在您配置的关键词。

    • 参数类型:如果希望定义发送到端点的 GraphQL 查询,请选择 GraphQL。
    • GraphQL 查询: 提供 GraphQL 查询,以从基于 GraphQL 的 API 服务的响应中获取特定字段。
    • GraphQL 变量:以 JSON 格式指定 GraphQL 查询中引用的变量值。
      注意

      如果选择 POST 方法,GraphQL 查询和 GraphQL 变量将包含在请求体中。如果选择 GET 方法,GraphQL 查询和 GraphQL 变量将通过 URL 参数发送。

    • HTTP 请求头:有时您可能需要自定义默认的 HTTP 请求头信息,可在此处添加额外的头名称和头值。
    • User Agent:设置自定义用户代理(Web 浏览器)用于发送请求和 HTTP 头,可从可用的用户代理中选择。
    • 认证方式: 为监视器管理多种授权方式。
      • Basic/NTLM: 配置基于 Basic/NTLM 的授权。Windows NTLM 是运行在 Windows 系统上的认证协议。
      • Kerberos/Negotiation:如果监控的资源由 Kerberos 认证保护,请从下拉菜单中选择 Kerberos/Negotiation
        • Kerberos 认证:从预配置列表中选择 Kerberos 凭据配置文件,或点击 (+) 按钮创建新的 Kerberos 认证配置文件。
          注意
      • OAuth: 如果监控的资源受 OAuth 框架保护,请从下拉菜单中选择 OAuth。
        • OAuth 提供商名称:从预配置列表中选择 OAuth 提供商名称,或点击 + 按钮创建新的 OAuth 配置文件。
          注意

          了解如何配置 OAuth 提供商

      • Web Token:将 Site24x7 注册到认证服务器,以使用 Web Token 监控受保护的资源。
        • Web Token 名称:从预配置列表中选择 Web Token 名称,或点击 + 按钮创建新的 Web Token 配置文件。
          注意

          了解如何添加 Web Token

      • AWS 签名:从下拉列表中选择已与 Site24x7 集成的 Amazon 账户,以使用 HMAC 对 API 请求进行签名,从而对托管在 AWS APIGateway 上的 API 进行认证。了解如何集成 Amazon 账户

        注意

        阅读了解更多关于 AWS 签名认证的信息。

      • GCP 服务账号密钥:从下拉菜单中选择 GCP 服务账号密钥,以监控需要通过 Google Cloud 服务账号进行认证的 Google Cloud 项目 API(如 Pub/Sub)。
        • GCP 服务账号:选择已使用 GCP 服务账号密钥 JSON 文件添加的适当 GCP 监视器,或点击 + 按钮添加新的 GCP 监视器并上传相关的 GCP 服务账号密钥 JSON 文件。
          注意

          了解如何配置 GCP 监视器

    • 客户端证书: 对于需要客户端证书认证的网站,上传客户端证书(必须为 PKCS#12 文件)。
    • 查询权威名称服务器:使用切换按钮决定是否通过权威名称服务器解析域名。
    • 可接受的 HTTP 状态码:提供以逗号分隔的 HTTP 状态码列表,表示成功的响应。可以指定单个状态码,也可以使用冒号分隔的范围。了解更多关于可接受的 HTTP 状态码的信息。
    • SSL 协议:指定 TLS/SSL 协议版本号(支持 TLSv1.3、TLSv1.2、TLSv1.1、TLSv1 和 SSLv3)以验证 SSL 握手是否正常。使用自动模式可启用自动检测和协商。
      注意

      SSL 协议验证仅适用于 HTTPS 域名。如果指定的 SSL 协议版本与实际版本不符,监视器在轮询期间将报告状态失败。

    • HTTP 协议:选择用于协商的应用层协议首选版本(HTTP/1.1 或 HTTP/2)。
    • 启用 ALPN:启用 ALPN 以确保 TLS 握手中仅发送支持的应用协议,并减少往返时间。默认设置为是。本地轮询器不支持 ALPN 选项,后续更新中将扩展支持。
  7. 可用性检查:填写完所有必填配置详情后,可使用此选项测试已创建的配置,深入了解代码并获得实践体验。
  8. 填写以下内容检查详情:
              选择您偏好的响应格式。
    • 如果选择的响应格式为 Text(文本)
      • 应包含的字符串:当网站中不存在指定关键词时发出告警。在复选框中填写关键词,并使用滑块按钮触发所需类型的告警。
      • 不应包含的字符串:当网站内容中存在指定关键词时发出告警。在复选框中填写关键词,并使用滑块按钮触发所需类型的告警。
        注意

        在指定字段中添加关键词时,您必须遵守以下条件:

        • 单个字符串或关键词可以带或不带双引号配置(例如:HTML)。
        • 选择文本作为响应格式时,可以按以下格式配置:"{\"cache\":\"success\",\"WSF\":\"success\",\"bean\":\"success\",\"DB\":\"success\"}"
        • 如果两个字符串组成一个关键词,需在两个字符串之间添加空格,并用双引号括起来(例如:"HTML response")。
        • 如果配置了多个独立关键词,需用空格分隔,并为每个关键词添加双引号(例如:"monitor" "HTML")。
      • 区分大小写:启用切换按钮以开启此选项。
      • 应匹配正则表达式:根据特定模式是否与网站内容匹配来配置告警。例如,表达式 ^[a-z0-9_-]{3,15}$ 要求网站内容包含 a 到 z 的字母、0 到 9 的数字、下划线和连字符,且长度最短 3 个字符,最长 15 个字符。不匹配时,网站将报告"正则表达式 '^[a-z0-9_-]{3,15}$' 不匹配"。
        注意

        了解更多关于内容检查正则表达式匹配中的否定前瞻的信息。

    • 如果选择的响应格式为 XML
      • XPath 表达式:提供 XPath 表达式以启用 XPath 表达式断言评估。断言必须成功解析 XML 中的 XPath 才能返回成功状态。点击 "+" 键可添加多个 XML 表达式断言。
      • XPath 严重性:将告警严重性指定为"DOWN 或 TROUBLE",以决定当指定的 XPath 表达式断言因不匹配而失败时的状态。
      • XPath(XML 路径语言)是一种用于从 XML 文档中选取节点的查询语言。使用 Site24x7 XPath 评估器获取更多帮助。
    • 如果选择的响应格式为 JSON
      • JSONPath 表达式:您可以指定 JSONPath 断言,测试 JSON 响应中的预期数据。断言必须成功解析 JSON 中的 JSON Path 才能通过测试。如需帮助构建 JSONPath 断言以测试 JSON 响应,可使用 Site24x7 JSONpath 表达式。可通过 "+" 键添加多个 JSONPath 断言以测试不同场景。
        注意

        每次处理断言时,JSON 断言中的目标值与 JSON 响应中的实际值进行比较,以检查多种测试场景。常见测试场景包括:

        • 实际值为空
        • 实际值不为空
        • 实际值等于目标值
        • 验证实际值大于或等于目标值
        • 验证实际值小于或等于目标值
        • 实际值包含目标值(作为子字符串)
        • 实际值中不包含目标值
           
      JSONPath 表达式                             描述                                               状态                   
      $.address.city 选取 'address' 属性的直接子属性 'city' 的值。  状态为 Up。city 属性是 address 属性的直接子属性。

      $.address.country

      选取 'address' 属性的直接子属性 'country' 的值。

       状态为 Down。address 属性没有名为 'country' 的子属性。

      $..type 选取输入 JSON 中所有 'type' 属性的值。

      状态为 Up。响应 JSON 的子属性中包含 'type' 属性。

      $.address.length()

      选取 'address' 属性的长度。

      状态为 Up。响应 JSON 中存在 address 属性。

       $..* 选取所有属性及其值。

      状态为 Up。响应 JSON 中包含多个属性。若 JSON 响应中没有任何属性,监视器将报告中断。

      $.phoneNumbers[1] 选取 'phoneNumbers' 数组中的第 2 个值。 若 phoneNumber 属性有 2 个或更多子实体,状态为 UP。
      $.phoneNumbers[?(@.number)] 若 'phoneNumbers' 属性包含 'number' 子属性,则选取该属性。 若 phoneNumber 属性至少包含一个 number 子属性,状态为 Up。
      $.phoneNumbers[?(@.type ==\"iPhone\")]  选取 'type' 为 iPhone 的 'phoneNumbers' 属性。 若 phoneNumber 属性至少包含一个 type 为 iPhone 的子属性,状态为 UP。
      $[?(@.age > 20)]

      若 'age' 大于 20,则选取对应的 JSON 对象。

      若 age 属性值大于 20,状态为 UP。
  9. JSONPath 严重性:可将告警严重性指定为"DOWN 或 TROUBLE"。当 JSONPath 断言在测试期间失败时,将自动触发告警。
  10. JSON Schema 检查:JSON Schema 是一种允许您对 Web 服务的所有 JSON 端点进行注释和验证的词汇表。如需针对 Schema 测试 HTTP 响应数据,将切换按钮设置为 ,并在文本框中填写 JSON Schema 验证断言。如果在将切换按钮设置为后文本框为空,数据采集仍将正常进行,不会影响监视器的整体状态。 
  11. JSON Schema 严重性:可将告警严重性指定为"DOWN 或 TROUBLE"。当内容检查期间 JSON Schema 验证失败时,将根据您的设置自动触发告警。
    注意

    以下是针对已定义 JSON Schema 验证 API 响应时的常见使用场景:

    • 验证值是否属于特定类型(如整数、字符串等)
    • 确保 API JSON 响应结构正确
    • 检查 JSON 响应中是否存在必需的键
    • 测试错误的 HTTP 响应(如 HTML 或 XML)是否符合您指定的 JSON Schema。

  12. HTTP 响应头检查:输入 HTTP 请求的所需响应头和值,验证 HTTP 头是否存在或值是否与预期响应匹配。在检查失败时触发故障或中断告警。
    配置响应头检查时,必须按以下条件添加值:
    • 可以添加多个头,每个头可接受多个值。
    • 单个值可以带或不带双引号配置(例如:keep-alive 或 "keep-alive")。
    • 若配置了多个头值,需用空格分隔,并为每个头值添加双引号(例如:"gzip" "br")。
    • 头值也支持正则表达式验证。正则表达式模式应为 "${}"。例如:${\d{4}} 可用于在头名称配置的头的值中搜索连续四位数字。
  13. HTTP 响应头严重性:使用切换按钮将告警严重性指定为 DOWN 或 TROUBLE。测试失败时,将自动触发告警。
  14. 填写以下配置文件详细信息:
    • 阈值与可用性:从下拉列表中选择阈值配置文件或使用默认阈值,当资源超过配置的阈值和可用性时收到通知。
      如需创建自定义阈值和可用性配置文件,请参阅阈值与可用性
    • 标签: 将监视器与预定义标签关联,以创新方式组织和管理监视器。了解如何添加标签
    • IT 自动化:选择当网站处于宕机/故障/正常/任何状态变更/任何属性变更时执行的自动化操作。发生状态变更时将执行已定义的操作,并向选定的用户组发出告警。
      如需在故障时自动执行纠正措施,请参阅IT 自动化
  15. 告警设置
    • 用户告警组:选择中断发生时需要接收告警的用户组。如需在组中添加多名用户,请参阅用户告警组
    • 值班计划值班计划选项帮助您确保在特定班次时间内向受分配人员发送通知,使其能够快速响应告警或事件。从下拉列表中选择所需的值班计划。 
    • 通知配置文件:从下拉列表中选择通知配置文件或使用默认配置文件。通知配置文件用于配置在宕机时通知的时间和对象。如需创建自定义通知配置文件,请参阅通知配置文件
    注意

    无论您配置的值班班次如何,只要监视器关联了用户组,您就可以接收告警。

  16. 第三方集成:将监视器与预配置的第三方服务关联,将监视器告警推送至所选服务,提升事件管理效率。如果尚未设置任何集成,请导航至"管理 > 第三方集成"进行创建。了解更多
  17. 点击保存。如果希望运行配置以验证监视器是否正常工作后再保存,可点击检查并保存。如果出现错误,监视器将不会被保存。

    注意

    监视器设置完成后,Site24x7 深度发现向导将扫描您的域名,自动检测该域名下所有相关的互联网资源,并将其添加到您的账户中,实现全面的互联网服务监控。了解更多关于互联网服务深度发现的信息。

故障排除技巧:

本文档对您有帮助吗?

您愿意帮助我们改进文档吗?请告诉我们哪些方面可以做得更好。


很抱歉本文档未能让您满意。我们希望了解可以从哪些方面改进您的体验。


感谢您抽出时间分享反馈。我们将利用您的反馈来改进在线帮助资源。

短链接已复制!