Google 推荐使用适用于 Cloud Run 的 Managed Service for Prometheus 边车来为 Cloud Run 服务获取 Prometheus 样式的监控。如果您的 Cloud Run 服务写入 OTLP 指标,您可以使用 OpenTelemetry 边车。但对于写入 Prometheus 指标的服务,请使用本文档中介绍的 Managed Service for Prometheus 边车。
本文档介绍了如何执行以下操作:
- 将 Managed Service for Prometheus 边车添加到现有 Cloud Run 服务。
- 使用边车构建示例应用。如果您没有现有的 Cloud Run 服务,可以使用示例应用来了解边车的工作原理。
边车在服务器端使用 Google Cloud Managed Service for Prometheus,在客户端使用为无服务器工作负载定制的 OpenTelemetry 收集器发行版。此定制发行版包含一些更改以支持 Cloud Run。无论实例的生命周期有多短,收集器都会在 10 秒后执行启动抓取并执行关停抓取。为了最大限度地提高可靠性,我们建议运行边车的 Cloud Run 服务还使用始终分配的 CPU;如需了解详情,请参阅 CPU 分配(服务)。如果 CPU 分配由于每秒查询次数 (QPS) 较低而受到限制,则部分抓取尝试可能会失败。始终分配的 CPU 仍然可用。
边车依赖于 Cloud Run 多容器(边车)功能将收集器作为工作负载容器的边车容器运行。如需详细了解 Cloud Run 中的边车,请参阅将多个容器部署到服务(边车)。
适用于 Cloud Run 的 Managed Service for Prometheus 边车引入了新配置 RunMonitoring
,它是 Kubernetes PodMonitoring
自定义资源的子集。大多数用户可以使用默认的 RunMonitoring
配置,但您也可以创建自定义配置。如需详细了解默认和自定义 RunMonitoring
配置,请参阅将边车添加到 Cloud Run 服务。
准备工作
本部分介绍使用本文档所需的设置。
安装并配置 gcloud CLI
本文档中的许多步骤都使用 Google Cloud CLI。如需了解如何安装 gcloud CLI,请参阅管理 Google Cloud CLI 组件。
调用 gcloud
命令时,您必须指定您的 Google Cloud 项目的标识符。您可以为 Google Cloud CLI 设置默认项目,这样就无需在每个命令中输入该项目。如需将您的项目设置为默认项目,请输入以下命令:
gcloud config set project PROJECT_ID
您还可以为 Cloud Run 服务设置默认区域。如需设置默认区域,请输入以下命令:
gcloud config set run/region REGION
启用 API
您必须在 Google Cloud 项目中启用以下 API:
- Cloud Run Admin API:
run.googleapis.com
- Artifact Registry API:
artifactregistry.googleapis.com
- Cloud Monitoring API:
monitoring.googleapis.com
- Cloud Logging API:
logging.googleapis.com
- (可选)如果您创建自定义
RunMonitoring
配置,则必须启用 Secret Manager API:secretmanager.googleapis.com
- (可选)如果您选择使用 Cloud Build 运行示例应用,则还必须启用以下 API:
- Cloud Build API:
cloudbuild.googleapis.com
。 - Identity and Access Management API:
iam.googleapis.com
。如需了解详情,请参阅构建和运行示例应用。
- Cloud Build API:
如需查看项目中启用的 API,请运行以下命令:
gcloud services list
如需启用未启用的 API,请运行以下命令之一:
gcloud services enable run.googleapis.com gcloud services enable artifactregistry.googleapis.com gcloud services enable secretmanager.googleapis.com gcloud services enable monitoring.googleapis.com gcloud services enable logging.googleapis.com gcloud services enable cloudbuild.googleapis.com gcloud services enable iam.googleapis.com
Cloud Run 的服务账号
默认情况下,Cloud Run 作业和服务使用 Compute Engine 默认服务账号 PROJECT_NUMBER-compute@developer.gserviceaccount.com
。此服务账号通常具有写入本文档中所述的指标和日志所需的 Identity and Access Management (IAM) 角色:
roles/monitoring.metricWriter
roles/logging.logWriter
如果您创建自定义 RunMonitoring
配置,您的服务账号还必须具有以下角色:
roles/secretmanager.admin
roles/secretmanager.secretAccessor
您还可以为 Cloud Run 配置用户管理的服务账号。用户管理的服务账号也必须具有这些角色。如需详细了解 Cloud Run 的服务账号,请参阅配置服务身份。
配置边车并将其添加到 Cloud Run 服务
适用于 Cloud Run 的 Managed Service for Prometheus 边车引入了新配置 RunMonitoring
,它是 Kubernetes PodMonitoring
自定义资源的子集。RunMonitoring
配置使用现有的 PodMonitoring
选项来支持 Cloud Run,同时去除了一些 Kubernetes 特有的选项。
您可以使用默认的 RunMonitoring
配置,也可以创建自定义配置。以下部分介绍了这两种方法,但您不需要同时使用它们。如需详细了解如何使用默认配置或自定义配置,请选择相应的标签页。
默认配置
使用默认 RunMonitoring 配置
如果您未创建自定义 RunMonitoring
配置,则边车收集器会合成以下默认配置,以每 30 秒在指标路径 /metrics
上从端口 8080 爬取指标:
apiVersion: monitoring.googleapis.com/v1beta kind: RunMonitoring metadata: name: run-gmp-sidecar spec: endpoints: - port: 8080 path: /metrics interval: 30s
使用默认配置不需要进行将边车添加到 Cloud Run 服务之外的其他设置。
将边车添加到 Cloud Run 服务
如需将边车与默认 RunMonitoring
配置搭配使用,您需要修改现有 Cloud Run 配置以添加边车。如需添加边车,请执行以下操作:
- 添加容器依赖项注解,用于指定容器的启动和关停顺序。在下面的示例中,名为“collector”的边车容器在名为“app”的应用容器之后启动,并在该应用容器之前关停。
- 在以下示例中,为收集器创建一个名为“collector”的容器。
例如,将前面带有 +
(加号)字符的行添加到 Cloud Run 配置,然后重新部署服务:
apiVersion: serving.knative.dev/v1 kind: Service metadata: annotations: run.googleapis.com/launch-stage: ALPHA run.googleapis.com/cpu-throttling: 'false' name: my-cloud-run-service spec: template: metadata: annotations: run.googleapis.com/execution-environment: gen2 + run.googleapis.com/container-dependencies: '{"collector":["app"]}' spec: containers: - image: "REGION-docker.pkg.dev/PROJECT_ID/run-gmp/sample-app" name: app startupProbe: httpGet: path: /startup port: 8000 livenessProbe: httpGet: path: /liveness port: 8000 ports: - containerPort: 8000 + - image: "us-docker.pkg.dev/cloud-ops-agents-artifacts/cloud-run-gmp-sidecar/cloud-run-gmp-sidecar:1.1.1" + name: collector
如需使用配置文件 run-service.yaml
重新部署 Cloud Run 服务,请运行以下命令:
gcloud run services replace run-service.yaml --region=REGION
自定义配置
创建自定义 RunMonitoring 配置
如果默认配置无法满足您的需求,您可以为 Cloud Run 服务创建 RunMonitoring
配置。例如,您可以创建如下所示的配置:
apiVersion: monitoring.googleapis.com/v1beta kind: RunMonitoring metadata: name: my-custom-cloud-run-job spec: endpoints: - port: 8080 path: /metrics interval: 10s metricRelabeling: - action: replace sourceLabels: - __address__ targetLabel: label_key replacement: label_value targetLabels: metadata: - service - revision
此配置会执行以下操作:
- 从端口 8080 抓取指标,并使用默认指标路径
/metrics
。 - 使用 10 秒的抓取间隔。
- 使用重新添加标签向抓取的每个指标添加值为
label_value
的标签label_key
。 - 将
service
和revision
元数据标签添加到抓取的每个指标。
如需了解可用的配置选项,请参阅 RunMonitoring 规范:配置选项。
使用自定义 RunMonitoring
配置时,您必须执行以下额外的配置:
- 启用 Secret Manager API 并向您的 Cloud Run 服务账号授予 Secret Manager 角色。如需了解更多信息,请参阅准备工作。
- 将自定义配置存储为 Secret。
- 将边车添加到 Cloud Run 服务。
使用 Secret Manager 存储配置
如需提供自定义 RunMonitoring
配置,请执行以下操作:
- 创建一个包含自定义配置的文件。
- 创建包含自定义配置的 Secret Manager Secret。
以下命令会根据 custom-config.yaml
文件创建一个名为 mysecret 的 Secret:
gcloud secrets create mysecret --data-file=custom-config.yaml
如需在修改 custom-config.yaml
文件后获取配置更改,您必须删除并重新创建 Secret,然后重新部署 Cloud Run 服务。
在 Secret Manager 中更新配置
如果您想随时更新自定义 RunMonitoring
配置,可以将现有 Secret 的新版本添加到 Secret Manager。
例如,如需使用存储在 custom-config-updated.yaml
文件中的新配置更新 mysecret,您可以运行以下命令:
gcloud secrets versions add mysecret --data-file=custom-config-updated.yaml
边车会自动重新加载并将更改应用于其配置。
将边车添加到 Cloud Run 服务
为 RunMonitoring
配置创建 Secret Manager Secret 后,您必须修改 Cloud Run 配置以执行以下操作:
- 添加 Managed Service for Prometheus 边车
- 添加容器依赖项注解,用于指定容器的启动和关停顺序。在下面的示例中,名为“collector”的边车容器在名为“app”的应用容器之后启动,并在该应用容器之前关停。
- 在以下示例中,为收集器创建一个名为“collector”的容器。
- 通过将 Secret 装载到
/etc/rungmp/config.yaml
位置来添加 Secret:- 添加指向包含自定义
RunMonitoring
配置的 Secret 的 Secret 注解。 - 在以下示例中,为指向文件
config.yaml
的 Secret 创建一个名为“config”的卷。 - 将该卷作为收集器映像的一部分装载到装载路径
/etc/rungmp
中。
- 添加指向包含自定义
例如,将前面带有 +
(加号)字符的行添加到 Cloud Run 配置,然后重新部署服务:
apiVersion: serving.knative.dev/v1 kind: Service metadata: annotations: run.googleapis.com/launch-stage: ALPHA run.googleapis.com/cpu-throttling: 'false' name: my-cloud-run-service spec: template: metadata: annotations: run.googleapis.com/execution-environment: gen2 + run.googleapis.com/container-dependencies: '{"collector":["app"]}' + run.googleapis.com/secrets: 'mysecret:projects/PROJECT_ID/secrets/mysecret' spec: containers: - image: "REGION-docker.pkg.dev/PROJECT_ID/run-gmp/sample-app" name: app startupProbe: httpGet: path: /startup port: 8000 livenessProbe: httpGet: path: /liveness port: 8000 ports: - containerPort: 8000 + - image: "us-docker.pkg.dev/cloud-ops-agents-artifacts/cloud-run-gmp-sidecar/cloud-run-gmp-sidecar:1.1.1" + name: collector + volumeMounts: + - mountPath: /etc/rungmp/ + name: config + volumes: + - name: config + secret: + items: + - key: latest + path: config.yaml + secretName: 'mysecret'
如需使用配置文件 run-service.yaml
重新部署 Cloud Run 服务,请运行以下命令:
gcloud run services replace run-service.yaml --region=REGION
RunMonitoring 规范:配置选项
本部分介绍 Managed Service for Prometheus 边车的 RunMonitoring
配置规范。下面展示了一个自定义配置示例:
apiVersion: monitoring.googleapis.com/v1beta kind: RunMonitoring metadata: name: my-custom-cloud-run-job spec: endpoints: - port: 8080 path: /metrics interval: 10s metricRelabeling: - action: replace sourceLabels: - __address__ targetLabel: label_key replacement: label_value targetLabels: metadata: - service - revision
RunMonitoring
RunMonitoring
配置监控 Cloud Run 服务。
字段 | 说明 | 架构 | 必填 |
---|---|---|---|
metadata |
所有持久资源都必须具有的元数据。 |
metav1.ObjectMeta |
false |
spec |
所选的供 Prometheus 进行目标发现的 Cloud Run 部署的规范。 | RunMonitoringSpec |
true |
RunMonitoringSpec
此规范描述 RunMonitoring
配置如何监控 Cloud Run 服务。
字段 | 说明 | 架构 | 必填 |
---|---|---|---|
endpoints |
选定 Pod 上要抓取的端点。 | []ScrapeEndpoint |
true |
targetLabels |
要添加到已发现端点的 Prometheus 目标的标签。instance 标签始终设置为 Cloud Run 实例 ID。 |
RunTargetLabels |
false |
limits |
抓取时应用的限制。 | *ScrapeLimits |
false |
RunTargetLabels
RunTargetLabels
配置可让您添加来自发现的 Prometheus 目标的 Cloud Run 标签。
字段 | 说明 | 架构 | 必填 |
---|---|---|---|
metadata |
在所有抓取目标上设置的 Cloud Run 元数据标签。 允许的键包括 instance 、revision 、service 和 configuration 。如果设置了允许的键,则边车会将 Cloud Run 实例中的相应值作为指标标签添加到每个指标: instanceID 、revision_name 、service_name 和 configuration_name 。默认为设置的所有允许的键。 |
*[]string |
false |
构建并运行示例应用
本部分介绍如何使用示例应用运行 Managed Service for Prometheus 边车。本部分是可选的。如果您已有 Cloud Run 服务并且想要向它部署边车,请参阅将 Managed Service for Prometheus 边车添加到 Cloud Run 服务。
克隆 run-gmp-sidecar
仓库
如需获取示例应用及其配置文件,请运行以下命令,以克隆 run-gmp-sidecar
仓库:
git clone https://github.com/GoogleCloudPlatform/run-gmp-sidecar/
克隆仓库后,切换到 run-gmp-sidecar
目录:
cd run-gmp-sidecar
构建并运行示例应用
示例应用需要使用 Docker 或适用于 Linux 的类似容器构建系统。您可以通过以下任一方式构建并运行示例应用:
- 使用 Cloud Build 在没有本地 Docker 支持的情况下运行。如果您使用 Cloud Build,则还必须启用 Cloud Build API。
- 手动构建并运行示例应用。
以下部分介绍了这两种方法,但您不需要同时使用它们。如需了解详情,请选择其中一种方法对应的标签页。
使用 Cloud Build
使用 Cloud Build
run-gmp-sidecar
仓库包含 Cloud Build 的配置文件。这些文件打包了构建和部署示例应用所需的步骤。
您也可以手动执行由 Cloud Build 处理的步骤。如需了解详情,请参阅手动构建和运行。
为 Cloud Build 进行设置
这些配置文件需要 Cloud Build 服务账号和 Artifact Registry 仓库。run-gmp-sidecar
仓库还包含一个执行以下操作的脚本 create-sa-and-ar.sh
:
- 创建服务账号
run-gmp-sa@PROJECT_ID.iam.gserviceaccount.com
。 - 向服务账号授予以下角色:
roles/iam.serviceAccountUser
roles/storage.objectViewer
roles/logging.logWriter
roles/artifactregistry.createOnPushWriter
roles/secretmanager.admin
roles/secretmanager.secretAccessor
roles/run.admin
- 为您的容器映像创建 Artifact Registry 仓库
run-gmp
。
如需创建 run-gmp-sa
服务账号和 run-gmp
仓库,请运行以下命令:
./create-sa-and-ar.sh
权限传播需要一些时间,因此我们建议您等待大约 30 秒,然后再继续下一步。否则,您可能会看到授权错误。
提交 Cloud Build 请求
设置 run-gmp-sa
服务账号和 run-gmp
仓库后,您可以通过提交 Cloud Build 配置文件来启动 Cloud Build 作业。您可以使用以下 gcloud builds submit
命令:
gcloud builds submit . --config=cloudbuild-simple.yaml --region=REGION
此命令需要几分钟时间来运行,但它几乎会立即告诉您在哪里可以找到 Cloud Build 构建详情。该消息如下所示:
Logs are available at [ https://console.cloud.google.com/cloud-build/builds/637860fb-7a14-46f2-861e-09c1dc4cea6b?project=PROJECT_NUMBER].
如需查看构建进度,请在浏览器中前往返回的网址。您还可以在 Cloud Logging 中查看边车日志。
查看服务网址
Cloud Build 作业结束后,请运行以下命令来查看 Cloud Run 服务的端点网址:
gcloud run services describe my-cloud-run-service --region=REGION --format="value(status.url)"
此命令会返回如下所示的服务网址:
https://my-cloud-run-service-abcdefghij-ue.a.run.app
使用返回的网址作为验证您的应用正在运行部分中的 SERVICE_URL 值。
手动构建和运行
手动构建和运行
您可以手动执行使用 Cloud Build 中所述由 Cloud Build 处理的步骤。以下部分介绍了如何手动执行相同的任务。
设置在后续步骤中使用的变量
后面的几个步骤使用环境变量来保存常用值。使用以下命令设置这些变量:
export GCP_PROJECT=PROJECT_ID export REGION=REGION
创建容器映像仓库
通过运行以下命令为容器映像创建 Artifact Registry 仓库:
gcloud artifacts repositories create run-gmp \ --repository-format=docker \ --location=${REGION}
构建并推送示例应用
此示例使用 Linux 上的 Docker 构建示例应用并将其推送到 Artifact Registry 仓库。如果您使用的是 Windows 或 macOS 环境,则可能需要调整这些命令。
如需构建示例应用并将其推送到 Artifact Registry,请执行以下操作:
使用 Google Cloud CLI 对 Docker 客户端进行身份验证:
gcloud auth configure-docker ${REGION}-docker.pkg.dev
进入
run-gmp-sidecar
仓库中的simple-app
目录:pushd sample-apps/simple-app
通过运行以下命令构建
simple-app
应用:docker build -t ${REGION}-docker.pkg.dev/${GCP_PROJECT}/run-gmp/sample-app .
通过运行以下命令推送构建的应用的映像:
docker push ${REGION}-docker.pkg.dev/${GCP_PROJECT}/run-gmp/sample-app
返回到
run-gmp-sidecar
目录:popd
配置 Cloud Run 服务
run-gmp-sidecar
仓库中的 run-service-simple.yaml
文件定义了一个多容器 Cloud Run 服务,该服务使用您在先前步骤中构建的示例应用和收集器映像。run-service-simple.yaml
文件包含以下 Service 规范:
apiVersion: serving.knative.dev/v1 kind: Service metadata: annotations: run.googleapis.com/launch-stage: ALPHA run.googleapis.com/cpu-throttling: 'false' name: my-cloud-run-service spec: template: metadata: annotations: run.googleapis.com/execution-environment: gen2 run.googleapis.com/container-dependencies: '{"collector":["app"]}' spec: containers: - image: "%SAMPLE_APP_IMAGE%" name: app startupProbe: httpGet: path: /startup port: 8000 livenessProbe: httpGet: path: /liveness port: 8000 ports: - containerPort: 8000 - image: "us-docker.pkg.dev/cloud-ops-agents-artifacts/cloud-run-gmp-sidecar/cloud-run-gmp-sidecar:1.1.1" name: collector
此文件包含您在先前步骤中构建的映像的占位值,因此您必须使用 Google Cloud 项目的实际值更新占位符。
通过运行以下命令替换 %SAMPLE_APP_IMAGE%
占位符:
sed -i s@%SAMPLE_APP_IMAGE%@REGION-docker.pkg.dev/${GCP_PROJECT}/run-gmp/sample-app@g run-service-simple.yaml
部署 Cloud Run 服务
使用您的值更新 run-service-simple.yaml
文件后,您可以通过运行以下命令来创建并部署 Cloud Run 服务:
gcloud run services replace run-service-simple.yaml --region=REGION
此命令会返回如下所示的服务网址:
https://my-cloud-run-service-abcdefghij-ue.a.run.app
使用返回的网址作为验证您的应用正在运行部分中的 SERVICE_URL 值。
允许未经身份验证的 HTTP 访问
在向服务网址发出请求之前,您需要更改 Cloud Run 服务政策以接受未经身份验证的 HTTP 访问。run-gmp-sidecar
仓库中的 policy.yaml
文件包含必要的更改。
如需更改服务政策,请运行以下命令:
gcloud run services set-iam-policy my-cloud-run-service policy.yaml --region=REGION
验证您的应用正在运行
如需验证 Cloud Run 服务已正确运行示例应用,请使用 curl
实用程序访问服务的 metrics
端点。
将
SERVICE_URL
环境变量设置为前面步骤中的 Cloud Run 服务网址:export SERVICE_URL=SERVICE_URL
通过运行以下命令向服务网址发送请求:
curl $SERVICE_URL
如果您的应用已成功启动,您会看到以下响应:
User request received!
在 Metrics Explorer 中查看应用指标
示例 app
容器会写入以下指标:
foo_metric
:当前时间,以浮点值表示(读数)。bar_metric
:当前时间,以浮点值表示(计数器)。
如需在 Metrics Explorer 中查看这些指标,请执行以下操作:
-
在 Google Cloud 控制台中,转到 leaderboard Metrics Explorer 页面:
如果您使用搜索栏查找此页面,请选择子标题为监控的结果。
在查询构建器窗格的工具栏中,选择名为 code MQL 或 code PromQL 的按钮。
验证已在PromQL 切换开关中选择 PromQL。语言切换开关位于同一工具栏中,用于设置查询的格式。
在编辑器窗格中输入以下查询:
foo_metric
点击添加查询。
在查询构建器窗格的工具栏中,选择名为 code MQL 或 code PromQL 的按钮。
验证已在PromQL 切换开关中选择 PromQL。语言切换开关位于同一工具栏中,用于设置查询的格式。
在第二个编辑器窗格中输入以下查询:
bar_metric
点击运行查询。
如需查看指标的详细信息,请在标有图表/表/两者的切换开关中选择两者。
清理
完成示例应用的实验后,您可以使用 run-gmp-sidecar
仓库中的 clean-up-cloud-run.sh
脚本删除您为示例创建的以下资源:
- Cloud Run 服务。
- Artifact Registry 仓库。
- 为 Cloud Build 创建的服务账号。
删除这些资源可确保您在运行示例后不会产生费用。
如需清理示例应用,请运行 clean-up-cloud-run.sh
脚本:
./clean-up-cloud-run.sh
在 Metrics Explorer 中查看自身指标
Managed Service for Prometheus 边车会向 Cloud Monitoring 报告以下关于其自身的指标:
agent_uptime
:边车收集器的正常运行时间(计数器)。agent_memory_usage
:边车收集器使用的内存(读数)。agent_api_request_count
:边车收集器发出的 API 请求数(计数器)。agent_monitoring_point_count
:边车收集器写入 Cloud Monitoring 的指标点数量(计数器)。
如需在 Metrics Explorer 中查看边车的自身指标,请执行以下操作:
-
在 Google Cloud 控制台中,转到 leaderboard Metrics Explorer 页面:
如果您使用搜索栏查找此页面,请选择子标题为监控的结果。
在查询构建器窗格的工具栏中,选择名为 code MQL 或 code PromQL 的按钮。
验证已在PromQL 切换开关中选择 PromQL。语言切换开关位于同一工具栏中,用于设置查询的格式。
在编辑器窗格中输入您要查询的指标的名称,例如:
agent_api_request_count
点击运行查询。
如需查看指标的详细信息,请在标有图表/表/两者的切换开关中选择两者。
在 Logs Explorer 中查看自身日志
Managed Service for Prometheus 边车将日志写入 Cloud Logging。边车会根据 Logging 受监控的资源类型 cloud_run_revision
写入日志。
如需在 Logs Explorer 中查看边车的日志,请执行以下操作:
-
在 Google Cloud 控制台中,转到 Logs Explorer 页面。
如果您使用搜索栏查找此页面,请选择子标题为 Logging 的结果。
选择 Cloud Run 修订版本资源类型,或输入以下查询并点击运行查询:
resource.type="cloud_run_revision"
收集的指标简介
当边车发出的指标注入到 Cloud Monitoring 时,这些指标会针对 Cloud Monitoring prometheus_target
受监控的资源类型写入。此资源类型既用于应用指标,又用于边车的自身指标。
写入指标时,边车会按如下所示设置资源标签:
project_id
:运行容器的 Google Cloud 项目的 ID。location
:运行容器的 Google Cloud 区域。cluster
:值__run__
namespace
:正在运行的 Cloud Run 服务的名称;来自K_SERVICE
环境变量。job
:RunMonitoring
配置中的名称;默认为run-gmp-sidecar
。instance
:本地工作负载的值faas.ID:PORT
,容器配置为从其中拉取指标。faas.ID 值是 Cloud Run 实例的实例 ID。
边车还会添加以下指标标签:
instanceId
:Cloud Run 实例的 ID。service_name
:正在运行的 Cloud Run 服务的名称。revision_name
:正在运行的 Cloud Run 修订版本的名称。configuration_name
:正在运行的 Cloud Run 配置的名称。
这些指标标签均默认添加。如果您使用自定义 RunMonitoring
配置,则可以通过使用 RunMonitoring
规范中的 targetLabels
选项来省略 service_name
、revision_name
和 configuration_name
标签。您还可以使用自定义配置为 service_name
、revision_name
和 configuration_name
标签的值重新添加标签。
与注入的指标一起显示的所有其他标签都来自您的指标。如果用户定义的标签与系统提供的某个标签冲突,则用户定义的标签会添加字符串 exported_
作为前缀。例如,用户指定的标签 namespace="playground"
与系统定义的 namespace
标签冲突,因此用户标签显示为 exported_namespace="playground"
。
指标类型
当边车发出的指标注入到 Cloud Monitoring 时,这些指标会写入为 prometheus.googleapis.com
指标,并在名称末尾附加 Prometheus 指标的类型。例如,示例应用发出一个名为 foo_metric
的 Prometheus 读数指标。在 Cloud Monitoring 中,该指标存储为指标类型 prometheus.googleapis.com/foo_metric/gauge
。
使用 PromQL 查询指标时,您可以使用在 Metrics Explorer 中查看应用指标和在 Metrics Explorer 中查看自身指标所述的 Prometheus 名称。在 Metrics Explorer 中使用查询构建器或 Monitoring 查询语言 (MQL) 等工具时,Cloud Monitoring 指标类型是相关的。
结算
边车发出的指标会注入到 Cloud Monitoring 并添加前缀 prometheus.googleapis.com
。具有此前缀的指标按注入的样本数计费。如需详细了解结算和 Managed Service for Prometheus,请参阅结算。