你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

Set-AzDiagnosticSetting

设置资源的日志和指标设置。

语法

Set-AzDiagnosticSetting
   -ResourceId <String>
   [-Name <String>]
   [-StorageAccountId <String>]
   [-ServiceBusRuleId <String>]
   [-EventHubName <String>]
   [-EventHubAuthorizationRuleId <String>]
   [-Enabled <Boolean>]
   [-Category <System.Collections.Generic.List`1[System.String]>]
   [-MetricCategory <System.Collections.Generic.List`1[System.String]>]
   [-Timegrain <System.Collections.Generic.List`1[System.String]>]
   [-RetentionEnabled <Boolean>]
   [-WorkspaceId <String>]
   [-ExportToResourceSpecific]
   [-RetentionInDays <Int32>]
   [-DefaultProfile <IAzureContextContainer>]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]
Set-AzDiagnosticSetting
   -InputObject <PSServiceDiagnosticSettings>
   [-DefaultProfile <IAzureContextContainer>]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]

说明

Set-AzDiagnosticSetting cmdlet 启用或禁用特定资源的每次粒度和日志类别。 日志和指标存储在指定的存储帐户中。 此 cmdlet 实现 ShouldProcess 模式,即在实际创建、修改或删除资源之前,它可能会请求用户确认。

示例

示例 1:为资源启用所有指标和日志

PS C:\>Set-AzDiagnosticSetting -ResourceId "Resource01" -Enabled $True

此命令启用 Resource01 的所有可用指标和日志。

示例 2:禁用所有指标和日志

PS C:\>Set-AzDiagnosticSetting -ResourceId "Resource01" -Enabled $False

此命令禁用资源 Resource01 的所有可用指标和日志。

示例 3:启用/禁用多个指标类别

PS C:\>Set-AzDiagnosticSetting -ResourceId "Resource01" -Enabled $False -MetricCategory MetricCategory1,MetricCategory2
StorageAccountId   : <storageAccountId>
StorageAccountName : <storageAccountName>
Metrics
   Enabled   : False
   Category  : MetricCategory1
   Timegrain : PT1M
   Enabled   : False
   Category  : MetricCategory2
   Timegrain : PT1H
   Enabled   : True
   Category  : MetricCategory3
   Timegrain : PT1H
Logs
   Enabled  : True
   Category : Category1
   Enabled  : True
   Category : Category2
   Enabled  : True
   Category : Category3
   Enabled  : False
   Category : Category4

此命令禁用名为 Category1 和 Category2 的指标类别。 所有其他类别保持不变。

示例 4:启用/禁用多个日志类别

PS C:\>Set-AzDiagnosticSetting -ResourceId "Resource01" -Enabled $True -Category Category1,Category2
StorageAccountId   : <storageAccountId>
StorageAccountName : <storageAccountName>
Metrics
   Enabled   : False
   Category  : MetricCategory1
   Timegrain : PT1M
   Enabled   : False
   Category  : MetricCategory2
   Timegrain : PT1H
   Enabled   : True
   Category  : MetricCategory3
   Timegrain : PT1H
Logs
   Enabled  : True
   Category : Category1
   Enabled  : True
   Category : Category2
   Enabled  : True
   Category : Category3
   Enabled  : False
   Category : Category4

此命令启用 Category1 和 Category2。 所有其他指标和日志类别保持不变。

示例 4:启用时间粒度和多个类别

PS C:\>Set-AzDiagnosticSetting -ResourceId "Resource01" -Enabled $True -Category Category1,Category2 -Timegrain PT1M

此命令仅启用 Category1、Category2 和时间粒度 PT1M。 所有其他时间粒度和类别保持不变。

示例 5:使用管道

PS C:\>Get-AzDiagnosticSetting -ResourceId "Resource01" | Set-AzDiagnosticSetting -Enabled $True -Category Category1,Category2

此命令使用 PowerShell 管道设置诊断设置(未进行更改)。

参数

-Category

根据 Enabled 的值指定要启用或禁用的日志类别列表。 如果未指定任何类别,此命令将对所有受支持的类别进行操作。

类型:List<T>[String]
Position:Named
默认值:None
必需:False
接受管道输入:True
接受通配符:False

-Confirm

提示你在运行 cmdlet 之前进行确认。

类型:SwitchParameter
别名:cf
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-DefaultProfile

用于与 azure 通信的凭据、帐户、租户和订阅

类型:IAzureContextContainer
别名:AzContext, AzureRmContext, AzureCredential
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-Enabled

指示是否启用诊断。 指定$True以启用诊断,或$False禁用诊断。

类型:Boolean
Position:Named
默认值:None
必需:False
接受管道输入:True
接受通配符:False

-EventHubAuthorizationRuleId

事件中心授权规则 ID

类型:String
Position:Named
默认值:None
必需:False
接受管道输入:True
接受通配符:False

-EventHubName

事件中心名称

类型:String
Position:Named
默认值:None
必需:False
接受管道输入:True
接受通配符:False

-ExportToResourceSpecific

指示导出到 LA 的标志必须执行到特定于资源的表(即专用或固定架构表),而不是名为 AzureDiagnostics 的默认动态架构表。

仅当参数 -workspaceId 也给定时,此参数才有效。

类型:SwitchParameter
Position:Named
默认值:None
必需:False
接受管道输入:True
接受通配符:False

-InputObject

输入对象(可能来自管道)。将从此对象中提取名称和 resourceId。

类型:PSServiceDiagnosticSettings
Position:Named
默认值:None
必需:True
接受管道输入:True
接受通配符:False

-MetricCategory

指标类别的列表。 如果未指定任何类别,此命令将对所有受支持的类别进行操作。

类型:List<T>[String]
Position:Named
默认值:None
必需:False
接受管道输入:True
接受通配符:False

-Name

诊断设置的名称。 默认值为 服务

类型:String
Position:Named
默认值:None
必需:False
接受管道输入:True
接受通配符:False

-ResourceId

指定资源的 ID。

类型:String
Position:Named
默认值:None
必需:True
接受管道输入:True
接受通配符:False

-RetentionEnabled

指示是否启用诊断信息的保留期。

类型:Nullable<T>[Boolean]
Position:Named
默认值:None
必需:False
接受管道输入:True
接受通配符:False

-RetentionInDays

指定保留策略(以天为单位)。

类型:Nullable<T>[Int32]
Position:Named
默认值:None
必需:False
接受管道输入:True
接受通配符:False

-ServiceBusRuleId

服务总线规则 ID。

类型:String
Position:Named
默认值:None
必需:False
接受管道输入:True
接受通配符:False

-StorageAccountId

指定要在其中保存数据的存储帐户的 ID。

类型:String
Position:Named
默认值:None
必需:False
接受管道输入:True
接受通配符:False

-Timegrain

根据 Enabled 的值指定要启用或禁用指标的时间粒度。 如果未指定时间粒度,此命令将对所有可用的时间粒度进行操作。

类型:List<T>[String]
Position:Named
默认值:None
必需:False
接受管道输入:True
接受通配符:False

-WhatIf

显示运行该 cmdlet 时会发生什么情况。 cmdlet 未运行。

类型:SwitchParameter
别名:wi
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-WorkspaceId

要向其发送日志/指标的 Log Analytics 工作区的资源 ID

类型:String
Position:Named
默认值:None
必需:False
接受管道输入:True
接受通配符:False

输入

PSServiceDiagnosticSettings

String

Boolean

List<T>[[System.String, System.Private.CoreLib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]]

Nullable<T>[[System.Boolean, System.Private.CoreLib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]]

Nullable<T>[[System.Int32, System.Private.CoreLib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]]

输出

PSServiceDiagnosticSettings