1.6. 设计您的 Grafana 仪表板
您可以通过创建一个 grafana-dev 实例来设计 Grafana 仪表板。
1.6.1. 设置 Grafana 开发人员实例 复制链接链接已复制到粘贴板!
首先,克隆 stolostron/multicluster-observability-operator/ 存储库,以便您可以运行 tools 文件夹中的脚本。确保使用最当前的 grafana-dev 实例。
完成以下步骤以设置 Grafana 开发人员实例:
运行
setup-grafana-dev.sh来设置 Grafana 实例。运行脚本时,会创建以下资源:secret/grafana-dev-config、deployment.apps/grafana-dev、service/grafana-dev、ingress.extensions/grafana-dev、persistentvolumeclaim/grafana-dev:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 使用
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
./switch-to-grafana-admin.sh kube:admin User <kube:admin> switched to be grafana adminCopy to Clipboard Copied! Toggle word wrap Toggle overflow
-
选择 Grafana URL,
Grafana 开发人员实例已设置。
1.6.2. 设计您的 Grafana 仪表板 复制链接链接已复制到粘贴板!
设置 Grafana 实例后,您可以设计仪表板。完成以下步骤以刷新 Grafana 控制台并设计您的仪表板:
- 在 Grafana 控制台中,通过在导航面板中选择 Create 图标来创建仪表板。选择 Dashboard,然后单击 Add new panel。
- 在 New Dashboard/Edit Panel 视图中导航到 Query 选项卡。
-
从数据源选择器中选择
Observatorium并输入 PromQL 查询来配置查询。 - 在 Grafana 仪表板标头中点击仪表板标头中的 Save 图标。
- 添加一个描述性名称并点 Save。
1.6.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
./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 可能类似以下文件:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 备注:
如果在
grafana-dev实例中创建了仪表板,您可以使用仪表板的名称,并在脚本中将其作为参数传递。例如,在grafana-dev实例中创建一个名为 Demo Dashboard 的仪表板。通过 CLI,您可以运行以下脚本:./generate-dashboard-configmap-yaml.sh "Demo Dashboard"
./generate-dashboard-configmap-yaml.sh "Demo Dashboard"Copy to Clipboard Copied! Toggle word wrap Toggle overflow 运行脚本后,您可能会收到以下信息:
Save dashboard <demo-dashboard> to ./demo-dashboard.yaml
Save dashboard <demo-dashboard> to ./demo-dashboard.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow 如果您的仪表板不在 General 文件夹中,您可以在此 ConfigMap 的
annotations部分中指定文件夹名称:annotations: observability.open-cluster-management.io/dashboard-folder: Custom
annotations: observability.open-cluster-management.io/dashboard-folder: CustomCopy to Clipboard Copied! Toggle word wrap Toggle overflow 完成 ConfigMap 的更新后,您可以安装它,将仪表板导入到 Grafana 实例。
通过 CLI 或 OpenShift Container Platform 控制台应用 YAML 文件来验证是否已创建 YAML 文件。创建 open-cluster-management-observability 命名空间中的 ConfigMap。通过 CLI 运行以下命令:
oc apply -f demo-dashboard.yaml
oc apply -f demo-dashboard.yaml
在 OpenShift Container Platform 控制台中,使用 demo-dashboard.yaml 文件创建 ConfigMap。控制面板位于 Custom 文件夹中。
1.6.3. 在 Grafana 中使用受管集群标签 复制链接链接已复制到粘贴板!
当在 hub 集群中启用可观察性时,observability-managed-cluster-label-allowlist ConfigMap 会在 open-cluster-management-observability 命名空间中创建。ConfigMap 包含由 observabilty-rbac-query-proxy pod 维护的受管集群标签列表,用于在 ACM - Cluster Overview Grafana 仪表板中填充要过滤的标签名称列表。默认情况下,可观察性会忽略 observability-managed-cluster-label-allowlist ConfigMap 中的标签子集。
当集群导入到受管集群团队或修改时,observability-rbac-query-proxy pod 会监视对受管集群标签的任何更改,并自动更新 observability-managed-cluster-label-allowlist ConfigMap 以反映更改。ConfigMap 仅包含唯一的标签名称,这些名称包含在 ignore_labels 或 labels 列表中。您的 observability-managed-cluster-label-allowlist ConfigMap 可能类似以下 YAML 文件:
启用的标签会在 ACM - Clusters Overview Grafana 仪表板上的下拉过滤器中显示。值来自 acm_managed_cluster_labels 指标,具体取决于所选 label 键值。
ConfigMap 的 ignore_labels 键列表中列出的任何标签都会从 ACM - Clusters Overview Grafana 仪表板上的下拉过滤器中删除。
1.6.3.1. 添加受管集群标签 复制链接链接已复制到粘贴板!
当您向 observability-managed-cluster-label-allowlist ConfigMap 中添加受管集群标签时,标签将作为 Grafana 中的过滤器选项提供。为 hub 集群或与受管集群团队关联的受管集群对象添加唯一标签。例如,如果您将标签 department=finance 添加到受管集群,则 ConfigMap 会被更新,并可能类似以下更改:
1.6.3.2. 启用受管集群标签 复制链接链接已复制到粘贴板!
通过从 observability-managed-cluster-label-allowlist ConfigMap 中的 ignore_labels 列表中删除标签来启用已禁用的受管集群标签。
例如,启用 local-cluster 和 name 标签。您的 observability-managed-cluster-label-allowlist ConfigMap 可能类似以下内容:
ConfigMap 在 30 秒后重新同步,以确保更新了集群标签。更新 ConfigMap 后,检查 open-cluster-management-observability 命名空间中的 observability-rbac-query-proxy pod 日志,以验证列出标签的位置。pod 日志中可能会显示以下信息:
enabled managedcluster labels: <label>
enabled managedcluster labels: <label>
在 Grafana 仪表板中,验证标签是否在 Label 下拉菜单中选择。
1.6.3.3. 禁用受管集群标签 复制链接链接已复制到粘贴板!
从 Label 下拉菜单过滤器中列出的受管集群标签排除受管集群标签。将标签名称添加到 ignore_labels 列表中。例如,如果您将 local-cluster 和 name 重新添加到 ignore_labels 列表中,您的 YAML 可能类似以下文件:
检查 open-cluster-management-observability 命名空间中的 observability-rbac-query-proxy pod 日志,以验证列出标签的位置。pod 日志中可能会显示以下信息:
disabled managedcluster label: <label>
disabled managedcluster label: <label>
1.6.4. 卸载 Grafana 开发者实例 复制链接链接已复制到粘贴板!
卸载实例时,相关资源也会被删除。运行以下命令:
返回到 Observing 环境简介。