Azure Application Gateway Logs

edit

Azure Application Gateway Logs

edit

Version

1.20.1 (View all)

Compatible Kibana version(s)

8.13.0 or higher

Supported Serverless project types
What’s this?

Security
Observability

Subscription level
What’s this?

Basic

Azure Application Gateway Logs capture essential information like access to your gateways (caller’s IP, response latency, and more) or security events to detect or prevent threats.

Supported log categories:

Log Category Description

Access log

This log can be used to view Application Gateway access patterns and analyze important information. This includes the caller’s IP, requested URL, response latency, return code, and bytes in and out. An access log is collected every 60 seconds. This log contains one record per instance of Application Gateway. The Application Gateway instance is identified by the instanceId property.

Firewall log

This log can be used to view the requests that are logged through either detection or prevention mode of an application gateway that is configured with the web application firewall. Firewall logs are collected every 60 seconds.

Requirements and setup

edit

Refer to the Azure Logs page for more information about setting up and using this integration.

Settings

edit

eventhub : string An Event Hub is a fully managed, real-time data ingestion service. Elastic recommends using only letters, numbers, and the hyphen (-) character for Event Hub names to maximize compatibility. You can use existing Event Hubs having underscores (_) in the Event Hub name; in this case, the integration will replace underscores with hyphens (-) when it uses the Event Hub name to create dependent Azure resources behind the scenes (e.g., the storage account container to store Event Hub consumer offsets). Elastic also recommends using a separate event hub for each log type as the field mappings of each log type differ. Default value insights-operational-logs.

consumer_group : string The publish/subscribe mechanism of Event Hubs is enabled through consumer groups. A consumer group is a view (state, position, or offset) of an entire event hub. Consumer groups enable multiple consuming applications to each have a separate view of the event stream, and to read the stream independently at their own pace and with their own offsets. Default value: $Default

connection_string : string The connection string is required to communicate with Event Hubs, see steps here.

A Blob Storage account is required in order to store/retrieve/update the offset or state of the eventhub messages. This means that after stopping the Azure logs package it can start back up at the spot that it stopped processing messages.

storage_account : string The name of the storage account where the state/offsets will be stored and updated.

storage_account_key : string The storage account key, this key will be used to authorize access to data in your storage account.

storage_account_container : string The storage account container where the integration stores the checkpoint data for the consumer group. It is an advanced option to use with extreme care. You MUST use a dedicated storage account container for each Azure log type (activity, sign-in, audit logs, and others). DO NOT REUSE the same container name for more than one Azure log type. See Container Names for details on naming rules from Microsoft. The integration generates a default container name if not specified.

resource_manager_endpoint : string Optional, by default we are using the azure public environment, to override, users can provide a specific resource manager endpoint in order to use a different azure environment.

Resource manager endpoints:

# Azure ChinaCloud
https://management.chinacloudapi.cn/

# Azure GermanCloud
https://management.microsoftazure.de/

# Azure PublicCloud
https://management.azure.com/

# Azure USGovernmentCloud
https://management.usgovcloudapi.net/

Logs

edit
application_gateway
edit

The application_gateway data stream of the Azure Logs package will collect any Application Gateway log events that have been streamed through an Azure event hub.

Example

An example event for application_gateway looks as following:

{
    "@timestamp": "2017-04-26T19:27:38.000Z",
    "azure": {
        "application_gateway": {
            "instance_id": "ApplicationGatewayRole_IN_0",
            "operation_name": "ApplicationGatewayAccess"
        },
        "resource": {
            "group": "PEERINGTEST",
            "id": "/SUBSCRIPTIONS/23103928-B2CF-472A-8CDB-0146E2849129/RESOURCEGROUPS/PEERINGTEST/PROVIDERS/MICROSOFT.NETWORK/APPLICATIONGATEWAYS/Application-Gateway-Name",
            "name": "Application-Gateway-Name",
            "provider": "MICROSOFT.NETWORK/APPLICATIONGATEWAYS"
        },
        "subscription_id": "23103928-B2CF-472A-8CDB-0146E2849129"
    },
    "cloud": {
        "account": {
            "id": "23103928-B2CF-472A-8CDB-0146E2849129"
        },
        "provider": "azure"
    },
    "destination": {
        "address": "www.contoso.com",
        "bytes": 553,
        "domain": "www.contoso.com"
    },
    "ecs": {
        "version": "8.11.0"
    },
    "event": {
        "category": [
            "network"
        ],
        "kind": "event",
        "original": "{\"resourceId\":\"/SUBSCRIPTIONS/23103928-B2CF-472A-8CDB-0146E2849129/RESOURCEGROUPS/PEERINGTEST/PROVIDERS/MICROSOFT.NETWORK/APPLICATIONGATEWAYS/Application-Gateway-Name\",\"operationName\":\"ApplicationGatewayAccess\",\"timestamp\":\"2017-04-26T19:27:38Z\",\"category\":\"ApplicationGatewayAccessLog\",\"properties\":{\"instanceId\":\"ApplicationGatewayRole_IN_0\",\"clientIP\":\"67.43.156.7\",\"clientPort\":46886,\"httpMethod\":\"GET\",\"requestUri\":\"/phpmyadmin/scripts/setup.php\",\"requestQuery\":\"X-AzureApplicationGateway-CACHE-HIT=0&SERVER-ROUTED=10.4.0.4&X-AzureApplicationGateway-LOG-ID=874f1f0f-6807-41c9-b7bc-f3cfa74aa0b1&SERVER-STATUS=404\",\"userAgent\":\"-\",\"httpStatus\":404,\"httpVersion\":\"HTTP/1.0\",\"receivedBytes\":65,\"sentBytes\":553,\"timeTaken\":205,\"sslEnabled\":\"off\",\"host\":\"www.contoso.com\",\"originalHost\":\"www.contoso.com\"}}",
        "type": [
            "connection"
        ]
    },
    "http": {
        "request": {
            "method": "GET"
        },
        "response": {
            "status_code": 404
        },
        "version": "1.0"
    },
    "network": {
        "bytes": 618,
        "protocol": "http"
    },
    "observer": {
        "name": "Application-Gateway-Name",
        "product": "Web Application Firewall",
        "type": "firewall",
        "vendor": "Azure"
    },
    "related": {
        "hosts": [
            "www.contoso.com"
        ],
        "ip": [
            "67.43.156.7"
        ]
    },
    "source": {
        "address": "67.43.156.7",
        "as": {
            "number": 35908
        },
        "bytes": 65,
        "geo": {
            "continent_name": "Asia",
            "country_iso_code": "BT",
            "country_name": "Bhutan",
            "location": {
                "lat": 27.5,
                "lon": 90.5
            }
        },
        "ip": "67.43.156.7",
        "port": 46886
    },
    "tags": [
        "preserve_original_event"
    ],
    "url": {
        "domain": "www.contoso.com",
        "path": "/phpmyadmin/scripts/setup.php",
        "query": "X-AzureApplicationGateway-CACHE-HIT=0&SERVER-ROUTED=10.4.0.4&X-AzureApplicationGateway-LOG-ID=874f1f0f-6807-41c9-b7bc-f3cfa74aa0b1&SERVER-STATUS=404"
    }
}

ECS Field Reference

Please refer to the following document for detailed information on ECS fields.

Exported fields
Field Description Type

@timestamp

Event timestamp.

date

azure.application_gateway.action

Action taken on the request. Available values are: Blocked and Allowed (for custom rules) Matched (when a rule matches a part of the request) Detected and Blocked (these are both for mandatory rules, depending on if the WAF is in detection or prevention mode).

keyword

azure.application_gateway.hostname

Hostname or IP address of the Application Gateway.

keyword

azure.application_gateway.instance_id

Application Gateway instance for which firewall data is being generated. For a multiple-instance application gateway, there is one row per instance.

keyword

azure.application_gateway.operation_name

Operation name

keyword

azure.application_gateway.policy.id

Unique ID of the Firewall Policy associated with the Application Gateway, Listener, or Path.

keyword

azure.application_gateway.policy.scope

The location of the policy - values can be "Global", "Listener", or "Location".

keyword

azure.application_gateway.policy.scope_name

The name of the object where the policy is applied.

keyword

azure.application_gateway.transaction_id

Unique ID for a given transaction which helps group multiple rule violations that occurred within the same request.

keyword

azure.correlation_id

Correlation ID

keyword

azure.resource.authorization_rule

Authorization rule

keyword

azure.resource.group

Resource group

keyword

azure.resource.id

Resource ID

keyword

azure.resource.name

Name

keyword

azure.resource.namespace

Resource type/namespace

keyword

azure.resource.provider

Resource type/namespace

keyword

azure.subscription_id

Azure subscription ID

keyword

azure.tenant_id

tenant ID

keyword

data_stream.dataset

Data stream dataset.

constant_keyword

data_stream.namespace

Data stream namespace.

constant_keyword

data_stream.type

Data stream type.

constant_keyword

event.dataset

Event dataset

constant_keyword

event.module

Event module

constant_keyword

Changelog

edit
Changelog
Version Details Kibana version(s)

1.20.1

Bug fix (View pull request)
Fix string literals in painless scripts.

8.13.0 or higher

1.20.0

Enhancement (View pull request)
Add Azure Logs integration v2 (preview)

8.13.0 or higher

1.19.4

Bug fix (View pull request)
Fix destination.geo.region_name mapping.

8.13.0 or higher

1.19.3

Bug fix (View pull request)
Rename the Identity field to identity for consistency.

8.13.0 or higher

1.19.2

Bug fix (View pull request)
Rename the properties field to properties.raw to avoid parse errors when the properties field contains a string.

8.13.0 or higher

1.19.1

Bug fix (View pull request)
Fix an error and clarify the docs about the Storage Account container.

8.13.0 or higher

1.18.0

Enhancement (View pull request)
Add entity identifiers to related.entity.

8.13.0 or higher

1.17.0

Enhancement (View pull request)
Add event.reason log field for exact data found in requests that matches a firewall rule.

8.13.0 or higher

1.16.0

Enhancement (View pull request)
Allow @custom pipeline access to event.original without setting preserve_original_event.

8.13.0 or higher

1.15.1

Bug fix (View pull request)
Fix [client|source].geo.location ECS field mapping

8.13.0 or higher

1.15.0

Enhancement (View pull request)
Add new section on Azure Functions hosting plans.

8.13.0 or higher

1.14.0

Enhancement (View pull request)
Add global dataset filter for dashboards to improve performance.

8.13.0 or higher

1.13.1

Enhancement (View pull request)
Expand docs with more details on the Event Hub partitions configuration.

8.13.0 or higher

1.13.0

Enhancement (View pull request)
Add structured log categories to Azure Firewall.

8.13.0 or higher

1.12.0

Enhancement (View pull request)
ECS version updated to 8.11.0. Update the kibana constraint to ^8.13.0. Modified the field definitions to remove ECS fields made redundant by the ecs@mappings component template.

Breaking change (View pull request)
Updated "event.outcome" values from "Succeeded" to "success" and "Failed" to "failure".

8.13.0 or higher

1.11.4

Bug fix (View pull request)
Replace Azure AD with Microsoft Entra ID.

8.12.0 or higher

1.11.3

Bug fix (View pull request)
Update Azure Audit Logs pipeline with support for initiated_by user fields.

8.12.0 or higher

1.11.2

Bug fix (View pull request)
Add missing ECS field definitions.

8.12.0 or higher

1.11.1

Enhancement (View pull request)
Update description for event hub parameter name recommendations.

8.12.0 or higher

1.11.0

Enhancement (View pull request)
Use ecs definition of the event.dataset field for eventhub

8.12.0 or higher

1.10.0

Enhancement (View pull request)
Add Microsoft Graph Activity Logs

8.12.0 or higher

1.9.2

Enhancement (View pull request)
Add docs for running the integration behind a firewall.

8.12.0 or higher

1.9.1

Bug fix (View pull request)
Set field type to password on secret fields.

8.12.0 or higher

1.9.0

Enhancement (View pull request)
Add support for integration secrets

8.12.0 or higher

1.8.3

Enhancement (View pull request)
Add caller_ip_address field in pipeline for Azure sign-in logs.

8.8.0 or higher

1.8.2

Enhancement (View pull request)
Update Azure logs documentation.

8.8.0 or higher

1.8.1

Enhancement (View pull request)
Update AD Logs documentation.

8.8.0 or higher

1.8.0

Enhancement (View pull request)
Allow rerouting of Azure logs events to a different data stream.

8.8.0 or higher

1.7.0

Enhancement (View pull request)
Rebrand Azure Spring Cloud Logs to Azure Spring Apps

8.6.0 or higher

1.6.0

Enhancement (View pull request)
Update the package format_version to 3.0.0.

8.6.0 or higher

1.5.33

Bug fix (View pull request)
Handle json.properties.clientIp as an alias of json.properties.clientIP in application gateway logs

8.6.0 or higher

1.5.32

Bug fix (View pull request)
Fix mappings for azure.activitylogs.claims.*.

8.6.0 or higher

1.5.31

Enhancement (View pull request)
Migration of Azure AD Identity Protection dashboard to Lens.

8.6.0 or higher

1.5.30

Enhancement (View pull request)
Migration of Azure AD Provisioning Logs dashboard to Lens.

8.6.0 or higher

1.5.29

Enhancement (View pull request)
Fix Azure dashboards descriptions and titles.

8.6.0 or higher

1.5.28

Enhancement (View pull request)
Migration Alerts Overview dashboard to Lens

8.6.0 or higher

1.5.27

Bug fix (View pull request)
Fix in Firewall dashboards

8.6.0 or higher

1.5.26

Bug fix (View pull request)
Handle duplicate user_agent.original field in signinlogs logs

8.6.0 or higher

1.5.25

Bug fix (View pull request)
Handle duplicate url.path field in application gateway logs

8.6.0 or higher

1.5.24

Bug fix (View pull request)
Handle firewall events for DNAT’ed requests with attributes

8.6.0 or higher

1.5.23

Enhancement (View pull request)
Update Azure Logs screenshot

8.6.0 or higher

1.5.22

Enhancement (View pull request)
Migration of Azure Cloud Overview dashboard to Lens and style changes

8.6.0 or higher

1.5.21

Enhancement (View pull request)
Migration of User Activity Dashboard to Lens

8.6.0 or higher

1.5.20

Enhancement (View pull request)
Integration settings UI for sanitization

8.6.0 or higher

1.5.17

Enhancement (View pull request)
Migration of Spring Cloud Overview dashboard to Lens

8.6.0 or higher

1.5.16

Enhancement (View pull request)
Migration of Azure Spring Cloud Logs Application Cloud Logs dashboard to Lens

8.6.0 or higher

1.5.15

Enhancement (View pull request)
Migration of Spring Cloud System Logs dashboard to Lens

8.6.0 or higher

1.5.14

Enhancement (View pull request)
Enhancement/Improving performance of the dashboards

8.6.0 or higher

1.5.13

Enhancement (View pull request)
Extend the Storage Account container documentation and add link to requiements and setup instructions

7.16.0 or higher
8.0.0 or higher

1.5.12

Enhancement (View pull request)
Added categories and/or subcategories.

7.16.0 or higher
8.0.0 or higher

1.5.11

Enhancement (View pull request)
Add a new message format to the AzureFirewallNetworkRule log category

7.16.0 or higher
8.0.0 or higher

1.5.10

Bug fix (View pull request)
Check for event.original already existing in Application Gateway and Event Hub ingest pipelines

7.16.0 or higher
8.0.0 or higher

1.5.9

Bug fix (View pull request)
Check for event.original already existing in firewall logs ingest pipeline

7.16.0 or higher
8.0.0 or higher

1.5.8

Bug fix (View pull request)
Add storage_account_container option to the Application Gateway integration

7.16.0 or higher
8.0.0 or higher

1.5.7

Bug fix (View pull request)
Fix parsing of authentication_processing_details field in signin logs

7.16.0 or higher
8.0.0 or higher

1.5.6

Bug fix (View pull request)
Fix parsing error client port is blank and adjust for timeStamp

7.16.0 or higher
8.0.0 or higher

1.5.5

Bug fix (View pull request)
Rename identity as identity_name when the value is a string

7.16.0 or higher
8.0.0 or higher

1.5.4

Enhancement (View pull request)
Enable Event Hub integration by default and improve documentation

7.16.0 or higher
8.0.0 or higher

1.5.3

Enhancement (View pull request)
Data streams start as disabled on new installs

7.16.0 or higher
8.0.0 or higher

1.5.2

Bug fix (View pull request)
Fix PR link in changelog

7.16.0 or higher
8.0.0 or higher

1.5.1

Bug fix (View pull request)
Fix documentations formatting (remove extra Overview heading)

7.16.0 or higher
8.0.0 or higher

1.5.0

Enhancement (View pull request)
Add Azure Application Gatewaty data stream

7.16.0 or higher
8.0.0 or higher

1.4.1

Enhancement (View pull request)
Update Azure Logs documentation

7.16.0 or higher
8.0.0 or higher

1.4.0

Enhancement (View pull request)
Add two new data streams to the Azure AD logs integration: Azure Identity Protection logs and Provisioning logs

7.16.0 or higher
8.0.0 or higher

1.3.0

Enhancement (View pull request)
Add the possibility to override the default generated storage account container

7.16.0 or higher
8.0.0 or higher

1.2.3

Enhancement (View pull request)
Update docs with recommended Event Hub configuration

7.16.0 or higher
8.0.0 or higher

1.2.2

Enhancement (View pull request)
Update package name and description to align with standard wording

7.16.0 or higher
8.0.0 or higher

1.2.1

Bug fix (View pull request)
Fix Azure Sign-in logs ingest pipeline bug

7.16.0 or higher
8.0.0 or higher

1.2.0

Enhancement (View pull request)
Support Azure firewall logs

1.1.11

Bug fix (View pull request)
Improve support for event.original field from upstream forwarders.

1.1.10

Enhancement (View pull request)
Update readme with links to Microsoft documentation

7.16.0 or higher
8.0.0 or higher

1.1.9

Bug fix (View pull request)
Improve handling of IPv6 IP addresses.

1.1.8

Enhancement (View pull request)
Update docs with details about Event Hub name recommendations

7.16.0 or higher
8.0.0 or higher

1.1.7

Bug fix (View pull request)
Add geo.name and result_description fields in platformlogs

7.16.0 or higher
8.0.0 or higher

1.1.6

Bug fix (View pull request)
Fix azure.activitylogs.identity with a a concrete value

Bug fix (View pull request)
Add identity_name, tenant_id, level and operation_version into activity logs

7.16.0 or higher
8.0.0 or higher

1.1.5

Enhancement (View pull request)
Add documentation for multi-fields

1.1.4

Bug fix (View pull request)
Fix event.duration field mapping conflict in all Azure data streams.

1.1.3

Enhancement (View pull request)
Added the forwarded tag by default to all log types.

1.1.2

Bug fix (View pull request)
Add device_detail.is_compliant and device_detail.is_managed fields

Bug fix (View pull request)
Change authentication_requirement_policies to flattened type

7.16.0 or higher
8.0.0 or higher

1.1.1

Bug fix (View pull request)
Fix field mapping conflict in the auditlogs data stream for client.ip. Changed azure-eventhub.offset and azure-eventhub.sequence_number to longs from keyword in the eventhub data stream.

1.1.0

Enhancement (View pull request)
Support new Azure audit logs and signin logs

1.0.1

Enhancement (View pull request)
Remove beta release tag from data streams

7.16.0 or higher
8.0.0 or higher

1.0.0

Enhancement (View pull request)
Move azure package to GA

7.16.0 or higher
8.0.0 or higher

0.12.3

Enhancement (View pull request)
Update to ECS 8.0

0.12.2

Bug fix (View pull request)
Regenerate test files using the new GeoIP database

0.12.1

Bug fix (View pull request)
Change test public IPs to the supported subset

0.12.0

Enhancement (View pull request)
Release azure package for v8.0.0

0.11.0

Enhancement (View pull request)
Add Azure Event Hub Input

0.10.1

Enhancement (View pull request)
Uniform with guidelines

0.10.0

Enhancement (View pull request)
signinlogs - Add support for ManagedIdentitySignInLogs, NonInteractiveUserSignInLogs, and ServicePrincipalSignInLogs.

0.9.2

Bug fix (View pull request)
Prevent pipeline script error

0.9.1

Bug fix (View pull request)
Fix logic that checks for the forwarded tag

0.9.0

Enhancement (View pull request)
Update to ECS 1.12.0

0.8.6

Bug fix (View pull request)
Add ECS client.ip mapping

0.8.5

Enhancement (View pull request)
Update docs and logo

0.8.4

Enhancement (View pull request)
Convert to generated ECS fields

0.8.3

Enhancement (View pull request)
Import geo_points from ECS

0.8.2

Enhancement (View pull request)
Update error message

0.8.1

Enhancement (View pull request)
Add support for springcloud logs inside the platformlogs pipeline

0.8.0

Enhancement (View pull request)
Import ECS field definitions

0.7.0

Enhancement (View pull request)
Add spring cloud logs

0.6.2

Enhancement (View pull request)
update to ECS 1.11.0

0.6.1

Enhancement (View pull request)
Escape special characters in docs

0.6.0

Enhancement (View pull request)
Update integration description

0.5.1

Enhancement (View pull request)
Re-add pipeline changes for invalid json

0.5.0

Enhancement (View pull request)
Add input groups

0.4.0

Enhancement (View pull request)
Set "event.module" and "event.dataset"

0.3.1

Enhancement (View pull request)
sync package with module changes

0.3.0

Enhancement (View pull request)
update to ECS 1.10.0 and adding event.original options

0.2.3

Enhancement (View pull request)
update to ECS 1.9.0

0.2.2

Bug fix (View pull request)
Correct sample event file.

0.2.1

Bug fix (View pull request)
Add check for empty configuration options.

0.2.0

Enhancement (View pull request)
Add changes to use ECS 1.8 fields.

0.0.1

Enhancement (View pull request)
initial release