Cloud Monitoring Metric Selection

作者 google55b4e13eba6d無授權條款21K 個星標收錄於 2026年10月8日更新於 2026年10月8日儲存庫今天更新

Retrieve, query, and identify relevant Cloud Monitoring metric descriptors on Google Cloud for a service or resource (such as Compute Engine, Spanner, BigQuery, Cloud Run, Cloud SQL, Pub/Sub, Cloud Storage, etc.). Use when asked to find, list, search, or discover GCP metric types, names, kind/value schemas, or descriptors.

精選僅含說明DevOps & Cloud
AI 產生的概覽

為某項服務找出相關的 Google Cloud Monitoring 指標描述元,並以 Markdown 表格回傳。

功能
此技能引導代理查詢目標 GCP 服務的即時 Cloud Monitoring 指標描述元,在本機端依關鍵字篩選,並挑選出最相關的 5-15 個指標。它會依服務分組輸出 Markdown 表格,欄位包含指標類型、顯示名稱、說明、指標種類、值類型、單位與受監控資源類型。內容也涵蓋 MCP 工具設定、專案 ID 驗證、分頁處理,以及 API 呼叫失敗時的回退回報。
適用情境
當需要尋找、列出、搜尋或探索某項服務或資源的 GCP 指標類型、名稱、種類/值結構或描述元時使用。適用於 Compute Engine、Spanner、BigQuery、Cloud Run、Cloud SQL、Pub/Sub、Cloud Storage 等 Google Cloud 服務的可觀測性與監控工作。
執行需求
需要由 Cloud Monitoring MCP 伺服器支援的 list_metric_descriptors MCP 工具、Google Cloud 憑證,以及已確認的 GCP 專案 ID。需要連線至 Cloud Monitoring API 的網路存取;此技能不含指令碼,只有說明文件。

Metric Selection (Service Query & Local Keyword Filtering)

Use this skill to identify the most relevant Cloud Monitoring metric descriptors. It queries all metric descriptors for a target service from the API and filters them locally inside the agent's context using keyword matching.

CRITICAL RULES

  • Always Query Live APIs: You MUST always retrieve the most up-to-date metric descriptors dynamically by calling the list_metric_descriptors MCP tool.
  • Mandatory Project ID and Resource Parameter Clarification: BEFORE calling any API tools (such as list_metric_descriptors), you MUST ensure the GCP Project ID is provided in the prompt, URI, or environment context. If the Project ID cannot be resolved, you MUST ask the user to clarify or provide it BEFORE executing API queries. Do NOT run API queries against unconfirmed default or placeholder project names (such as mock-project, my-project-id, unused, or YOUR_PROJECT_ID).
  • Fallback Reporting: If API calls fail and fallback sources (such as public docs) are used, you MUST state the error, the fallback source, and the risks of non-live data (such as potential staleness, missing custom metrics, or schema mismatches).

Workflow

Step 1: Verify & Auto-Configure MCP

  1. Check if any tool matching list_metric_descriptors (such as google-cloud-monitoring:list_metric_descriptors, mcp_google-cloud-monitoring_list_metric_descriptors, or a similar pattern) is available in your active toolset.

  2. Verify via Unique URL: To ensure you are calling the correct Cloud Monitoring tool, confirm that the underlying MCP server configuration points to: https://monitoring.googleapis.com/mcp.

  3. If the tool is missing:

    • Locate the MCP configuration file for the user's environment. Check common paths:

      • ~/.gemini/config/mcp_config.json
      • ~/.codeium/windsurf/mcp_config.json
      • cline_mcp_settings.json
      • claude_desktop_config.json
    • Directly update/merge the configuration file with the following server configuration. CRITICAL: Merge the JSON object to preserve any existing MCP servers in mcpServers. Do not overwrite the file.

      json
      "google-cloud-monitoring": {  "url": "https://monitoring.googleapis.com/mcp",  "authProviderType": "google_credentials",  "enabledTools": [    "list_metric_descriptors"  ]}
    • Print a clear message notifying the user that the google-cloud-monitoring MCP server has been configured, and request them to restart or start a new chat session to refresh tools. Stop calling further tools and end the turn.

Step 2: Analyze Request & Extract Keywords

  1. Resolve Project ID and Identifiers: Check for the GCP Project ID and resource identifiers in the prompt, resource URIs, or environment context. According to the CRITICAL RULES above, do NOT use placeholder project names.

  2. Identify Service Prefix: Map target GCP services to their standard prefix (such as compute, spanner, bigquery, storage).

  3. Extract Metric Concepts: Extract metric keywords from user prompt (such as "CPU", "memory", "bytes scanned", "latency", "connections") and map to search substrings.

Example Query Analysis:

  • User Prompt: "Check Cloud Storage bucket write throughput and request count"
  • Resource URI: //storage.googleapis.com/projects/my-project/buckets/my-bucket
  • Service Prefix: storage (mapped to storage.googleapis.com)
  • Metric Keywords: write, throughput, request, count
  • Mapped Substrings: write, throughput, request_count, count

Step 3: Query Metric Descriptors via list_metric_descriptors Tool

Query all metric descriptors for each identified service prefix using the list_metric_descriptors MCP tool (using pageSize: 200). Because Cloud Monitoring filters do not allow combining multiple metric.type restrictions with OR, you must initiate a separate query for each identified service prefix (either sequentially or in parallel).

If any response includes a nextPageToken, you MUST make consecutive follow-up calls passing pageToken until all remaining descriptors for that prefix are retrieved before filtering.

Filter Pattern Construction: Map the target service domain to its appropriate prefix style:

  1. Standard Google Cloud Services: starts_with("<service_prefix>.googleapis.com/") (such as bigquery.googleapis.com/, redis.googleapis.com/).
  2. Ops Agent (Guest OS): starts_with("agent.googleapis.com/") (for guest OS memory/disk metrics).
  3. Kubernetes / GKE Native: starts_with("kubernetes.io/")
  4. Istio Service Mesh: starts_with("istio.io/")
  5. Knative Serving / Autoscaler: starts_with("knative.dev/")
  6. Custom / External Metrics: Use starts_with("custom.googleapis.com/") or starts_with("external.googleapis.com/").

Example Tool Call Payload: If both Spanner and Compute Engine are targeted in the request, execute these two tool calls:

  1. Spanner query:
json
{  "name": "projects/my-project-id",  "filter": "metric.type = starts_with(\"spanner.googleapis.com/\")",  "pageSize": 200}
  1. Compute Engine query:
json
{  "name": "projects/my-project-id",  "filter": "metric.type = starts_with(\"compute.googleapis.com/\")",  "pageSize": 200}

Call the list_metric_descriptors tool with these payloads.

Step 4: Local Filtering & Fallback Protocol

Aggregate all descriptors returned from Step 3, and filter them locally inside your LLM context:

  1. Keyword Filtering: Filter the list by matching your target metric keywords (such as "cpu", "latency") against the type, displayName, and description fields of the descriptors.
  2. Resource Alignment: Check if the metric contains labels matching the target resource granularity (such as checking for a database label if targeting a database resource). Do not attempt to dynamically match resource type strings directly, as Cloud Monitoring resource mappings (like Spanner databases mapping to spanner_instance) can be counter-intuitive.
Troubleshooting & API Fallbacks

If any tool call fails, times out, or returns empty results, use these strategies:

  • Case A: API Syntax Error: Examine the error message, correct the filter syntax, and retry.
  • Case B: Timeout / Rate Limits: Retry the call once with a smaller page size (such as pageSize: 20).
  • Case C: Unrecoverable Failure / Empty List:
    1. Verify if the target service is enabled in the project.
    2. Search Google Cloud public documentation to verify standard metrics for the service.

Step 5: Output Selected Metrics

For each service domain, return only the 5-15 key metrics directly relevant to the user's intent.

You MUST report the selected metrics in clean Markdown tables, grouped by service (that is, one table per service prefix). The table MUST include the following columns: "Metric Type", "Display Name", "Description", "Metric Kind", "Value Type", "Unit", and "Monitored Resource Types". Map the fields from the Cloud Monitoring list_metric_descriptors tool call response objects directly to the table columns:

  • Metric Type: Map to the type field (for example, spanner.googleapis.com/instance/cpu/utilization).
  • Display Name: Map to the displayName field.
  • Description: Map to the description field.
  • Metric Kind: Map to the metricKind field (for example, GAUGE, DELTA, CUMULATIVE).
  • Value Type: Map to the valueType field (for example, INT64, DOUBLE, DISTRIBUTION, BOOL).
  • Unit: Map to the unit field (for example, 1, By, s, ms).
  • Monitored Resource Types: Map to the monitoredResourceTypes list field (for example, ["spanner_instance"]).

Example Output Table:

Metric TypeDisplay NameDescriptionMetric KindValue TypeUnitMonitored Resource Types
spanner.googleapis.com/instance/cpu/utilizationInstance CPU UtilizationFraction of allocated CPU currently in use.GAUGEDOUBLE1["spanner_instance"]

Reference Documentation & Links

來源與署名

來源:google/skills位於skills/cloud/cloud-monitoring-metric-selection提交55b4e13

授權條款: 無授權條款

內容歸原作者所有。SourceWeft 從公開儲存庫中收錄這些內容。

檢舉或申請下架

更多來自 google/skills 的技能

Dpop Adoption

google

精選

指導為 Google OAuth 平台實作 OAuth 2.0 DPoP(RFC 9449)傳送方約束的更新權杖。

Security21K今天更新

Finding Google Skills

google

精選

Google platform decision and setup guidance, loaded on demand from Google's skill catalog. Use when a developer is choosing or setting up part of their stack, such as where to run a service, a database, storage, messaging, authentication, analytics, ads, or AI model serving, and a Google product is a reasonable candidate - whether or not a vendor is named - or when a request names a Google product or API. Brings in the matching Google skill so the answer can weigh Google options, their trade-offs, and when they are not the right fit. Skip when the stack is already settled on another provider and no Google product is named, or the task involves no platform choice.

待分類21K今天更新

Spanner Basics

google

精選

指導 Google Cloud Spanner 的執行個體與資料庫管理、結構定義設計、查詢與效能診斷。

Data & Analytics21K今天更新

Secops Triage

google

精選

引導 SOC 分析師對 Google SecOps 安全警示進行分診,從調查到結案或升級。

Security21K今天更新

Secops Investigate

google

精選

指導 SOC 分析師在 Google SecOps 中使用 UDM 查詢與時間軸進行深入的安全事件與實體調查。

Security21K今天更新

Secops Hunt

google

精選

指導在 Google SecOps 中使用 UDM 查詢、IoC 回溯、普遍性與異常分析進行主動威脅狩獵。

Security21K今天更新