dt-obs-gcp

Query and analyze GCP infrastructure resources using Dynatrace Smartscape and DQL.

Updated Dec 12, 2025
One-click install
npx skills add https://github.com/ricardojjulia/ESACompanion --skill dt-obs-gcp-ricardojjulia
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: dt-obs-gcp
Source: https://github.com/ricardojjulia/ESACompanion/tree/main/.github/skills/dt-obs-gcp
Command: npx skills add https://github.com/ricardojjulia/ESACompanion --skill dt-obs-gcp-ricardojjulia

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve? Monitoring and auditing GCP infrastructure across projects, regions, and services requires writing complex queries against cloud resource inventories. This Skill provides ready-to-use DQL query patterns for Dynatrace Smartscape, eliminating the need to learn GCP entity type naming conventions and JSON configuration parsing from scratch. ## Core Features & Use Cases - Resource Discovery & Inventory: Query Compute Engine instances, GKE clusters, Cloud Run services, VPC networks, Pub/Sub topics, and IAM resources using smartscapeNodes with project, region, and zone filters. - Security & Compliance Auditing: Detect disabled service accounts, external IP exposure, missing deletion protection, RBAC bindings, and secret version states. - Ownership & Cost Tracking: Group resources by GCP labels (tags:gcp_labels) for team ownership, chargeback, and label-coverage compliance reporting. - Use Case: A platform engineer needs to find all Compute Engine instances with external IPs in a specific project. The Skill provides the exact DQL pattern: query GCP_COMPUTE_GOOGLEAPIS_COM_INSTANCE, parse gcp.object JSON, and extract externalIPs filtered by gcp.project.id. ## Quick Start Ask the AI to list all GCP Compute Engine instances with their machine types and status in a specific project using Dynatrace DQL.

Frequently Asked Questions about dt-obs-gcp

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I query GCP resources in Dynatrace using DQL?▼

Use the smartscapeNodes function with a GCP entity type like "GCP_COMPUTE_GOOGLEAPIS_COM_INSTANCE", then select fields such as name, gcp.project.id, gcp.region, and gcp.zone. Add filters like gcp.project.id == "<PROJECT_ID>" to scope results.

How to extract GCP resource configuration from Smartscape entities?▼

Parse the gcp.object field with `parse gcp.object, "JSON:gcpjson"`, then access primary attributes via gcpjson[configuration][resource][...] and extended properties via gcpjson[configuration][additionalAttributes][...].

What GCP entity types are available in Dynatrace Smartscape?▼

Entity types follow the GCP_<SERVICE_API>_<RESOURCE> pattern, covering Compute Engine, GKE pods and deployments, Cloud Run services, VPC networks, Pub/Sub topics, IAM service accounts, Secret Manager versions, and Cloud DNS record sets.

How do I track GCP resource ownership with labels?▼

GCP labels are exposed via the tags:gcp_labels field, which requires backtick syntax in DQL. Filter with isNotNull(`tags:gcp_labels`) and use contains(toString(`tags:gcp_labels`), "<LABEL_KEY>") to find resources by label.

Why does GCP relationship traversal use a wildcard in DQL?▼

GCP entities in Smartscape do not have named relationship types, so traversals use "*" as the relationship name. Use fieldsKeep to carry fields through traversals and dt.traverse.history[-N] to access ancestor fields.

What are the limitations of GCP monitoring through Smartscape?▼

Smartscape data reflects the most recent scan, so there can be a delay between GCP changes and Dynatrace visibility. Not all GCP services are represented as entity types, and some configuration fields may be null depending on resource setup.