搜索

第 1 章 可插拔发现 API

download PDF

您可以使用可插拔发现 API 端点 /api/v2.2/discovery,将外部插件注册到 Cryostat,并提供有关可发现的应用程序目标的信息。

注意

作为可插拔发现 API 的替代选择,您可以使用 Cryostat 代理作为 Cryostat 发现插件。Cryostat 代理作为 Java Instrumentation Agent 实施,该代理充当 JVM 上运行的应用程序的插件。Cryostat 代理提供了一个 HTTP API,它因为代理的双重角色作为发现插件提供了比 JMX 端口更大的部署灵活性。您可以将目标应用程序配置为使用代理的 HTTP API 来通过 Cryostat 检测和连接。有关将目标应用程序配置为使用 Cryostat 代理的更多信息,请参阅配置 Java 应用程序

1.1. 可插拔发现 API 概述

您可以使用可插拔发现 API 端点 /api/v2.2/discovery,将外部插件注册到 Cryostat,然后提供有关可发现的应用程序目标的信息。在成功注册 Cryostat 后,一个插件可以取消注册自身,或持续将更新推送到有关目标应用程序的 Cryostat。

注意

注册操作的目的是增强 Cryostat 安全性,并保持插件和 Cryostat 之间的数据一致性。

可插拔的 Discovery API 提供了更灵活的方法,用于将 Cryostat 集成到 Red Hat OpenShift 服务帐户机制的部署模式中。

例如,您需要编写插件程序来创建应用程序 IP 地址到端口号的静态映射。该插件可以使用可插拔发现 API 将此信息传送到 Cryostat,以便 Cryostat 能够更好地与目标应用程序连接。

Pluggable Discovery API 依赖于以下处理程序来管理从 /api/v2.2/discovery 端点和 Cryostat 发送的请求:

  • DiscoveryRegistrationHandler
  • DiscoveryRegistrationCheckHandler
  • DiscoveryGetHandler
  • DiscoveryPostHandler
  • DiscoveryDeregistrationHandler
注意

有关这些处理程序的更多信息,请参阅后续文档部分。

在使用 API 的端点与 Cryostat 交互前,您必须确保客户端(即插件的来源)符合以下先决条件:

  • 接受 JSON 响应。
  • 可以将 HTTP 请求发送到 Cryostat。
  • 可以在 POST 请求的 Authorization 标头中输入正确的 Cryostat 凭证。
  • 可以从 Cryostat 接收 GETPOST 请求。
  • 通过将 POST 请求发送到 Cryostat,发布 JSON 中发现目标的信息。

如果需要使用 Cryostat 注册您自己的发现插件程序,您可以禁用 Cryostat 内置发现机制。禁用内置发现机制有助于减少在 Cryostat web 控制台中打开的重复定义(如果插件和 Cryostat 都可以访问相同的目标应用程序信息)。

注意

如果 Cryostat 检测到两个类似的定义指向同一 JVM,C Cryostat 会将任何归档的记录存储在每个定义访问的同一存储位置。

您可以在 Red Hat OpenShift 命令行控制台(CLI)中设置以下环境变量来禁用 Cryostat 内置发现机制:

CRYOSTAT_DISABLE_BUILTIN_DISCOVERY=true

您还可以考虑保留 Cryostat 内置发现实现的设置,然后完成以下操作之一:

  • 创建一个将服务定位器附加到实施的程序。
  • 修改目标应用程序以将目标信息直接发送到实施。
注意

之前列出的操作超出了 配置高级 Cryostat 配置 文档的范围。

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.