Unable to save AGW logs in specific table AGWAccessLogs in logAnalysticsWorkspace

Monalisa Barik 60 Reputation points
2026-08-25T17:25:22.2933333+00:00

I have saved Application gateway logs AzureDiagnostic table and able to see the log .

User's image

I have created another table AGWAccessLogs in Azure LogAnalytics workspace . I want to save Application gateway logs in specific table AGWAccessLogs not AzureDiagnostic table kindly guide on this

Azure Monitor
Azure Monitor

An Azure service that is used to collect, analyze, and act on telemetry data from Azure and on-premises environments.

0 comments No comments

3 answers

Sort by: Most helpful
  1. Suchitra Suregaunkar 16,780 Reputation points Microsoft External Staff Moderator
    2026-08-27T06:44:22.23+00:00

    Hello Monalisa Barik

    Thank you for posting your query on Microsoft Q&A platform.

    The behavior you're seeing is expected, and it comes down to which collection mode your diagnostic setting is using, not anything wrong with your table creation.

    Azure Monitor supports two collection modes when sending resource logs to a Log Analytics workspace:

    1. Azure diagnostics (legacy) – all logs from the resource are written into one shared table called AzureDiagnostics, with a Category column used to tell log types apart.
    2. Resource-specific (recommended) – each log category gets written to its own dedicated table with a proper schema, for example AGWAccessLogs, AGWFirewallLogs, and AGWPerformanceLogs for Application Gateway.

    This is documented here:

    One important clarification: AGWAccessLogs is a built-in, system-defined table, you don't need to create it manually. It's automatically provisioned in your workspace the moment "Resource specific" mode is enabled and the first log record is ingested.

    See the table reference here: AGWAccessLogs table schema.

    What to do:

    1. Go back to your Application Gateway → Diagnostic settings → open your existing setting (agw-diag).
    2. Under Destination table, select "Resource specific" (instead of "Azure diagnostics").
    3. Keep your log categories selected (Access, Performance, Firewall).
    4. Click Save.
    5. Allow a few minutes for the first logs to flow in, then query:
    AGWAccessLogs
    | take 10
    
    • The Azure diagnostics vs. Resource-specific choice applies to the entire diagnostic setting — you can't mix modes within one setting. If you need both AzureDiagnostics and the new resource-specific tables populated at the same time (for example, during a transition), you can add a second diagnostic setting on the same resource with the other mode, since each resource supports up to 5 diagnostic settings. https://learn.microsoft.com/en-us/azure/azure-monitor/essentials/diagnostic-settings.
      • If you'd previously created a custom table literally named AGWAccessLogs yourself, check its type under Log Analytics → Tables. If it shows as a "Custom Log" rather than the system table type, delete it so Azure Monitor can provision the correct resource-specific table with the right schema automatically.

    Once you switch to "Resource specific" and save, new data will start populating AGWAccessLogs (and the other dedicated tables) going forward. Historical data already in AzureDiagnostics won't be retroactively moved, but you can keep querying that table for older records if needed.

    Hope this gets you unblocked — let me know if you run into anything after switching the mode.

    If the answer is helpful, could you please click "Accept Answer" & "upvote" it and this helps other community members who may encounter a similar issue in the future.

    If you’re still experiencing the problem or need further clarification, please feel free to share additional information so we can continue investigating and assist you further.

    Thanks,
    Suchitra.

    Was this answer helpful?

    0 comments No comments

  2. Stanislav Zhelyazkov 29,826 Reputation points MVP Volunteer Moderator
    2026-08-26T05:42:40.9133333+00:00

    Hi,

    When you configure diagnostic settings for Azure resources they have specific tables. For application gateway these tables are AGWAccessLogs, AGWPerformanceLogs and AGWFirewallLogs. So it is not possible that you have created table AGWAccessLogs as the name is reserved within Log Analytics. Also tables created by users have _CL suffix at the end. If you mean that you have created a new custom table different from AGWAccessLogs and you want the logs to go to that custom table instead to AGWAccessLogs you will have to use data transformations. If you check the information about AGWAccessLogs table you will see that it supports DCR workspace transformation. In short for every Log Analytics workspace you can create one Data Collection rule that transforms data that comes from diagnostic settings. You can follow this tutorial initially to understand how it works. To send it to another table in the data collection rule under dataFlows, besides properties streams, destinations and transformKql you will also have property outputStream with value 'Custom-<custom table name>_CL'. Resource custom table name with name of your table. Note that in that data collection rule you will also have to define your custom data table besides just creating its structure via Microsoft.OperationalInsights/workspaces/tables API. You transform query could be very simple of just forwarding the current data table structure to the other if that is unchanged. If you have changes in the structure you will have to adopt the transformation query to that.

    Please "Accept the answer" if the information helped you. This will help us and others in the community as well.

    Was this answer helpful?

    0 comments No comments

  3. AI answer

    2026-08-25T17:25:39.8+00:00

    Application Gateway logs cannot be sent to an arbitrary custom table that was manually created in Log Analytics.

    To store Application Gateway logs in AGWAccessLogs instead of AzureDiagnostics, the diagnostic setting must use Resource-specific mode.

    For Application Gateway, resource-specific mode writes to these dedicated tables:

    • AGWAccessLogs
    • AGWPerformanceLogs
    • AGWFirewallLogs

    Use this configuration in Azure portal:

    1. Open the Application Gateway resource.
    2. Select Diagnostic settings.
    3. Edit the existing setting or create a new one.
    4. Under Send to Log Analytics workspace, set Destination table to Resource specific.
    5. Select the required log categories such as Application Gateway Access Log.
    6. Save the setting.

    Important behavior:

    • In Azure Diagnostics mode, logs go to the shared AzureDiagnostics table.
    • In Resource-specific mode, Application Gateway access logs go to AGWAccessLogs automatically.
    • When switching to resource-specific mode, only newly selected categories use the dedicated tables; existing streams remain unchanged until reconfigured.
    • Dual mode is not available within a single data flow, but multiple diagnostic settings can be used at the same time so that one sends to AzureDiagnostics and another sends to resource-specific tables.

    If AGWAccessLogs is still empty after saving the setting, verify that:

    • The diagnostic setting is using Resource specific, not Azure diagnostics.
    • Application Gateway Access Log is selected.
    • New traffic is reaching the Application Gateway after the change.

    AI-generated content may be incorrect. Read our transparency notes for more information.

    Was this answer helpful?

Your answer

Answers can be marked as 'Accepted' by the question author and 'Recommended' by moderators, which helps users know the answer solved the author's problem.