본문으로 건너뛰기
cccskills
무료GitHub에 공개

azure-resource-lookup

Locate and summarize Azure resources quickly across scopes using consistent query patterns. Use this skill when users ask where resources are, what they are configured as, or need inventory by type, region, or tag.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

연동 도구Azure

실행 점수 미검증

설치 방법 보기

포함된 파일(1)

  • SKILL.md8.8 KB

SKILL.md(원문)

설치하기 전에 에이전트에게 전달되는 지시 내용을 확인할 수 있습니다.

Azure Resource Lookup

Find Azure resources efficiently across subscriptions and return concise, actionable metadata.

Use This Skill When

  • The user cannot find a resource in Azure
  • The user needs inventory by type, region, tag, or naming pattern
  • The user needs configuration details before making changes
  • The user needs to verify resource existence or validate naming conventions

Context: Lookup Maturity

Immature: Manual searches in portal, incomplete knowledge of resources
Developing: CLI queries, some automation of common lookups
Managed: Scripted queries with filtering, tags for organization → Target
Optimized: Auto-indexing, graph-based discovery, dependency visualization

Required Inputs

  • Scope: Management group, subscription, resource group, or single app name?
  • Resource type: Specific type (VMs, databases) or keyword search?
  • Filters: Region, environment tag, owner, creation date range?
  • Required fields: Basic (id, name, location) or detailed (config, cost, status)?
  • Output format: Table, JSON, or filtered list?

Decision Tree

What are you looking for?
├─ Specific resource by name → Direct query: az resource show --name
├─ All resources of one type → Type filter: az resource list --resource-type
├─ Resources in a region → Location filter: az resource list --location
├─ Resources by tag → Tag filter: az resource list --query "[?tags.Environment=='Prod']"
└─ Unknown (keyword search) → Graph query with semantic search

How broad is the scope?
├─ Single resource group → Query is fast
├─ Single subscription → Query takes 5-10 seconds
├─ Multiple subscriptions → Use Azure Resource Graph (optimized)
└─ Entire organization → Use Azure Resource Graph with batch mode

Do you need real-time status or historical data?
├─ Real-time → CLI query (az resource list)
├─ Historical → Query resource logs (Activity logs)
├─ Cost-related → Query Cost Management API

Workflow

Phase 1: Query Resources

  1. Find by name:

    # Exact match
    az resource show --name "myappdb" --resource-type "Microsoft.Sql/servers/databases"
    
    # Output
    {
      "id": "/subscriptions/abc123/resourceGroups/prod-rg/providers/Microsoft.Sql/servers/myserver/databases/myappdb",
      "name": "myappdb",
      "type": "Microsoft.Sql/servers/databases",
      "location": "eastus",
      "properties": {
        "status": "Online",
        "edition": "Standard",
        "serviceLevelObjective": "S0"
      }
    }
    
  2. Find by type (all VMs in subscription):

    az resource list --resource-type "Microsoft.Compute/virtualMachines" \
      --query "[].{name:name, group:resourceGroup, location:location, vmSize:properties.hardwareProfile.vmSize}" \
      -o table
    
    # Output
    Name              Group        Location    VmSize
    vm-prod-1         prod-rg      eastus      Standard_D2s_v3
    vm-prod-2         prod-rg      eastus      Standard_D2s_v3
    vm-dev-1          dev-rg       eastus      Standard_B2s
    
  3. Find by tag (all prod resources):

    az resource list --query "[?tags.Environment=='Prod']" \
      --query "[].{name:name, type:type, group:resourceGroup}" \
      -o table
    
  4. Find by region:

    az resource list --location "eastus" \
      --query "[].{name:name, type:type, sku:sku.name}" \
      -o table
    
  5. Find by naming pattern:

    # All resources starting with "api-"
    az graph query -q "resources | where name startswith 'api-'" \
      -o table
    

Phase 2: Azure Resource Graph (advanced queries)

Why Resource Graph? Fast, parallel queries across subscriptions without hitting throttle limits.

  1. Query all subscriptions (as organization admin):

    # All databases across subscriptions
    az graph query -q "resources | where type == 'microsoft.sql/servers/databases' | project name, resourceGroup, location, properties.status"
    
  2. Find resources by partial name (fuzzy search):

    az graph query -q "resources | where name contains 'prod' and type contains 'compute'"
    
  3. Find orphaned resources (no tags, old creation date):

    az graph query -q "resources | where tags == '{}' and tostring(properties.timeCreated) < '2023-01-01'"
    
  4. Find underutilized resources (check costs):

    # App Service plans with low CPU
    az graph query -q "resources | where type == 'microsoft.web/serverfarms' | project name, resourceGroup, properties.workerCount, properties.sku"
    

Phase 3: Extract Configuration Details

  1. Database configuration:

    az sql db show --resource-group prod-rg --server myserver --name myappdb \
      --query "{name:name, status:status, tier:edition, slo:serviceLevelObjective, backupRetention:longTermRetentionBackupResourceId}"
    
  2. VM configuration:

    az vm show --resource-group prod-rg --name vm-prod-1 \
      --query "{name:name, vmSize:hardwareProfile.vmSize, osType:osProfile.osType, imageId:storageProfile.imageReference.id, powerState:powerState}"
    
  3. App Service configuration:

    az webapp config show --resource-group prod-rg --name myapp \
      --query "{runtime:properties.runtime, ftpEnabled:properties.ftpsState, http20Enabled:properties.http20Enabled, minTlsVersion:properties.minTlsVersion}"
    
  4. Network configuration:

    az network nsg show --resource-group prod-rg --name prod-nsg \
      --query "securityRules[].{name:name, protocol:protocol, sourcePort:sourcePortRange, destPort:destinationPortRange, access:access, direction:direction}"
    

Phase 4: Cost & Metrics Lookup

  1. Estimated monthly cost:

    # App Service pricing
    az vm show --resource-group prod-rg --name vm-prod-1 \
      --query "hardwareProfile.vmSize" | xargs -I {} \
      az vm list-prices --location eastus --vmImage UbuntuLTS --query "[?name=='{}'].prices[].value" -o table
    
  2. Resource usage metrics (for decisions):

    # Last 7 days average CPU
    az monitor metrics list --resource-group prod-rg --resource-type virtualMachines \
      --name vm-prod-1 --metric Percentage\ CPU --start-time 2024-04-16T00:00:00Z \
      --aggregation Average --interval PT1H
    

Phase 5: Validate & Deep Inspect

  1. Checklist before changes:

    Resource: myappdb (SQL Database)
    ✓ Exists in: prod-rg / eastus
    ✓ Status: Online
    ✓ Backups enabled: Yes (35-day retention)
    ✓ Access: Private endpoint configured
    ✓ Monitoring: Application Insights connected
    ✓ Owner tag: team-database (found)
    
    Safe to modify: YES (all prerequisites met)
    
  2. Dependencies (what breaks if we change this?):

    # Find all app services using this database
    az graph query -q "resources | where properties.connectionStrings contains 'myappdb'"
    
    # Find who has access
    az role assignment list --resource-group prod-rg --resource-name myappdb
    
  3. Recent changes (who touched this?):

    az monitor activity-log list --resource-group prod-rg \
      --query "[?resourceId contains 'myappdb']" \
      --query "[].{time:eventTimestamp, caller:caller, operationName:operationName.value}" \
      -o table
    

Output Contract

  1. Query Summary

    • What was searched?
    • How many results?
    • Time taken?
  2. Resource Table (matching results)

    • Name, Type, Location, Status
    • Resource Group, Tags
    • Relevant config fields
  3. Notable Findings

    • ⚠️ Untagged resources
    • ⚠️ Old/orphaned resources
    • ⚠️ Non-standard configurations
    • ✓ Best practices followed
  4. Configuration Details (if requested)

    • Current settings
    • Recent changes (Activity Log)
    • Dependencies (what uses this?)
  5. Suggested Next Steps

    • Inspect related resources
    • Check cost/metrics
    • Validate before changes

Guardrails

  • Always confirm scope before broad queries: Querying entire org can take time.
  • Check access first: Ensure you have permissions to view resources.
  • Avoid destructive commands in lookup workflows: This skill is read-only.
  • Mark stale data: If discovery is incomplete, flag assumptions.
  • Use Resource Graph for scale: CLI is faster for single subscriptions; Graph for multi-subscription.
  • Protect sensitive output: Don't expose API keys or connection strings from config lookups.
  • Validate query results: Don't assume 0 results = resource doesn't exist (could be permissions issue).

리뷰

아직 리뷰가 없습니다. 사용해 본 소감을 남겨 주세요.

댓글

로그인 없이 쓸 수 있습니다. 사용 후기, 질문, 작동하지 않은 환경 등을 편하게 남겨 주세요.

아직 댓글이 없습니다. 첫 댓글을 남겨 보세요.

보내면 바로 공개됩니다. 이메일 주소나 전화번호 같은 개인 정보는 쓰지 마세요. URL은 2개까지입니다.

0 / 1,000자

이 양식은 reCAPTCHA로 보호되며 Google 개인정보처리방침 및 서비스 약관이 적용됩니다.

같은 저장소의 스킬

Automate 21risk tasks via Rube MCP (Composio). Always search tools first for current schemas.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

manu14357/zskills162026년 7월 24일 업데이트

Automate 2chat tasks via Rube MCP (Composio). Always search tools first for current schemas.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

manu14357/zskills162026년 7월 24일 업데이트

Automate Ably tasks via Rube MCP (Composio). Always search tools first for current schemas.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

manu14357/zskills162026년 7월 24일 업데이트

Automate Abstract tasks via Rube MCP (Composio). Always search tools first for current schemas.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

manu14357/zskills162026년 7월 24일 업데이트

Automate Abuselpdb tasks via Rube MCP (Composio). Always search tools first for current schemas.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

manu14357/zskills162026년 7월 24일 업데이트

Automate Abyssale tasks via Rube MCP (Composio). Always search tools first for current schemas.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

manu14357/zskills162026년 7월 24일 업데이트

manu14357의 스킬 모두 보기

이 스킬의 문제 신고