Do not create more than 2000 Citrix VDA servers per subscription
Impact:HighCategory:Governance
APRL GUID:c041d596-6c97-4c5f-b4b3-9cd37628f2e2
Description:
A Citrix Managed Azure subscription supports VMs with VDA for app/desktop delivery, excluding other machines like Cloud Connectors. When close to the limit, signaled by a dashboard notification, and with sufficient licenses, request another subscription. Can't exceed the given limits for catalogs.
Click the Azure Resource Graph tab to view the query
//AzureResourceGraphQuery//CountVMinstanceswithatagthatcontains"Citrix VDA"andcreateoutputifthatcountis>2000foreachsubscription.//TheCitrixpublishedlimitis2500.Thisqueryrunsan80%check.resources|wheretype=='microsoft.compute/virtualmachines'|wheretagscontains'Citrix VDA'|summarizeVMs=count()bysubscriptionId|whereVMs>2000|join(resourcecontainers|wheretype=='microsoft.resources/subscriptions'|projectsubname=name,subscriptionId)onsubscriptionId|projectrecommendationId='c041d596-6c97-4c5f-b4b3-9cd37628f2e2',name=subname,id=subscriptionId,param1='Too many instances.',param2=VMs
Configure Service Health Alerts
Impact:HighCategory:Monitoring and Alerting
APRL GUID:9729c89d-8118-41b4-a39b-e12468fa872b
Description:
Service health gives a personalized health view of Azure services and regions used, offering the best place for notifications on outages, planned maintenance, and health advisories by knowing the services used.
Click the Azure Resource Graph tab to view the query
//AzureResourceGraphQuery//ThisresourcegraphquerywillreturnallsubscriptionswithoutServiceHealthalertsconfiguredANDsubscriptionswithServiceHealthalertsonlyconfiguredwithspecificconfiguration(whichrequiresmanualverificationregardingthescopebeingcoveredbythisrule)resourcecontainers|wheretype=='microsoft.resources/subscriptions'|projectsubscriptionId=id,subscriptionName=name,tags|joinkind=leftouter(resources|wheretype=="microsoft.insights/activitylogalerts"andproperties.conditioncontains"ServiceHealth"|extendshaRuleType=iff(array_length(properties.condition.allOf)>1,'Explicit','All')|projectsubscriptionId=strcat('/subscriptions/',subscriptionId),name,shaRuleType|summarizeshaAllRuleCount=countif(shaRuleType=='All'),shaExplicitRuleCount=countif(shaRuleType=='Explicit')bysubscriptionId)onsubscriptionId|extendshaStatus=iff(isnull(shaAllRuleCount)andisnull(shaExplicitRuleCount),'Not configured',iff(shaAllRuleCount>=1,'Configured','Explicit'))|whereshaStatus!='Configured'|projectrecommendationId="9729c89d-8118-41b4-a39b-e12468fa872b",name=subscriptionName,id=subscriptionId,tags,param1=iff(shaStatus=='Explicit','Explicit only Service Health Alert Rule(s) found. Please verify that the expected scope is covered by these rule(s).','No Service Health Alert Rule found.')