第 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 创建基本配置”。
- 有关 API 健康监控的更多信息,请参阅 第 5.8 节 “Red Hat OpenStack Platform API 状态和容器化服务健康状况”。
- 有关 RHOSP 服务监控的更多信息,请参阅 第 5.7 节 “Red Hat OpenStack Platform 服务的资源使用情况”。
- 虚拟机视图仪表板
- 使用虚拟机视图仪表板查看面板来监控虚拟机基础架构使用情况。从仪表板的左上角选择一个云和项目。如果要在此仪表板中启用事件注解,您必须启用事件存储。如需更多信息,请参阅 第 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 部署的默认数据源。
流程
- 登录到 Red Hat OpenShift Container Platform。
进入
service-telemetry
命名空间:oc project service-telemetry
$ oc project service-telemetry
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 使用 community-operators CatalogSource 订阅 Grafana Operator:
警告社区 Operator 是尚未被红帽审查或验证的 Operator。社区 Operator 应谨慎使用,因为其稳定性未知。红帽不支持社区 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.v4.10.1 Grafana Operator 4.10.1 grafana-operator.v4.10.0 Succeeded
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 要启动 Grafana 实例,请创建或修改
ServiceTelemetry
对象。将graphing.enabled
和graphing.grafana.ingressEnabled
设置为true
。另外,还可将graphing.grafana.baseImage
的值设置为要部署的 Grafana 工作负载容器镜像: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/rhos-dashboard.yaml
$ oc apply -f https://raw.githubusercontent.com/infrawatch/dashboards/master/deploy/stf-1/rhos-dashboard.yaml grafanadashboard.integreatly.org/rhos-dashboard-1 created
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 导入云仪表板:
警告在
stf-connectors.yaml
文件中,确保将 collectdvirt
插件参数hostname_format
的值设置为name uuid hostname
,否则云仪表板上的一些面板没有显示任何信息。有关virt
插件的更多信息,请参阅 collectd 插件。oc apply -f https://raw.githubusercontent.com/infrawatch/dashboards/master/deploy/stf-1/rhos-cloud-dashboard.yaml
$ 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
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 导入云事件仪表板:
oc apply -f https://raw.githubusercontent.com/infrawatch/dashboards/master/deploy/stf-1/rhos-cloudevents-dashboard.yaml
$ oc apply -f https://raw.githubusercontent.com/infrawatch/dashboards/master/deploy/stf-1/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/virtual-machine-view.yaml
$ 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
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 导入 memcached 仪表板:
oc apply -f https://raw.githubusercontent.com/infrawatch/dashboards/master/deploy/stf-1/memcached-dashboard.yaml
$ oc apply -f https://raw.githubusercontent.com/infrawatch/dashboards/master/deploy/stf-1/memcached-dashboard.yaml grafanadashboard.integreatly.org/memcached-dashboard-1 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 和 Manage。
5.1.4. 检索和设置 Grafana 登录凭证 复制链接链接已复制到粘贴板!
启用 Grafana 后,您可以使用 openshift 身份验证登录,或者 Grafana Operator 设置的默认用户名和密码。
您可以覆盖 ServiceTelemetry
对象中的凭证,使 Service Telemetry Framework (STF)为 Grafana 设置用户名和密码。
流程
- 登录到 Red Hat OpenShift Container Platform。
进入
service-telemetry
命名空间:oc project service-telemetry
$ oc project service-telemetry
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 从 STF 对象检索现有的用户名和密码:
oc get stf default -o jsonpath="{.spec.graphing.grafana['adminUser','adminPassword']}"
$ oc get stf default -o jsonpath="{.spec.graphing.grafana['adminUser','adminPassword']}"
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 要通过 ServiceTelemetry 对象修改 Grafana 管理员用户名和密码的默认值,请使用
graphing.grafana.adminUser
和graphing.grafana.adminPassword
参数。oc edit stf default
$ oc edit stf default
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 等待 grafana pod 使用新凭证重启
oc get po -l app=grafana -w
$ oc get po -l app=grafana -w
Copy to Clipboard Copied! Toggle word wrap Toggle overflow