第 7 章 Red Hat Developer Hub 与 Amazon Web Services (AWS)集成


您可以将 Red Hat Developer Hub 应用程序与 Amazon Web Services (AWS)集成,这有助于简化 AWS 生态系统中的工作流。将 Developer Hub 资源与 AWS 集成,可访问全面的工具、服务和解决方案。

与 AWS 集成需要使用以下方法之一在 Elastic Kubernetes Service (EKS)中部署 Developer Hub:

  • Helm chart
  • Red Hat Developer Hub Operator

7.1. 在 Red Hat Developer Hub 中使用 Amazon Web Services (AWS)监控和登录

在 Red Hat Developer Hub 中,通过 Amazon Web Services (AWS)集成促进监控和日志记录。借助 Amazon CloudWatch 用于实时监控和 Amazon Prometheus 等功能,您可以确保 AWS 基础架构上托管的 Developer Hub 应用程序的可靠性、可扩展性和合规性。

通过此集成,您可以监督、诊断和优化红帽生态系统中的应用程序,从而改进的开发和操作过程。

7.1.1. 使用 Amazon Prometheus 监控

Red Hat Developer Hub 提供与正在运行的应用程序相关的 Prometheus 指标。有关为 EKS 集群启用或部署 Prometheus 的更多信息,请参阅 Amazon 文档中的 Prometheus 指标

要使用 Amazon Prometheus 监控 Developer Hub,您需要为 Prometheus 工作区创建一个 Amazon 受管服务,并配置 Developer Hub Prometheus 指标的 ingestion。如需更多信息,请参阅 Amazon 文档中的创建工作区Ingest Prometheus metrics 部分。

将 Prometheus 指标放入创建的工作区后,您可以将指标提取配置为根据特定 pod 注解从 pod 中提取数据。

7.1.1.1. 为监控配置注解

您可以在 Helm 部署和 Operator 支持的部署中配置注解来监控。

Helm 部署

要注解用于监控的 backstage pod,请更新您的 values.yaml 文件,如下所示:

upstream:
  backstage:
    # --- TRUNCATED ---
    podAnnotations:
      prometheus.io/scrape: 'true'
      prometheus.io/path: '/metrics'
      prometheus.io/port: '7007'
      prometheus.io/scheme: 'http'
Copy to Clipboard
Operator 支持的部署

流程

  1. 作为 Operator 的管理员,编辑默认配置以添加 Prometheus 注解,如下所示:

    # Update OPERATOR_NS accordingly
    OPERATOR_NS=rhdh-operator
    kubectl edit configmap backstage-default-config -n "${OPERATOR_NS}"
    Copy to Clipboard
  2. 在 ConfigMap 中找到 deployment.yaml 键,并将注解添加到 spec.template.metadata.annotations 字段中,如下所示:

    deployment.yaml: |-
      apiVersion: apps/v1
      kind: Deployment
      # --- truncated ---
      spec:
        template:
          # --- truncated ---
          metadata:
            labels:
             rhdh.redhat.com/app:  # placeholder for 'backstage-<cr-name>'
            # --- truncated ---
            annotations:
              prometheus.io/scrape: 'true'
              prometheus.io/path: '/metrics'
              prometheus.io/port: '7007'
              prometheus.io/scheme: 'http'
      # --- truncated ---
    Copy to Clipboard
  3. 保存您的更改。

验证

验证提取是否正常工作:

  1. 使用 kubectl 将 Prometheus 控制台转发到本地机器,如下所示:

    kubectl --namespace=prometheus port-forward deploy/prometheus-server 9090
    Copy to Clipboard
  2. 打开 Web 浏览器,再进入到 http://localhost:9090 以访问 Prometheus 控制台。
  3. 监控相关指标,如 process_cpu_user_seconds_total

7.1.2. 使用 Amazon CloudWatch 日志进行日志记录

Red Hat Developer Hub 中的日志记录依赖于 winston 库。默认情况下,debug 级别的日志不会被记录。要激活调试日志,您必须在 Red Hat Developer Hub 实例中将环境变量 LOG_LEVEL 设置为 debug。

7.1.2.1. 配置应用程序日志级别

您可以在 Helm 部署和 Operator 支持的部署中配置应用程序日志级别。

Helm 部署

要更新日志记录级别,请将环境变量 LOG_LEVEL 添加到 Helm Chart 的 values.yaml 文件中:

upstream:
  backstage:
    # --- Truncated ---
    extraEnvVars:
      - name: LOG_LEVEL
        value: debug
Copy to Clipboard
Operator 支持的部署

您可以通过在自定义资源中包含环境变量 LOG_LEVEL 来修改日志记录级别,如下所示:

spec:
  # Other fields omitted
  application:
    extraEnvs:
      envs:
        - name: LOG_LEVEL
          value: debug
Copy to Clipboard

7.1.2.2. 从 Amazon CloudWatch 检索日志

CloudWatch Container Insights 用于捕获 Amazon EKS 的日志和指标。如需更多信息,请参阅 Amazon EKS 文档的日志记录。

要捕获日志和指标,请 在集群中安装 Amazon CloudWatch Observability EKS 附加组件。在 Container Insights 设置后,您可以使用 Logs Insights 或 Live Tail 视图访问容器日志。

CloudWatch 使用以下方法命名日志组,其中整合了所有容器日志:

/aws/containerinsights/<ClusterName>/application

以下是从 Developer Hub 实例检索日志的示例查询:

fields @timestamp, @message, kubernetes.container_name
| filter kubernetes.container_name in ["install-dynamic-plugins", "backstage-backend"]
Copy to Clipboard
返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

Theme

© 2025 Red Hat