1.2. 红帽构建的 OpenTelemetry 3.0


红帽构建的 OpenTelemetry 3.0 基于 OpenTelemetry 0.89.0。

1.2.1. 新功能及功能增强

这个版本引进了以下改进:

  • OpenShift distributed tracing data collection Operator 被重命名为 红帽构建的OpenTelemetry Operator
  • 支持 ARM 架构。
  • 支持指标集合的 Prometheus 接收器。
  • 支持 Kafka 接收器和导出器,将 trace 和 metrics 发送到 Kafka。
  • 支持集群范围的代理环境。
  • 如果启用了 Prometheus exporter,Red Hat build of OpenTelemetry Operator 会创建 Prometheus ServiceMonitor 自定义资源。
  • Operator 启用 Instrumentation 自定义资源,允许注入上游 OpenTelemetry 自动检测库。

1.2.2. 删除通知

  • 在红帽构建的 OpenTelemetry 3.0 中,Jaeger exporter 已被删除。程序错误修复和支持仅在 2.9 生命周期结束时提供。作为将数据发送到 Jaeger 收集器的 Jaeger exporter 的替代选择,您可以使用 OTLP exporter。

1.2.3. 程序错误修复

在这个版本中引进了以下程序错误修复:

  • 修复了在使用 oc adm catalog mirror CLI 命令时对断开连接的环境的支持。

1.2.4. 已知问题

因此,因为一个程序错误(TRACING-3761),红帽构建的 OpenTelemetry Operator 的集群监控会被禁用。这个程序错误可防止集群监控因为集群监控和服务监控对象缺少标签 openshift.io/cluster-monitoring=true,所以从红帽构建的 OpenTelemetry Operator 中提取指标。

临时解决方案

您可以启用集群监控,如下所示:

  1. 在 Operator 命名空间中添加以下标签:oc label namespace openshift-opentelemetry-operator openshift.io/cluster-monitoring=true
  2. 创建服务监控器、角色和角色绑定:

    apiVersion: monitoring.coreos.com/v1
    kind: ServiceMonitor
    metadata:
      name: opentelemetry-operator-controller-manager-metrics-service
      namespace: openshift-opentelemetry-operator
    spec:
      endpoints:
      - bearerTokenFile: /var/run/secrets/kubernetes.io/serviceaccount/token
        path: /metrics
        port: https
        scheme: https
        tlsConfig:
          insecureSkipVerify: true
      selector:
        matchLabels:
          app.kubernetes.io/name: opentelemetry-operator
          control-plane: controller-manager
    ---
    apiVersion: rbac.authorization.k8s.io/v1
    kind: Role
    metadata:
      name: otel-operator-prometheus
      namespace: openshift-opentelemetry-operator
      annotations:
        include.release.openshift.io/self-managed-high-availability: "true"
        include.release.openshift.io/single-node-developer: "true"
    rules:
    - apiGroups:
      - ""
      resources:
      - services
      - endpoints
      - pods
      verbs:
      - get
      - list
      - watch
    ---
    apiVersion: rbac.authorization.k8s.io/v1
    kind: RoleBinding
    metadata:
      name: otel-operator-prometheus
      namespace: openshift-opentelemetry-operator
      annotations:
        include.release.openshift.io/self-managed-high-availability: "true"
        include.release.openshift.io/single-node-developer: "true"
    roleRef:
      apiGroup: rbac.authorization.k8s.io
      kind: Role
      name: otel-operator-prometheus
    subjects:
    - kind: ServiceAccount
      name: prometheus-k8s
      namespace: openshift-monitoring
Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

© 2024 Red Hat, Inc.