Azure 活动日志解决方案用于将活动日志转发到 Log Analytics。 此解决方案将于 2026 年 9 月 15 日停用,并将自动转换为诊断设置。
建议你如果使用传统收集方法来收集活动日志,将活动日志导出到 Log Analytics 工作区,然后使用数据源 - 删除 API禁用旧收集方法,如下所示:
使用数据源 - 按工作区 API 列出连接到工作区的所有数据源,并通过设置
kind eq 'AzureActivityLog'
来筛选出活动日志。从 API 响应中复制要禁用的连接的名称。
使用删除数据源 API来停止收集特定资源的活动日志。
管理旧版日志配置文件(即将停用)
注释
- 日志配置文件用于将活动日志转发到存储帐户和事件中心。 此方法将于 2026 年 9 月 15 日停用。
- 如果使用此方法,请在 2025 年 9 月 15 日之前过渡到诊断设置,届时我们将停止允许新创建日志配置文件。
日志概要是用于将活动日志发送到存储或事件中心的传统方法。 如果使用此方法,请转换到诊断设置,这可以提供更好的功能并与资源日志的保持一致。
如果日志配置文件已存在,首先必须删除现有日志配置文件,然后创建新的日志配置文件。
使用
Get-AzLogProfile
确定日志配置文件是否存在。 如果存在日志配置文件,请注意Name
属性。使用
Remove-AzLogProfile
通过Name
属性的值删除日志配置文件。# For example, if the log profile name is 'default' Remove-AzLogProfile -Name "default"
使用
Add-AzLogProfile
创建新的日志简介:Add-AzLogProfile -Name my_log_profile -StorageAccountId /subscriptions/s1/resourceGroups/myrg1/providers/Microsoft.Storage/storageAccounts/my_storage -serviceBusRuleId /subscriptions/s1/resourceGroups/Default-ServiceBus-EastUS/providers/Microsoft.ServiceBus/namespaces/mytestSB/authorizationrules/RootManageSharedAccessKey -Location global,westus,eastus -RetentionInDays 90 -Category Write,Delete,Action
资产 必选 DESCRIPTION 名称 是的 日志配置文件的名称。 存储账户ID 否 保存活动日志的存储帐户的资源 ID。 serviceBusRuleId 否 服务总线命名空间(需在其中创建事件中心)的服务总线规则 ID。 此字符串的格式为 {service bus resource ID}/authorizationrules/{key name}
。位置 是的 您希望收集活动日志事件的区域列表,以逗号分隔。 RetentionInDays 是的 事件应在存储帐户中保留的天数,从 1 到 365。 值为零时,将无限期存储日志。 类别 否 要收集的事件类别的逗号分隔列表。 可能值包括:Write、Delete 和 Action。
示例脚本 此示例 PowerShell 脚本创建一个日志配置文件,用于将活动日志写入存储帐户和事件中心。
# Settings needed for the new log profile
$logProfileName = "default"
$locations = (Get-AzLocation).Location
$locations += "global"
$subscriptionId = "<your Azure subscription Id>"
$resourceGroupName = "<resource group name your Event Hub belongs to>"
$eventHubNamespace = "<Event Hub namespace>"
$storageAccountName = "<Storage Account name>"
# Build the service bus rule Id from the settings above
$serviceBusRuleId = "/subscriptions/$subscriptionId/resourceGroups/$resourceGroupName/providers/Microsoft.EventHub/namespaces/$eventHubNamespace/authorizationrules/RootManageSharedAccessKey"
# Build the Storage Account Id from the settings above
$storageAccountId = "/subscriptions/$subscriptionId/resourceGroups/$resourceGroupName/providers/Microsoft.Storage/storageAccounts/$storageAccountName"
Add-AzLogProfile -Name $logProfileName -Location $locations -StorageAccountId $storageAccountId -ServiceBusRuleId $serviceBusRuleId
数据结构更改
导出活动日志体验,与用于发送活动日志的旧版方法发送的数据是相同的,但 AzureActivity
表的结构存在一些更改。
更新后的架构中弃用了下表中的列。 这些列仍存在于 AzureActivity
中,但不会包含任何数据。 这些列的替换项并不是新的,而是包含了与已弃用列相同的数据。 它们采用了一种不同的格式,所以你可能需要对使用它们的日志查询进行修改。
活动日志 JSON | 旧 Log Analytics 列名称 已弃用 () |
新的日志分析列名称 | 注释 |
---|---|---|---|
分类 | 类别 | CategoryValue | |
状态 值为 success 、start 、accept 、failure |
活动状态 值与 JSON 相同 |
活动状态值 值更改为 succeeded 、、 started accepted failed |
有效值按如下所示更改。 |
subStatus | ActivitySubstatus | ActivitySubstatusValue | |
操作名称 | 操作名称 | OperationNameValue | REST API 将本地化操作名称值。 Log Analytics UI 始终显示英语。 |
资源提供者名称 | 资源提供者 | ResourceProviderValue |
重要
在某些情况下,这些列中的值可能全大写。 如果查询包含这些列,请使用 =~ 运算符执行不区分大小写的比较。
以下列已添加到更新后架构的 AzureActivity
中:
Authorization_d
Claims_d
Properties_d