Skip to content

EnergiMidt/terraform-azurerm-applicationinsights

Repository files navigation

Manages an Application Insights component.

Note: Classic Applications Insights will be retired on 29 February 2024.

Getting Started

  • Format and validate Terraform code before commit.
terraform init -upgrade \
    && terraform init -reconfigure -upgrade \
    && terraform fmt -recursive . \
    && terraform fmt -check \
    && terraform validate .
  • Always fetch latest changes from upstream and rebase from it. Terraform documentation will always be updated with GitHub Actions. See also .github/workflows/terraform.yml GitHub Actions workflow.
git fetch --all --tags --prune --prune-tags \
  && git pull --rebase --all --prune --tags

Requirements

Name Version
terraform >= 1.3.1
azurerm >= 3.33.0, < 4.0.0

Providers

Name Version
azurerm 3.45.0

Modules

No modules.

Resources

Name Type
azurerm_application_insights.application_insights resource
azurerm_application_insights_web_test.web_test resource

Inputs

Name Description Type Default Required
app_name (Required) Name of this resource within the system it belongs to (see naming convention guidelines).
Will be part of the final name of the deployed resource.
string n/a yes
application_type (Optional) Specifies the type of Application Insights to create. Valid values are ios for iOS, java for Java web, MobileCenter for App Center, Node.JS for Node.js, other for General, phone for Windows Phone, store for Windows Store and web for ASP.NET. Please note these values are case sensitive; unmatched values are treated as ASP.NET by Azure. Changing this do not force a new resource to be created. string "other" no
daily_data_cap_in_gb (Optional) Specifies the Application Insights component daily data volume cap in GB. number 0.15 no
daily_data_cap_notifications_disabled (Optional) Specifies if a notification email will be send when the daily data volume cap is met. bool false no
disable_ip_masking (Optional) By default the real client IP is masked as 0.0.0.0 in the logs. Use this argument to disable masking and log the real client IP. Defaults to false. bool false no
environment (Required) The name of the environment. string n/a yes
force_customer_storage_for_profiler (Optional) Should the Application Insights component force users to create their own storage account for profiling? Defaults to false. bool false no
internet_ingestion_enabled (Optional) Should the Application Insights component support ingestion over the Public Internet? Defaults to true. bool true no
internet_query_enabled (Optional) Should the Application Insights component support querying over the Public Internet? Defaults to true. bool true no
local_authentication_disabled (Optional) Disable Non-Azure AD based Auth. Defaults to false. bool false no
override_location (Optional) Override the location of the resource. Under normal circumstances, it should not be used. string null no
override_name (Optional) Override the name of the resource. Under normal circumstances, it should not be used. string null no
resource_group (Required) The resource group in which to create the resource. any n/a yes
retention_in_days (Optional) Specifies the retention period in days. Possible values are 30, 60, 90, 120, 180, 270, 365, 550 or 730. Defaults to 30 for cost optimization instead of upstream 90. number "30" no
sampling_percentage (Optional) Specifies the percentage of the data produced by the monitored application that is sampled for Application Insights telemetry. number "100" no
system_short_name (Required) Short abbreviation (to-three letters) of the system name that this resource belongs to (see naming convention guidelines).
Will be part of the final name of the deployed resource.
string n/a yes
tags (Optional) A mapping of tags to assign to the resource. map(string) {} no
web_test (Optional) The map of web test(s).
Example:
{
availabilitytest-client" = {
url = "https://client.example.com"
timeout = 30
enabled = true
retry_enabled = true
geo_locations = [ # https://learn.microsoft.com/en-gb/azure/azure-monitor/app/monitor-web-app-availability#azure
"emea-gb-db3-azr", # North Europe
"emea-nl-ams-azr" # West Europe
]
}
}
map(
object({
url = string
kind = optional(string)
frequency = optional(number)
timeout = number
enabled = bool
retry_enabled = bool
geo_locations = list(string)
})
)
{} no
workspace_id (Required) Specifies the id of a log analytics workspace resource. Changing this forces a new resource to be created. string n/a yes

Outputs

Name Description
azurerm_application_insights The Azure Application Insights resource.
azurerm_application_insights_web_test The Azure Application Insights Web Test resource.