Skip to content

Observability parameter reference

All inputs to observability/infra/main.bicep are explicit. The Bicep source contains no tenant-specific values or notification addresses. Public examples use fictitious values only; real values are supplied through an ignored private overlay or a pipeline variable resolved from the tenant's Key Vault.

Core identity and naming

ParameterRequiredPurpose
workloadYesLowercase workload token used in CAF-derived names
environmentYesEnvironment identifier, such as dev, stg, or prd
regionCodeYesShort CAF region token used in names
instanceYesZero-padded instance identifier
locationYesAzure region for regional resources
ownerAliasYesAccountable owner or team tag, never an object ID or credential
projectYesProject or workload tag value
costCenterYesAllocation tag value
lifecycleYespermanent, temporary, or sandbox
expiresOnYesISO date for temporary or sandbox resources; empty only for permanent resources
managedByYesProvisioning authority tag

Foundation and budget

ParameterRequiredPurpose
operationsEmailsYesPrivate action-group recipients
actionGroupShortNameYesNotification display short name
actionGroupLocationYesAzure-supported action-group location
monthlyBudgetUsdYesSubscription budget amount in USD
budgetStartDateYesFirst date of the recurring budget period in yyyy-MM-01 form
budgetActualAlertThresholdsYesObject containing low, medium, and high actual-cost percentages
enableBudgetForecastNotificationsYesEnables forecast notifications from budgetForecastAlertThresholds
budgetForecastAlertThresholdsYesObject containing low, medium, and high forecast percentages when enabled
logAnalyticsSkuNameYesLog Analytics SKU supplied by the consumer
logAnalyticsRetentionInDaysYesInteractive retention period
logAnalyticsDailyQuotaGbYesDaily cap safety value
deployGrafanaDashboardShellYesCreates the native Azure Monitor dashboard resource
deployGrafanaDashboardDefinitionPreviewYesEnables the preview dashboard-definition child resource
grafanaDashboardDefinitionNameYesDashboard definition child-resource name
grafanaDashboardDefinitionSerializedDataYesSource-controlled serialized dashboard JSON when preview is enabled

Governance and FinOps arrays

ParameterRequiredObject contract
enableGovernancePolicyAssignmentsYesSwitch for governancePolicyAssignments
governancePolicyAssignmentsYesEach item: name, identity, properties; properties include definition ID, scope behavior, exclusions, enforcement mode, and parameter values
enableCostScheduledActionsYesSwitch for costScheduledActions
costScheduledActionsYesEach item: name, kind, properties matching Microsoft.CostManagement/scheduledActions
enableCostExportsYesSwitch for costExports
costExportsYesEach item: name, properties matching Microsoft.CostManagement/exports; destination storage is pre-existing and private

Alerts and control-plane inputs

ParameterRequiredObject contract
alertRuleLocationYesAzure-supported location for alert rule resources
enableActivityLogAlertsYesSwitch for activityLogAlertDefinitions
activityLogAlertDefinitionsYesEach item: name, description, enabled, scopes, conditionAllOf; conditions remain visible in the parameter file
enableActivityLogDiagnosticSettingYesEnables selected Activity Log export to Log Analytics
activityLogDiagnosticSettingNameYesDiagnostic-setting name when export is enabled
activityLogDiagnosticCategoriesYesSelected { category, enabled } entries only, never a catch-all configuration
activityLogDiagnosticDestinationTypeYesOptional Log Analytics destination type
enableMetricAlertsYesSwitch for metricAlertDefinitions
metricAlertDefinitionsYesEach item: name, properties; properties include scopes, metric criteria, threshold, window, frequency, severity, and dimensions
enableAlertProcessingRulesYesSwitch for alertProcessingRuleDefinitions
alertProcessingRuleDefinitionsYesEach item: name, location, properties matching Microsoft.AlertsManagement/actionRules

Diagnostics, workload, and hybrid inputs

ParameterRequiredObject contract
enableFoundryDiagnosticSettingYesEnables selected diagnostics on an existing Foundry account
foundryDiagnosticSettingYestargetSubscriptionId, targetResourceGroupName, targetFoundryAccountName, name, logs, metrics, optional destination type
enableApplicationInsightsYesEnables workspace-based Application Insights
applicationInsightsConfigurationYesname, kind, applicationType, retentionInDays, samplingPercentage, disableLocalAuth, and network-access values
enableAvailabilityTestsYesRequires Application Insights and approved availabilityTestDefinitions
availabilityTestDefinitionsYesEach item: name, kind, properties, optional tags; no secret-bearing request data
enableScheduledQueryAlertsYesSwitch for scheduledQueryAlertDefinitions
scheduledQueryAlertDefinitionsYesEach item: name, display fields, scopes, frequency, window, criteria, severity, and optional mitigation controls
enableDataCollectionRulesYesSwitch for dataCollectionRuleDefinitions; no association or collection occurs until a specific consumer adds it
dataCollectionRuleDefinitionsYesEach item: name, kind, properties, optional identity and tags matching Microsoft.Insights/dataCollectionRules
enableHealthModelPreviewYesEnables the preview health model only for an approved pilot
healthModelPreviewConfigurationYesname, identity, properties; discovery scope must be reviewed

Private overlay rule

Private overlays may contain recipient addresses, scope identifiers, resource IDs, budget amount, thresholds, retention values, storage destinations, and approved dashboard or alert definitions. They may not be committed to the public package. They must be excluded through the consuming repository's .gitignore and passed to the pipeline from a protected source.

Copyright © Hybrid Cloud Solutions LLC — Kristopher Turner