3.5. 使用 Grafana 仪表板
使用 Grafana 仪表板查看 hub 集群和受管集群指标。Grafana 警报仪表板中显示的数据依赖于来自受管集群的 警报
指标。警报
指标不会影响受管集群将警报转发到 hub 集群上的 Red Hat Advanced Cluster Management 警报管理器。因此,指标和警报有不同的传播机制,并遵循单独的代码路径。
即使您在 Grafana 警报仪表板中看到数据,这不能保证受管集群警报成功转发到 Red Hat Advanced Cluster Management hub 集群警报管理器。如果指标从受管集群传播,您可以查看 Grafana 警报仪表板中显示的数据。
要使用 Grafana 仪表板来满足您的开发需要,请完成以下操作:
3.5.1. 设置 Grafana 开发人员实例
您可以通过创建一个 grafana-dev
实例来设计 Grafana 仪表板。确保使用最当前的 grafana-dev
实例。
完成以下步骤以设置 Grafana 开发人员实例:
-
克隆
open-cluster-management/multicluster-observability-operator/
存储库,以便您可以运行tools
文件夹中的脚本。 运行
setup-grafana-dev.sh
来设置 Grafana 实例。运行脚本时,会创建以下资源:secret/grafana-dev-config
、deployment.apps/grafana-dev
、service/grafana-dev
、ingress.extensions/grafana-dev
、persistentvolumeclaim/grafana-dev
:./setup-grafana-dev.sh --deploy secret/grafana-dev-config created deployment.apps/grafana-dev created service/grafana-dev created serviceaccount/grafana-dev created clusterrolebinding.rbac.authorization.k8s.io/open-cluster-management:grafana-crb-dev created route.route.openshift.io/grafana-dev created persistentvolumeclaim/grafana-dev created oauthclient.oauth.openshift.io/grafana-proxy-client-dev created deployment.apps/grafana-dev patched service/grafana-dev patched route.route.openshift.io/grafana-dev patched oauthclient.oauth.openshift.io/grafana-proxy-client-dev patched clusterrolebinding.rbac.authorization.k8s.io/open-cluster-management:grafana-crb-dev patched
使用
switch-to-grafana-admin.sh
脚本将用户角色切换到 Grafana 管理员。-
选择 Grafana URL
https:grafana-dev-open-cluster-management-observability.{OPENSHIFT_INGRESS_DOMAIN}
,并登录。 然后,运行以下命令来添加切换的用户作为 Grafana 管理员。例如,在使用
kubeadmin
登录后,运行以下命令:./switch-to-grafana-admin.sh kube:admin User <kube:admin> switched to be grafana admin
-
选择 Grafana URL
Grafana 开发人员实例已设置。
3.5.1.1. 验证 Grafana 版本
使用命令行界面(CLI)或从 Grafana 用户界面验证 Grafana 版本。
登录 hub 集群后,访问 observabilty-grafana
pod 终端。运行以下命令:
grafana-cli
当前在集群环境中部署的 Grafana 版本会被显示。
另外,您可以在 Grafana 仪表板中进入到 Manage 选项卡。滚动到页面的末尾,其中列出了版本。
3.5.2. 设计您的 Grafana 仪表板
设置 Grafana 实例后,您可以设计仪表板。完成以下步骤以刷新 Grafana 控制台并设计您的仪表板:
- 在 Grafana 控制台中,通过在导航面板中选择 Create 图标来创建仪表板。选择 Dashboard,然后单击 Add new panel。
- 在 New Dashboard/Edit Panel 视图中导航到 Query 选项卡。
-
从数据源选择器中选择
Observatorium
并输入 PromQL 查询来配置查询。 - 在 Grafana 仪表板标头中点击仪表板标头中的 Save 图标。
- 添加一个描述性名称并点 Save。
3.5.2.1. 使用 ConfigMap 设计 Grafana 仪表板
使用 ConfigMap 设计 Grafana 仪表板。您可以使用 generate-dashboard-configmap-yaml.sh
脚本在本地生成仪表板 ConfigMap,并在本地保存 ConfigMap:
./generate-dashboard-configmap-yaml.sh "Your Dashboard Name" Save dashboard <your-dashboard-name> to ./your-dashboard-name.yaml
如果您没有运行上述脚本的权限,请完成以下步骤:
- 选择一个仪表板并点 Dashboard settings 图标。
- 在导航框中,点 JSON Model 图标。
-
复制仪表板 JSON 数据,并将它粘贴到
data
部分。 修改
name
并替换$your-dashboard-name
。在data.$your-dashboard-name.json.$$your_dashboard_json
的uid
项中输入一个 UUID(universally unique identifier)。您可以使用 uuidegen 等程序来创建 UUID。ConfigMap 可能类似以下文件:kind: ConfigMap apiVersion: v1 metadata: name: $your-dashboard-name namespace: open-cluster-management-observability labels: grafana-custom-dashboard: "true" data: $your-dashboard-name.json: |- $your_dashboard_json
备注:
如果在
grafana-dev
实例中创建了仪表板,您可以使用仪表板的名称,并在脚本中将其作为参数传递。例如,在grafana-dev
实例中创建一个名为 Demo Dashboard 的仪表板。通过 CLI,您可以运行以下脚本:./generate-dashboard-configmap-yaml.sh "Demo Dashboard"
运行脚本后,您可能会收到以下信息:
Save dashboard <demo-dashboard> to ./demo-dashboard.yaml
如果您的仪表板不在 General 文件夹中,您可以在此 ConfigMap 的
annotations
部分中指定文件夹名称:annotations: observability.open-cluster-management.io/dashboard-folder: Custom
完成 ConfigMap 的更新后,您可以安装它,将仪表板导入到 Grafana 实例。
通过 CLI 或 OpenShift Container Platform 控制台应用 YAML 文件来验证是否已创建 YAML 文件。创建 open-cluster-management-observability
命名空间中的 ConfigMap。通过 CLI 运行以下命令:
oc apply -f demo-dashboard.yaml
在 OpenShift Container Platform 控制台中,使用 demo-dashboard.yaml
文件创建 ConfigMap。控制面板位于 Custom 文件夹中。
3.5.3. 卸载 Grafana 开发者实例
卸载实例时,相关资源也会被删除。运行以下命令:
./setup-grafana-dev.sh --clean secret "grafana-dev-config" deleted deployment.apps "grafana-dev" deleted serviceaccount "grafana-dev" deleted route.route.openshift.io "grafana-dev" deleted persistentvolumeclaim "grafana-dev" deleted oauthclient.oauth.openshift.io "grafana-proxy-client-dev" deleted clusterrolebinding.rbac.authorization.k8s.io "open-cluster-management:grafana-crb-dev" deleted
3.5.4. 其他资源
- 请参阅 将指标导出到外部端点。
- 有关创建 UUID 的说明,请参阅 uuidegen。
- 如需了解更多详细信息,请参阅在 Grafana 中使用受管集群标签。
- 使用 Grafana 仪表板 返回到页面的开头。
- 有关主题,请参阅 Observing 环境简介。