借助 Grafana 信息中心,您可以直观呈现 Google Distributed Cloud (GDC) 网闸隔离配置中的日志和指标。这些信息中心通过可自定义的面板提供系统运行状况和性能的动态视图。
信息中心可动态直观地呈现系统性能。它由一个或多个可自定义的面板组成,每个面板都配置为查询和显示 GDC 组件中的特定指标。通过这些面板,您可以执行以下操作:
- 通过各种图表类型直观呈现指标。
- 定义提醒阈值,以便根据指标值触发通知。
- 自定义显示属性,例如标签、单位和时间范围。
- 设置一致的时间分辨率,以便进行准确比较。
通过有效使用 Grafana 信息中心,您可以深入了解 GDC 环境的性能和运行状况。
准备工作
如需管理 Dashboard 和 ConfigMap 自定义资源,您必须拥有必要的权限。
申请 IAM 组织角色
请与您的 IAM 组织管理员联系,请求获得以下角色,以便在整个组织中使用信息中心:
- Dashboard PA Creator (
dashboard-pa-creator):创建自定义信息中心。 - Dashboard PA Editor (
dashboard-pa-editor):修改或删除自定义信息中心。 - Dashboard PA Viewer (
dashboard-pa-viewer):查看自定义信息中心。
申请 IAM 项目角色
请与您的 IAM 项目管理员联系,请求获取以下角色,以便在项目中使用信息中心和配置:
- Dashboard Editor (
dashboard-editor):在项目命名空间内创建、修改和删除自定义信息中心。 - Dashboard Viewer (
dashboard-viewer):查看项目命名空间中的自定义信息中心。 - ConfigMap Editor (
observabilitypipeline-configmap-editor):在项目命名空间内创建和修改ConfigMap。
准备环境
获得相应角色后,请在创建信息中心之前按照以下步骤操作:
- 从工作负载中收集指标。
将 kubeconfig 文件的路径设置为环境变量:
export KUBECONFIG=KUBECONFIG_PATH将
KUBECONFIG_PATH替换为要在其中创建信息中心的 Management API 服务器的 kubeconfig 文件的路径。
确定 Grafana 端点
以下网址是项目的 Grafana 实例的端点:
https://GDC_URL/PROJECT_NAMESPACE/grafana
替换以下内容:
GDC_URL:GDC 中组织的网址。PROJECT_NAMESPACE:您的项目命名空间。
例如,org-1 组织中 platform-obs 项目的 Grafana 端点为 https://org-1/platform-obs/grafana。
创建自定义信息中心
请按照以下步骤创建 Grafana 信息中心并自定义设置:
- 打开 Grafana 端点以显示界面。
- 在导航菜单中,点击 添加。
- 在下拉菜单中,点击信息中心。Grafana 会创建一个空信息中心。
在空白信息中心内,添加所需的所有面板。
在每个面板的数据源菜单中,选择面板所需的数据源,包括指标 (
prometheus)、审核日志 (auditloki) 和操作日志 (oploki)。对于多可用区 Universe,Grafana 具有可用区标签的数据源,您可以使用这些数据源通过多个可用区的指标和日志创建信息中心可视化。这些数据源的命名格式为
DATA_SOURCE-ZONE_ID,其中:DATA_SOURCE可采用以下值之一:- Prometheus(
prometheus或metrics)以显示指标。 - 审核日志 (
auditloki),以显示审核日志。 - 运维日志 (
oploki),用于显示运维日志。
- Prometheus(
ZONE_ID是您要在信息中心内显示其数据的可用区的 ID。
此外,如需为跨可用区资源创建可视化信息中心,数据源名称为
--Mixed--。借助此数据源,您可以为每个可用区添加多个查询,并在单个信息中心内实现跨可用区数据可视化。您可以使用此功能在多个可用区之间比较单个指标或日志查询的行为。自定义详细信息并修改面板,以提供查询或进行其他更新。
在菜单栏中,点击 信息中心设置以打开设置页面。
从导航菜单中选择 JSON 模型。
复制信息中心的 JSON 模型,并将其粘贴到纯文本文件中,以供日后使用。
创建一个 ConfigMap 对象
请按照以下步骤创建包含信息中心 JSON 模型的 ConfigMap 对象:
- 打开一个终端窗口。
创建一个
ConfigMap对象。在ConfigMap对象的data部分中,粘贴您之前复制的 JSON 模型:apiVersion: v1 kind: ConfigMap metadata: namespace: PROJECT_NAMESPACE name: CONFIGMAP_NAME data: JSON_FILE_NAME.json: | { JSON_MODEL }替换以下内容:
PROJECT_NAMESPACE:您的项目命名空间。CONFIGMAP_NAME:您要为ConfigMap对象指定的名称。JSON_FILE_NAME:您要为信息中心的 JSON 模型文件指定的名称。JSON_MODEL:自定义信息中心的 JSON 模型。
如需查看此对象必须采用的格式示例,请参阅
ConfigMap示例。将
ConfigMap对象应用于 Management API 服务器:kubectl --kubeconfig ${KUBECONFIG} apply -f CONFIGMAP_NAME.yaml
ConfigMap 示例
以下 YAML 文件展示了 platform-obs 命名空间中信息中心的 ConfigMap 对象的示例:
apiVersion: v1
kind: ConfigMap
metadata:
namespace: platform-obs
name: my-project-dashboard-configmap
data:
my-project-dashboard.json: |
{
"annotations": {
"list": [
{
"builtIn": 1,
"datasource": "--",
"enable": true,
"hide": true,
"iconColor": "rgba(0, 211, 255, 1)",
"name": "Annotations & Alerts",
"type": "dashboard"
}
]
},
"editable": true,
"graphTooltip": 0,
"id": null,
"links": [],
"panels": [],
"schemaVersion": 27,
"style": "dark",
"tags": [],
"templating": {
"list": []
},
"time": {
"from": "now-6h",
"to": "now"
},
"timepicker": {},
"timezone": "",
"title": "Sample dashboard",
"uid": null,
"version": 0
}
创建 Dashboard 自定义资源
请按照以下步骤创建 Dashboard 自定义资源,并将自定义信息中心导入项目的 Grafana 实例:
- 打开一个终端窗口。
创建
Dashboard自定义资源,并使用您为ConfigMap对象指定的名称配置该文件:apiVersion: observability.gdc.goog/v1 kind: Dashboard metadata: namespace: PROJECT_NAMESPACE name: DASHBOARD_NAME spec: configMapRef: name: CONFIGMAP_NAME namespace: PROJECT_NAMESPACE key: JSON_FILE_NAME.json foldername: Default替换以下内容:
PROJECT_NAMESPACE:您的项目命名空间。DASHBOARD_NAME:您要为Dashboard自定义资源指定的名称。CONFIGMAP_NAME:您为ConfigMap对象指定的名称。JSON_FILE_NAME:您为包含ConfigMap对象中信息中心的 JSON 模型的文件指定的名称。
将
Dashboard自定义资源应用于 Management API 服务器:kubectl --kubeconfig ${KUBECONFIG} apply -f DASHBOARD_NAME.yaml
系统会监控 Dashboard 自定义资源和关联的 ConfigMap 对象的更改。如需更新或删除信息中心,请修改这些资源。任何修改都会触发 Grafana 更新。您无法保存直接在 Grafana 界面中执行的任何更新。