第 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 创建基本配置”。
- 如需有关 API 健康监控的更多信息,请参阅 第 5.9 节 “Red Hat OpenStack Platform API 状态和容器化服务健康”。
- 有关 RHOSP 服务监控的更多信息,请参阅 第 5.8 节 “Red Hat OpenStack Platform 服务的资源使用”。
5.1.1. 配置 Grafana 来托管仪表板 复制链接链接已复制到粘贴板!
Grafana 不包含在默认的 Service Telemetry Framework (STF)部署中,因此您必须从 OperatorHub.io 部署 Grafana Operator。当您使用 Service Telemetry Operator 部署 Grafana 时,它会生成 Grafana 实例,以及本地 STF 部署的默认数据源配置。
流程
- 登录 Red Hat OpenShift Container Platform。
进入
service-telemetry
命名空间:oc project service-telemetry
$ oc project service-telemetry
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 部署 Grafana Operator:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 验证 Operator 是否已成功启动。在命令输出中,如果
PHASE
列的值为Succeeded
,Operator 可以成功启动:oc get csv --selector operators.coreos.com/grafana-operator.service-telemetry
$ 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 Copied! Toggle word wrap Toggle overflow 要启动 Grafana 实例,请创建或修改
ServiceTelemetry
对象。将graphing.enabled
和graphing.grafana.ingressEnabled
设置为true
:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 验证 Grafana 实例是否已部署:
oc get pod -l app=grafana
$ oc get pod -l app=grafana NAME READY STATUS RESTARTS AGE grafana-deployment-7fc7848b56-sbkhv 1/1 Running 0 1m
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 验证 Grafana 数据源是否已正确安装:
oc get grafanadatasources
$ oc get grafanadatasources NAME AGE default-datasources 20h
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 验证 Grafana 路由是否存在:
oc get route grafana-route
$ 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 Copied! Toggle word wrap Toggle overflow
5.1.2. 覆盖默认的 Grafana 容器镜像 复制链接链接已复制到粘贴板!
Service Telemetry Framework (STF)中的仪表板需要仅在 Grafana 版本 8.1.0 及更新的版本中可用的功能。默认情况下,Service Telemetry Operator 会安装兼容版本。您可以使用 graphing.grafana.baseImage
指定到镜像 registry 的镜像路径来覆盖基本 Grafana 镜像。
流程
确保已有正确的 Grafana 版本:
oc get pod -l "app=grafana" -ojsonpath='{.items[0].spec.containers[0].image}'
$ oc get pod -l "app=grafana" -ojsonpath='{.items[0].spec.containers[0].image}' docker.io/grafana/grafana:7.3.10
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 如果正在运行的镜像早于 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"}}}}'
$ oc patch stf/default --type merge -p '{"spec":{"graphing":{"grafana":{"baseImage":"docker.io/grafana/grafana:8.1.5"}}}}'
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 验证新的 Grafana pod 是否存在,且
STATUS
的值为Running
:oc get pod -l "app=grafana"
$ oc get pod -l "app=grafana" NAME READY STATUS RESTARTS AGE grafana-deployment-fb9799b58-j2hj2 1/1 Running 0 10s
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 验证新实例正在运行更新的镜像:
oc get pod -l "app=grafana" -ojsonpath='{.items[0].spec.containers[0].image}'
$ oc get pod -l "app=grafana" -ojsonpath='{.items[0].spec.containers[0].image}' docker.io/grafana/grafana:8.1.0
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
5.1.3. 导入仪表板 复制链接链接已复制到粘贴板!
Grafana Operator 可以通过创建 GrafanaDashboard
对象来导入和管理仪表板。您可以在 https://github.com/infrawatch/dashboards 查看示例仪表板。
流程
导入基础架构仪表板:
oc apply -f https://raw.githubusercontent.com/infrawatch/dashboards/master/deploy/stf-1.3/rhos-dashboard.yaml
$ 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 Copied! Toggle word wrap Toggle overflow 导入云仪表板:
警告对于云仪表板中的一些面板,您必须将 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
$ 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 Copied! Toggle word wrap Toggle overflow 导入云事件仪表板:
oc apply -f https://raw.githubusercontent.com/infrawatch/dashboards/master/deploy/stf-1.3/rhos-cloudevents-dashboard.yaml
$ 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 Copied! Toggle word wrap Toggle overflow 导入虚拟机仪表板:
oc apply -f https://raw.githubusercontent.com/infrawatch/dashboards/master/deploy/stf-1.3/virtual-machine-view.yaml
$ 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 Copied! Toggle word wrap Toggle overflow 导入 memcached 仪表板:
oc apply -f https://raw.githubusercontent.com/infrawatch/dashboards/master/deploy/stf-1.3/memcached-dashboard.yaml
$ 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 Copied! Toggle word wrap Toggle overflow 验证仪表板是否可用:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 检索 Grafana 路由地址:
oc get route grafana-route -ojsonpath='{.spec.host}'
$ oc get route grafana-route -ojsonpath='{.spec.host}' grafana-route-service-telemetry.apps.infra.watch
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 在 Web 浏览器中,进入到 https://<grafana_route_address>。使用您在上一步中获得的值替换 <grafana_route_address>。
- 要查看仪表板,请点击 Dashboards 和 管理。
5.1.4. 获取和设置 Grafana 登录凭证 复制链接链接已复制到粘贴板!
在启用 Grafana 时,服务 Telemetry Framework (STF)会设置默认登录凭证。您可以在 ServiceTelemetry
对象中覆盖凭证。
流程
- 登录 Red Hat OpenShift Container Platform。
进入
service-telemetry
命名空间:oc project service-telemetry
$ oc project service-telemetry
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 要获取默认用户名和密码,请描述 Grafana 对象:
oc describe grafana default
$ oc describe grafana default
Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
要通过 ServiceTelemetry 对象修改 Grafana 管理员用户名和密码的默认值,请使用
graphing.grafana.adminUser
和graphing.grafana.adminPassword
参数。