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


您可以使用以下操作功能为服务遥测框架(STF)提供额外功能:

5.1. Service Telemetry Framework 中的仪表板

使用第三方应用程序 Grafana,视觉化 collectd 和 Ceilometer 为每个单独主机节点收集的系统级别指标。

有关配置 collectd 的详情,请参考 第 4.1 节 “为服务 Telemetry Framework 部署 Red Hat OpenStack Platform overcloud”

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

基础架构仪表板
使用基础架构仪表板查看单个节点的指标。从控制面板的左上角选择一个节点。
Cloud view dashboard

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

5.1.1. 配置 Grafana 来托管仪表板

Grafana 不包含在默认的 Service Telemetry Framework (STF)部署中,因此您必须从 OperatorHub.io 部署 Grafana Operator。当您使用 Service Telemetry Operator 部署 Grafana 时,它会生成 Grafana 实例,以及本地 STF 部署的默认数据源配置。

流程

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

    $ oc project service-telemetry
    Copy to Clipboard Toggle word wrap
  3. 部署 Grafana Operator:

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

    $ oc get csv --selector operators.coreos.com/grafana-operator.service-telemetry
    
    NAME                       DISPLAY            VERSION   REPLACES                   PHASE
    grafana-operator.v3.10.3   Grafana Operator   3.10.3    grafana-operator.v3.10.2   Succeeded
    Copy to Clipboard Toggle word wrap
  5. 要启动 Grafana 实例,请创建或修改 ServiceTelemetry 对象。将 graphing.enabledgraphing.grafana.ingressEnabled 设置为 true

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

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

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

    $ 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
    Copy to Clipboard Toggle word wrap

5.1.2. 覆盖默认的 Grafana 容器镜像

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

流程

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

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

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

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

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

5.1.3. 导入仪表板

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

流程

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

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

    警告

    对于云仪表板中的一些面板,您必须将 collectd virt 插件参数 hostname_format 的值设置为 stf-connectors.yaml 文件中的 uuid 主机名。如果您没有配置此参数,受影响的仪表板将保持空状态。有关 virt 插件的更多信息,请参阅 collectd 插件

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

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

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

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

    $ oc get grafanadashboards
    
    NAME                   AGE
    memcached-dashboard-1.3      115s
    rhos-cloud-dashboard-1.3     2m12s
    rhos-cloudevents-dashboard   2m6s
    rhos-dashboard-1.3           2m17s
    virtual-machine-view-1.3     2m
    Copy to Clipboard Toggle word wrap
  7. 检索 Grafana 路由地址:

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

5.1.4. 获取和设置 Grafana 登录凭证

在启用 Grafana 时,服务 Telemetry Framework (STF)会设置默认登录凭证。您可以在 ServiceTelemetry 对象中覆盖凭证。

流程

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

    $ oc project service-telemetry
    Copy to Clipboard Toggle word wrap
  3. 要获取默认用户名和密码,请描述 Grafana 对象:

    $ oc describe grafana default
    Copy to Clipboard Toggle word wrap
  4. 要通过 ServiceTelemetry 对象修改 Grafana 管理员用户名和密码的默认值,请使用 graphing.grafana.adminUsergraphing.grafana.adminPassword 参数。
返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

Theme

© 2025 Red Hat