Azure Application Gateway Log Analyzer using GoAccess

by rajajip
Last updated: 13-09-2018

This template uses the Azure Linux CustomScript extension to deploy an Azure Application Gateway Log Analyzer using GoAccess. The deployment template creates an Ubuntu VM, installs Application Gateway Log Processor, GoAccess, Apache WebServer and configures it to analyze Azure Application Gateway access logs.

This Azure Resource Manager (ARM) template was created by a member of the community and not by Microsoft. Each ARM template is licensed to you under a licence agreement by its owner, not Microsoft. Microsoft is not responsible for ARM templates provided and licensed by community members and does not screen for security, compatibility or performance. Community ARM templates are not supported under any Microsoft support programme or service and are made available AS IS without warranty of any kind.


Parameter Name Description
adminUsername Username you want to use for the VM the template creates
adminPassword Password you want to use to log in to the VM
vmSize Size of the VM
dnsNameForPublicIP The DNS name (prefix) you want to use for the VM to map against its public IP
appGwAccessLogsBlobSasUri The SAS URL connection string for the storage account blog where your Application Gateway Access Logs are stored
filterRegexForAppGwAccessLogs A regex to use to filter the Application Gateway Access Logs to a specific subset. For example, if you have multiple application gateways publishing logs to the same storage account blob, and you only want GoAccess to surface traffic stats for say one of the Application Gateways, you can provide a regex for this field to filter to just that instance.
location Location for all resources.
_artifactsLocation The base URI where artifacts required by this template are located including a trailing '/'
_artifactsLocationSasToken The sasToken required to access _artifactsLocation. When the template is deployed using the accompanying scripts, a sasToken will be automatically generated. Use the defaultValue if the staging location is not secured.

Use the template


New-AzureRmResourceGroupDeployment -Name <deployment-name> -ResourceGroupName <resource-group-name> -TemplateUri
Install and configure Azure PowerShell

Command line

azure config mode arm
azure group deployment create <my-resource-group> <my-deployment-name> --template-uri
Install and Configure the Azure Cross-Platform Command-Line Interface