如何从 Azure 门户获取 Activity 日志

How to get Activity logs from Azure Portal

我想从 Azure 门户检索所有 activity 日志。我开始尝试连接。我实际上获得了连接,但我不知道如何获得相关的 activity 日志。我使用的是正确的 API 吗?

var operation = networkClient.VirtualNetworkGatewayConnections.ListWithHttpMessagesAsync(resourceGroup);
if (operation != null)
{
    var result = operation.Result;

    if (result != null)
    {
         var body = result.Body;

         foreach (Microsoft.Azure.Management.Network.Models.VirtualNetworkGatewayConnection connection in body)
         {
              Console.WriteLine(connection.Name);
         }
    }
}

Azure Activity 日志/审核日志可以通过多种方式读取。您可以将它们导出到存储帐户并从那里查看。您可以使用 webhooks 和 rest api 来使用自定义工具或第三方工具读取它。您可以将它们用作 powerbi 的数据源,并将其视为图表、表格等。您可以将日志分析解决方案添加到您的工作区并将其配置为读取 activity 日志。

https://docs.microsoft.com/en-us/azure/monitoring-and-diagnostics/monitoring-overview-activity-logs

https://docs.microsoft.com/en-us/azure/log-analytics/log-analytics-add-solutions

how to get the related activity logs

如果您想以编程方式检索和查​​看 activity 日志,您可以尝试 use the Azure Monitor REST API

我使用了这个示例代码,稍作修改: https://code.msdn.microsoft.com/vstudio/Analyze-Azure-Audit-Logs-0977ada4

InsightsClient client = new InsightsClient(credentials);
DateTime endDateTime = DateTime.Now;
DateTime startDateTime = endDateTime.AddDays(days);
string filterString = FilterString.Generate<ListEventsForResourceProviderParameters>(eventData => (eventData.EventTimestamp >= startDateTime) && (eventData.EventTimestamp <= endDateTime) && (eventData.ResourceType == "Microsoft.Network/connections"));

EventDataListResponse response = client.EventOperations.ListEvents(filterString, selectedProperties: null);
List<EventData> logList = new List<EventData>(response.EventDataCollection.Value);

while (!string.IsNullOrEmpty(response.EventDataCollection.NextLink))
{
    response = client.EventOperations.ListEventsNext(response.EventDataCollection.NextLink);
    logList.AddRange(response.EventDataCollection.Value);
}