第 8 章 使用 Jolokia 为 HawtIO 在线设置 Quarkus 应用程序


本节论述了通过 HawtIO 启用 Quarkus 应用程序的监控。它从设置简单示例应用程序中的第一个原则开始。但是,如果已实施了 Quarkus 应用程序,则跳至Example Quarkus Application "上启用 Jolokia Java-Agent

为方便起见,已实施并发布了一个基于本文档的示例 项目。只需克隆其父存储库并跳至"部署 HawtIO-Enabled Quarkus 应用"到 OpenShift"。

Hawtio 在线组件的解释

  • 任何来自用户或 Hawtio Next 的交互都与 HTTP 协议与 Nginx web 服务器通信
  • Nginx web 服务器是面向外面的接口,对于外部消费者唯一可见的子组件
  • 发出请求时,Nginx web 服务器被传递给内部网关组件,该组件提供两个不同的目的:

    • master-Guard Agent

      • 定向到目标 Master Cluster API Server (OpenShift)的任何请求都必须通过此组件进行检查,以确保请求的端点 URL 已批准。未批准的 URL (例如,对 secret 或 configmap 的请求)将被拒绝;
    • Jolokia Agent

      • 由于 pod 驻留在 Master 集群中,因此最终对 pod 的 Jolokia 信息的请求也必须以安全的方式进行保护和处理。
      • 此代理负责将请求从客户端转换为正确的表单,以在内部传输到目标 pod,并将响应传递回客户端。

8.1. 设置 Quarkus 应用程序示例

  1. 对于新的 Quarkus 应用程序,maven quarkus quick-start 可用,例如:

    mvn com.redhat.quarkus.platform:quarkus-maven-plugin:<quarkus.platform.version>:create\
    -DprojectGroupId=org.hawtio \
    -DprojectArtifactId=quarkus-helloworld \
    -Dextensions='openshift,camel-quarkus-quartz'
    Copy to Clipboard
    注意

    使用 Camel Quarkus 官方文档中的最新的 quarkus.platform.version

    1. 使用 quarkus-maven-plugin 生成项目构建
    2. 将项目 maven groupId 设置为 org.hawtio,并根据情况进行自定义
    3. 将项目 maven artifactId 设置为 quarkus-helloworld,并根据情况自定义
    4. 使用以下 Quarkus 扩展:

      1. OpenShift :启用 maven 以部署到本地 OpenShift 集群;
      2. camel-quarkus-quartz :启用 Camel 扩展 quartz 以便在示例 Quarkus 应用程序中使用
    5. 执行 quick-start 为 Quarkus 项目创建构建,然后允许对单个应用程序进行进一步自定义。
  2. 要构建应用并将其部署到 OpenShift,应在 src/main/resources/application.properties 文件中指定以下属性( 请参阅相关文档)。

      # Set the Docker build strategy
      quarkus.openshift.build-strategy=docker
    
      # Expose the service to create an OpenShift Container Platform route
      quarkus.openshift.route.expose=true
    Copy to Clipboard
返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

Theme

© 2025 Red Hat