GoogleCloudPlatform / GoogleCloudPlatform/pubsec-declarative-toolkit
Client: get VM metric/usage per input machine type across a particular region - run periodically to get instance types quota
- Dominant language
- Shell
- Stars
- 36
- Forks
- 26
- PR merge metrics
- No merged PRs in 30d
Description
documented on
https://github.com/GoogleCloudPlatform/pubsec-declarative-toolkit/wiki/DevOps#quota
https://cloud.google.com/docs/quota/monitor
https://cloud.google.com/blog/topics/cost-management/how-to-programmatically-manage-quotas-in-google-cloud
https://cloud.google.com/monitoring/alerts/using-quota-metrics
https://cloud.google.com/sdk/gcloud/reference/compute/regions/describe
Adapt the following to get single usage/limit metric for a particular input VM including GPU specific VMs per region
```
gcloud config set project
gcloud compute regions describe us-central1 --format="csv[no-heading](quotas.metric,quotas.limit,quotas.usage)" | while IFS=, read -r metric limit usage; do echo "$metric Limit: $limit"; echo "$metric Usage: $usage"; done
```
getting
```
michael@cloudshell:~/metrics (bigquery-ol)$ ./metrics.sh
CPUS;DISKS_TOTAL_GB;STATIC_ADDRESSES;IN_USE_ADDRESSES;SSD_TOTAL_GB;INSTANCE_TEMPLATES;LOCAL_SSD_TOTAL_GB;INSTANCE_GROUPS;INSTANCE_GROUP_MANAGERS;INSTANCES;AUTOSCALERS;REGIONAL_AUTOSCALERS;REGIONAL_INSTANCE_GROUP_MANAGERS;TARGET_TCP_PROXIES;PREEMPTIBLE_CPUS;NVIDIA_K80_GPUS;COMMITTED_CPUS;COMMITTED_LOCAL_SSD_TOTAL_GB;COMMITMENTS;NETWORK_ENDPOINT_GROUPS;INTERNAL_ADDRESSES;NVIDIA_P100_GPUS;PREEMPTIBLE_LOCAL_SSD_GB;PREEMPTIBLE_NVIDIA_K80_GPUS;PREEMPTIBLE_NVIDIA_P100_GPUS;NVIDIA_P100_VWS_GPUS;NVIDIA_V100_GPUS;NVIDIA_P4_GPUS;NVIDIA_P4_VWS_GPUS;NODE_GROUPS;NODE_TEMPLATES;PREEMPTIBLE_NVIDIA_V100_GPUS;PREEMPTIBLE_NVIDIA_P4_GPUS;PREEMPTIBLE_NVIDIA_P100_VWS_GPUS;PREEMPTIBLE_NVIDIA_P4_VWS_GPUS;INTERCONNECT_ATTACHMENTS_PER_REGION;INTERCONNECT_ATTACHMENTS_TOTAL_MBPS;RESOURCE_POLICIES;IN_USE_SNAPSHOT_SCHEDULES;NVIDIA_T4_GPUS;NVIDIA_T4_VWS_GPUS;PREEMPTIBLE_NVIDIA_T4_GPUS;PREEMPTIBLE_NVIDIA_T4_VWS_GPUS;IN_USE_BACKUP_SCHEDULES;PUBLIC_DELEGATED_PREFIXES;COMMITTED_NVIDIA_K80_GPUS;COMMITTED_NVIDIA_P100_GPUS;COMMITTED_NVIDIA_P4_GPUS;COMMITTED_NVIDIA_V100_GPUS;COMMITTED_NVIDIA_T4_GPUS;C2_CPUS;N2_CPUS;COMMITTED_N2_CPUS;COMMITTED_C2_CPUS;RESERVATIONS;COMMITTED_LICENSES;N2D_CPUS;COMMITTED_N2D_CPUS;SERVICE_ATTACHMENTS;STATIC_BYOIP_ADDRESSES;AFFINITY_GROUPS;NVIDIA_A100_GPUS;PREEMPTIBLE_NVIDIA_A100_GPUS;COMMITTED_NVIDIA_A100_GPUS;M1_CPUS;M2_CPUS;A2_CPUS;COMMITTED_A2_CPUS;COMMITTED_MEMORY_OPTIMIZED_CPUS;NETWORK_FIREWALL_POLICIES;PSC_INTERNAL_LB_FORWARDING_RULES;EXTERNAL_NETWORK_LB_FORWARDING_RULES;EXTERNAL_PROTOCOL_FORWARDING_RULES;PD_EXTREME_TOTAL_PROVISIONED_IOPS;E2_CPUS;COMMITTED_E2_CPUS;EXTERNAL_MANAGED_FORWARDING_RULES;C2D_CPUS;COMMITTED_C2D_CPUS;N2A_CPUS;SECURITY_POLICIES_PER_REGION;SECURITY_POLICY_RULES_PER_REGION;T2D_CPUS;COMMITTED_T2D_CPUS;C3_CPUS;COMMITTED_C3_CPUS;T2A_CPUS;M3_CPUS;COMMITTED_M3_CPUS;NVIDIA_A100_80GB_GPUS;PREEMPTIBLE_NVIDIA_A100_80GB_GPUS;COMMITTED_NVIDIA_A100_80GB_GPUS;NETWORK_ATTACHMENTS;REGIONAL_INTERNAL_MANAGED_BACKEND_SERVICES;REGIONAL_EXTERNAL_MANAGED_BACKEND_SERVICES;REGIONAL_EXTERNAL_NETWORK_LB_BACKEND_SERVICES;REGIONAL_INTERNAL_LB_BACKEND_SERVICES;NET_LB_SECURITY_POLICIES_PER_REGION;NET_LB_SECURITY_POLICY_RULES_PER_REGION;NET_LB_SECURITY_POLICY_RULE_ATTRIBUTES_PER_REGION;NVIDIA_L4_GPUS;PREEMPTIBLE_NVIDIA_L4_GPUS;COMMITTED_NVIDIA_L4_GPUS;STATIC_EXTERNAL_IPV6_ADDRESS_RANGES;SECURITY_POLICY_ADVANCED_RULES_PER_REGION Limit: 24.0;4096.0;8.0;8.0;500.0;100.0;9.223372036854776e+18;100.0;150.0;24.0;50.0;50.0;150.0;10.0;;1.0;;;;100.0;200.0;1.0;;1.0;1.0;1.0;1.0;1.0;1.0;100.0;100.0;1.0;1.0;1.0;1.0;16.0;80000.0;250.0;20.0;1.0;1.0;1.0;1.0;20.0;10.0;;;;;;8.0;8.0;;;100.0;;8.0;;400.0;128.0;9.223372036854776e+18;;;;;;;;;10.0;400.0;50.0;50.0;120000.0;24.0;;15.0;8.0;;8.0;10.0;100.0;8.0;;8.0;;8.0;;;;;;400.0;50.0;50.0;50.0;50.0;1.0;;;1.0;1.0;1.0;200.0;20.0
CPUS;DISKS_TOTAL_GB;STATIC_ADDRESSES;IN_USE_ADDRESSES;SSD_TOTAL_GB;INSTANCE_TEMPLATES;LOCAL_SSD_TOTAL_GB;INSTANCE_GROUPS;INSTANCE_GROUP_MANAGERS;INSTANCES;AUTOSCALERS;REGIONAL_AUTOSCALERS;REGIONAL_INSTANCE_GROUP_MANAGERS;TARGET_TCP_PROXIES;PREEMPTIBLE_CPUS;NVIDIA_K80_GPUS;COMMITTED_CPUS;COMMITTED_LOCAL_SSD_TOTAL_GB;COMMITMENTS;NETWORK_ENDPOINT_GROUPS;INTERNAL_ADDRESSES;NVIDIA_P100_GPUS;PREEMPTIBLE_LOCAL_SSD_GB;PREEMPTIBLE_NVIDIA_K80_GPUS;PREEMPTIBLE_NVIDIA_P100_GPUS;NVIDIA_P100_VWS_GPUS;NVIDIA_V100_GPUS;NVIDIA_P4_GPUS;NVIDIA_P4_VWS_GPUS;NODE_GROUPS;NODE_TEMPLATES;PREEMPTIBLE_NVIDIA_V100_GPUS;PREEMPTIBLE_NVIDIA_P4_GPUS;PREEMPTIBLE_NVIDIA_P100_VWS_GPUS;PREEMPTIBLE_NVIDIA_P4_VWS_GPUS;INTERCONNECT_ATTACHMENTS_PER_REGION;INTERCONNECT_ATTACHMENTS_TOTAL_MBPS;RESOURCE_POLICIES;IN_USE_SNAPSHOT_SCHEDULES;NVIDIA_T4_GPUS;NVIDIA_T4_VWS_GPUS;PREEMPTIBLE_NVIDIA_T4_GPUS;PREEMPTIBLE_NVIDIA_T4_VWS_GPUS;IN_USE_BACKUP_SCHEDULES;PUBLIC_DELEGATED_PREFIXES;COMMITTED_NVIDIA_K80_GPUS;COMMITTED_NVIDIA_P100_GPUS;COMMITTED_NVIDIA_P4_GPUS;COMMITTED_NVIDIA_V100_GPUS;COMMITTED_NVIDIA_T4_GPUS;C2_CPUS;N2_CPUS;COMMITTED_N2_CPUS;COMMITTED_C2_CPUS;RESERVATIONS;COMMITTED_LICENSES;N2D_CPUS;COMMITTED_N2D_CPUS;SERVICE_ATTACHMENTS;STATIC_BYOIP_ADDRESSES;AFFINITY_GROUPS;NVIDIA_A100_GPUS;PREEMPTIBLE_NVIDIA_A100_GPUS;COMMITTED_NVIDIA_A100_GPUS;M1_CPUS;M2_CPUS;A2_CPUS;COMMITTED_A2_CPUS;COMMITTED_MEMORY_OPTIMIZED_CPUS;NETWORK_FIREWALL_POLICIES;PSC_INTERNAL_LB_FORWARDING_RULES;EXTERNAL_NETWORK_LB_FORWARDING_RULES;EXTERNAL_PROTOCOL_FORWARDING_RULES;PD_EXTREME_TOTAL_PROVISIONED_IOPS;E2_CPUS;COMMITTED_E2_CPUS;EXTERNAL_MANAGED_FORWARDING_RULES;C2D_CPUS;COMMITTED_C2D_CPUS;N2A_CPUS;SECURITY_POLICIES_PER_REGION;SECURITY_POLICY_RULES_PER_REGION;T2D_CPUS;COMMITTED_T2D_CPUS;C3_CPUS;COMMITTED_C3_CPUS;T2A_CPUS;M3_CPUS;COMMITTED_M3_CPUS;NVIDIA_A100_80GB_GPUS;PREEMPTIBLE_NVIDIA_A100_80GB_GPUS;COMMITTED_NVIDIA_A100_80GB_GPUS;NETWORK_ATTACHMENTS;REGIONAL_INTERNAL_MANAGED_BACKEND_SERVICES;REGIONAL_EXTERNAL_MANAGED_BACKEND_SERVICES;REGIONAL_EXTERNAL_NETWORK_LB_BACKEND_SERVICES;REGIONAL_INTERNAL_LB_BACKEND_SERVICES;NET_LB_SECURITY_POLICIES_PER_REGION;NET_LB_SECURITY_POLICY_RULES_PER_REGION;NET_LB_SECURITY_POLICY_RULE_ATTRIBUTES_PER_REGION;NVIDIA_L4_GPUS;PREEMPTIBLE_NVIDIA_L4_GPUS;COMMITTED_NVIDIA_L4_GPUS;STATIC_EXTERNAL_IPV6_ADDRESS_RANGES;SECURITY_POLICY_ADVANCED_RULES_PER_REGION Usage: ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
```
Contributor guide
Assessment
This issue has not been assessed yet.