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 开发人员实例:

  1. 克隆 open-cluster-management/multicluster-observability-operator/ 存储库,以便您可以运行 tools 文件夹中的脚本。
  2. 运行 setup-grafana-dev.sh 来设置 Grafana 实例。运行脚本时,会创建以下资源: secret/grafana-dev-configdeployment.apps/grafana-devservice/grafana-devingress.extensions/grafana-devpersistentvolumeclaim/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
  3. 使用 switch-to-grafana-admin.sh 脚本将用户角色切换到 Grafana 管理员。

    1. 选择 Grafana URL https:grafana-dev-open-cluster-management-observability.{OPENSHIFT_INGRESS_DOMAIN},并登录。
    2. 然后,运行以下命令来添加切换的用户作为 Grafana 管理员。例如,在使用 kubeadmin 登录后,运行以下命令:

      ./switch-to-grafana-admin.sh kube:admin
      User <kube:admin> switched to be grafana admin

Grafana 开发人员实例已设置。

3.5.1.1. 验证 Grafana 版本

使用命令行界面(CLI)或从 Grafana 用户界面验证 Grafana 版本。

登录 hub 集群后,访问 observabilty-grafana pod 终端。运行以下命令:

grafana-cli

当前在集群环境中部署的 Grafana 版本会被显示。

另外,您可以在 Grafana 仪表板中进入到 Manage 选项卡。滚动到页面的末尾,其中列出了版本。

3.5.2. 设计您的 Grafana 仪表板

设置 Grafana 实例后,您可以设计仪表板。完成以下步骤以刷新 Grafana 控制台并设计您的仪表板:

  1. 在 Grafana 控制台中,通过在导航面板中选择 Create 图标来创建仪表板。选择 Dashboard,然后单击 Add new panel
  2. New Dashboard/Edit Panel 视图中导航到 Query 选项卡。
  3. 从数据源选择器中选择 Observatorium 并输入 PromQL 查询来配置查询。
  4. 在 Grafana 仪表板标头中点击仪表板标头中的 Save 图标。
  5. 添加一个描述性名称并点 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

如果您没有运行上述脚本的权限,请完成以下步骤:

  1. 选择一个仪表板并点 Dashboard settings 图标。
  2. 在导航框中,点 JSON Model 图标。
  3. 复制仪表板 JSON 数据,并将它粘贴到 data 部分。
  4. 修改 name 并替换 $your-dashboard-name。在 data.$your-dashboard-name.json.$$your_dashboard_jsonuid 项中输入一个 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. 其他资源

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

© 2024 Red Hat, Inc.