第 5 章 使用服务 Telemetry 框架的操作功能


您可以使用以下操作功能为 Service Telemetry Framework (STF)提供额外的功能:

5.1. Service Telemetry Framework 中的仪表板

使用第三方应用程序 Grafana 来视觉化数据收集器为各个主机节点收集的系统级别指标。

有关配置数据收集器的更多信息,请参阅 第 4.1 节 “使用 director 为 Service Telemetry Framework 部署 Red Hat OpenStack Platform overcloud”

您可以使用仪表板来监控云:

基础架构仪表板
使用基础架构仪表板查看单一节点的指标。从仪表板的左上角选择一个节点。
Cloud 视图仪表板

使用云视图仪表板查看面板来监控服务资源使用情况、API 统计和云事件。您必须启用 API 健康监控和服务监控,以便为此仪表板提供数据。在 STF 基础配置中默认启用 API 健康监控。更多信息请参阅 第 4.1.2 节 “为 STF 创建基本配置”

虚拟机视图仪表板
使用虚拟机视图仪表板查看面板来监控虚拟机基础架构使用情况。从仪表板的左上角选择一个云和项目。如果要在此仪表板中启用事件注解,您必须启用事件存储。如需更多信息,请参阅 第 3.2 节 “在 Red Hat OpenShift Container Platform 中创建 ServiceTelemetry 对象”
Memcached 视图仪表板
使用 memcached 视图仪表板查看面板来监控连接、可用性、系统指标和缓存性能。从仪表板的左上角选择云。

5.1.1. 配置 Grafana 以托管仪表板

Grafana 不包含在默认的 Service Telemetry Framework (STF)部署中,因此您必须从 community-operators CatalogSource 部署 Grafana Operator。如果使用 Service Telemetry Operator 部署 Grafana,它会生成 Grafana 实例,并配置本地 STF 部署的默认数据源。

流程

  1. 登录到 Red Hat OpenShift Container Platform。
  2. 进入 service-telemetry 命名空间:

    Copy to Clipboard Toggle word wrap
    $ oc project service-telemetry
  3. 使用 community-operators CatalogSource 订阅 Grafana Operator:

    警告

    社区 Operator 是尚未被红帽审查或验证的 Operator。社区 Operator 应谨慎使用,因为其稳定性未知。红帽不支持社区 Operator。

    了解更多有关红帽的第三方软件支持政策

    Copy to Clipboard Toggle word wrap
    $ oc apply -f - <<EOF
    apiVersion: operators.coreos.com/v1alpha1
    kind: Subscription
    metadata:
      name: grafana-operator
      namespace: service-telemetry
    spec:
      channel: v4
      installPlanApproval: Automatic
      name: grafana-operator
      source: community-operators
      sourceNamespace: openshift-marketplace
    EOF
  4. 验证 Operator 是否已成功启动。在命令输出中,如果 PHASE 列的值为 Succeeded,Operator 可以成功启动:

    Copy to Clipboard Toggle word wrap
    $ oc get csv --selector operators.coreos.com/grafana-operator.service-telemetry
    
    NAME                       DISPLAY            VERSION   REPLACES                   PHASE
    grafana-operator.v4.10.1   Grafana Operator   4.10.1    grafana-operator.v4.10.0   Succeeded
  5. 要启动 Grafana 实例,请创建或修改 ServiceTelemetry 对象。将 graphing.enabledgraphing.grafana.ingressEnabled 设置为 true。另外,还可将 graphing.grafana.baseImage 的值设置为要部署的 Grafana 工作负载容器镜像:

    Copy to Clipboard Toggle word wrap
    $ oc edit stf default
    
    apiVersion: infra.watch/v1beta1
    kind: ServiceTelemetry
    ...
    spec:
      ...
      graphing:
        enabled: true
        grafana:
          ingressEnabled: true
          baseImage: 'registry.redhat.io/rhel8/grafana:7'
  6. 验证 Grafana 实例是否已部署:

    Copy to Clipboard Toggle word wrap
    $ oc get pod -l app=grafana
    
    NAME                                  READY   STATUS    RESTARTS   AGE
    grafana-deployment-7fc7848b56-sbkhv   1/1     Running   0          1m
  7. 验证 Grafana 数据源是否已正确安装:

    Copy to Clipboard Toggle word wrap
    $ oc get grafanadatasources
    
    NAME                    AGE
    default-datasources     20h
  8. 验证 Grafana 路由是否存在:

    Copy to Clipboard Toggle word wrap
    $ oc get route grafana-route
    
    NAME            HOST/PORT                                          PATH   SERVICES          PORT   TERMINATION   WILDCARD
    grafana-route   grafana-route-service-telemetry.apps.infra.watch          grafana-service   3000   edge          None

5.1.2. 覆盖默认 Grafana 容器镜像

Service Telemetry Framework (STF)中的仪表板需要只在 Grafana 版本 8.1.0 及之后的版本中可用的功能。默认情况下,Service Telemetry Operator 安装兼容版本。您可以通过指定带有 graphing.grafana.baseImage 的镜像 registry 的镜像路径来覆盖基本 Grafana 镜像。

流程

  1. 确保具有正确的 Grafana 版本:

    Copy to Clipboard Toggle word wrap
    $ oc get pod -l "app=grafana" -ojsonpath='{.items[0].spec.containers[0].image}'
    docker.io/grafana/grafana:7.3.10
  2. 如果正在运行的镜像早于 8.1.0,请修补 ServiceTelemetry 对象以更新镜像。Service Telemetry Operator 更新 Grafana 清单,用于重启 Grafana 部署:

    Copy to Clipboard Toggle word wrap
    $ oc patch stf/default --type merge -p '{"spec":{"graphing":{"grafana":{"baseImage":"docker.io/grafana/grafana:8.1.5"}}}}'
  3. 验证新 Grafana pod 是否存在,并且 STATUS 的值为 Running

    Copy to Clipboard Toggle word wrap
    $ oc get pod -l "app=grafana"
    NAME                                 READY     STATUS    RESTARTS   AGE
    grafana-deployment-fb9799b58-j2hj2   1/1       Running   0          10s
  4. 验证新实例是否正在运行更新的镜像:

    Copy to Clipboard Toggle word wrap
    $ oc get pod -l "app=grafana" -ojsonpath='{.items[0].spec.containers[0].image}'
    docker.io/grafana/grafana:8.1.0

5.1.3. 导入仪表板

Grafana Operator 可以通过创建 GrafanaDashboard 对象来导入和管理仪表板。您可以在 https://github.com/infrawatch/dashboards 中查看示例仪表板。

流程

  1. 导入基础架构仪表板:

    Copy to Clipboard Toggle word wrap
    $ oc apply -f https://raw.githubusercontent.com/infrawatch/dashboards/master/deploy/stf-1/rhos-dashboard.yaml
    
    grafanadashboard.integreatly.org/rhos-dashboard-1 created
  2. 导入云仪表板:

    警告

    stf-connectors.yaml 文件中,确保将 collectd virt 插件参数 hostname_format 的值设置为 name uuid hostname,否则云仪表板上的一些面板没有显示任何信息。有关 virt 插件的更多信息,请参阅 collectd 插件

    Copy to Clipboard Toggle word wrap
    $ oc apply -f https://raw.githubusercontent.com/infrawatch/dashboards/master/deploy/stf-1/rhos-cloud-dashboard.yaml
    
    grafanadashboard.integreatly.org/rhos-cloud-dashboard-1 created
  3. 导入云事件仪表板:

    Copy to Clipboard Toggle word wrap
    $ oc apply -f https://raw.githubusercontent.com/infrawatch/dashboards/master/deploy/stf-1/rhos-cloudevents-dashboard.yaml
    
    grafanadashboard.integreatly.org/rhos-cloudevents-dashboard created
  4. 导入虚拟机仪表板:

    Copy to Clipboard Toggle word wrap
    $ oc apply -f https://raw.githubusercontent.com/infrawatch/dashboards/master/deploy/stf-1/virtual-machine-view.yaml
    
    grafanadashboard.integreatly.org/virtual-machine-view-1 configured
  5. 导入 memcached 仪表板:

    Copy to Clipboard Toggle word wrap
    $ oc apply -f https://raw.githubusercontent.com/infrawatch/dashboards/master/deploy/stf-1/memcached-dashboard.yaml
    
    grafanadashboard.integreatly.org/memcached-dashboard-1 created
  6. 验证仪表板是否可用:

    Copy to Clipboard Toggle word wrap
    $ oc get grafanadashboards
    
    NAME                         AGE
    memcached-dashboard-1        7s
    rhos-cloud-dashboard-1       23s
    rhos-cloudevents-dashboard   18s
    rhos-dashboard-1             29s
    virtual-machine-view-1       13s
  7. 检索 Grafana 路由地址:

    Copy to Clipboard Toggle word wrap
    $ oc get route grafana-route -ojsonpath='{.spec.host}'
    
    grafana-route-service-telemetry.apps.infra.watch
  8. 在 Web 浏览器中,进入到 https://<grafana_route_address>。使用您在上一步中获得的值替换 <grafana_route_address>
  9. 要查看仪表板,请点 DashboardsManage

5.1.4. 检索和设置 Grafana 登录凭证

启用 Grafana 后,您可以使用 openshift 身份验证登录,或者 Grafana Operator 设置的默认用户名和密码。

您可以覆盖 ServiceTelemetry 对象中的凭证,使 Service Telemetry Framework (STF)为 Grafana 设置用户名和密码。

流程

  1. 登录到 Red Hat OpenShift Container Platform。
  2. 进入 service-telemetry 命名空间:

    Copy to Clipboard Toggle word wrap
    $ oc project service-telemetry
  3. 从 STF 对象检索现有的用户名和密码:

    Copy to Clipboard Toggle word wrap
    $ oc get stf default -o jsonpath="{.spec.graphing.grafana['adminUser','adminPassword']}"
  4. 要通过 ServiceTelemetry 对象修改 Grafana 管理员用户名和密码的默认值,请使用 graphing.grafana.adminUsergraphing.grafana.adminPassword 参数。

    Copy to Clipboard Toggle word wrap
    $ oc edit stf default
  5. 等待 grafana pod 使用新凭证重启

    Copy to Clipboard Toggle word wrap
    $ oc get po -l app=grafana -w
返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

Theme

© 2025 Red Hat, Inc.