- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我快要疯了。我究竟如何使用 PowerShell 在 Azure 中创建新的警报规则?
使用 Azure CLI 就这么简单
# Retrieve id for scope parameter
az vm show -n vm1 -o tsv --query id
# Create action group
az monitor action-group create -n action-group1 -g rg-training --action email admin <a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="ff9e9b9296919e9b9b8d9a8c8cbf97908c8bd1908d98" rel="noreferrer noopener nofollow">[email protected]</a>
# Create alert
az monitor metrics alert create -n alert2 -g rg-training --scopes "/subscriptions/<guid>/resourceGroups/rg-training/providers/Microsoft.Compute/virtualMachines/vm1" --condition "avg Percentage CPU > 90" --window-size 5m --evaluation-frequency 1m --action action-group1 --description "High CPU"
这就是我的 PowerShell 尝试的样子
Import-Module Az.Monitor
# Create a new condition
$condition = New-AzMetricAlertRuleV2Criteria -MetricName "Percentage CPU" -MetricNameSpace "Microsoft.Compute/virtualMachines" -TimeAggregation Average -Operator GreaterThan -Threshold 5
# Create new action group and receiver
$receiver = New-AzActionGroupReceiver -Name "Admin" -EmailReceiver -EmailAddress "<a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="82e3e6efebecc2eaedf1f6acedf0e5" rel="noreferrer noopener nofollow">[email protected]</a>"
Set-AzActionGroup -Name "my-action-group" -ShortName "ActionGroup1" -ResourceGroupName "rg-training" -Receiver $receiver
# Retrieve resource id from vm1
$resourceID = get-azresource -name vm1 | Select-Object resourceid
# Finally add the alert rule that will trigger when for more then 5 min CPU percentage is more then 10%
Add-AzMetricAlertRuleV2 -Name "metricRule2" -ResourceGroupName "rg-training" -WindowSize 00:05:00 -Frequency 00:01:00 -TargetResourceId $resourceID -Condition $condition -ActionGroupId "my-action-group" -Severity 4
结果
> Add-AzMetricAlertRuleV2 : Exception type: ErrorResponseException,
> Message: Null/Empty, Code: Null, Status code:BadRequest, Reason
> phrase: Bad Request At C:\Temp\03 Create and test alerts.ps1:17 char:1
> + Add-AzMetricAlertRuleV2 -Name "metricRule2" -ResourceGroupName "rg-tr ...
> + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> + CategoryInfo : CloseError: (:) [Add-AzMetricAlertRuleV2], PSInvalidOperationException
> + FullyQualifiedErrorId : Microsoft.Azure.Commands.Insights.Alerts.AddAzureRmMetricAlertRuleV2Command
我在这里做错了什么?
最佳答案
我同时已经弄清楚了......罪魁祸首是我检索$targetResourceId
的方式。以下内容对我有用......
# TypeName: Microsoft.Azure.Commands.Insights.OutputClasses.PSActionGroupResource
$actionGroup = Get-AzActionGroup -Name "my-action-group" -ResourceGroupName "rg-training"
# TypeName: Microsoft.Azure.Management.Monitor.Management.Models.ActivityLogAlertActionGroup
$actionGroupId = New-AzActionGroup -ActionGroupId $actionGroup.Id
# TypeName: System.TimeSpan
$windowSize = New-TimeSpan -Minutes 1
# TypeName: System.TimeSpan
$frequency = New-TimeSpan -Minutes 1
# TypeName: Microsoft.Azure.Commands.Insights.OutputClasses.PSMetricCriteria
$condition = New-AzMetricAlertRuleV2Criteria -MetricName "Percentage CPU" -TimeAggregation Average -Operator GreaterThan -Threshold 0.1
# TypeName: System.String
$targetResourceId = (Get-AzResource -Name VM1).ResourceId
# TypeName: Microsoft.Azure.Commands.Profile.Models.Core.PSAzureContext
$context = Get-AzContext
Add-AzMetricAlertRuleV2 -Name "metricRule" -ResourceGroupName "rg-training" -WindowSize $windowSize -Frequency $frequency -TargetResourceId $targetResourceId -Condition $condition -ActionGroup $actionGroupId -Severity 3
您可以阅读更多相关信息 here
关于azure - 如何使用 PowerShell 在 Azure 中创建新的警报规则?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61702023/
我正在寻找实现 PowerShell 提供程序 在 电源外壳。 我一直在想,如果我只是定义类型,然后将它们导入我的 session (导入模块),我应该能够让它们可用。 例如,这个 不工作但它沿着我想
我创建的脚本使用了组件,这些组件仅在32位版本的Powershell中可用。 默认情况下,Windows使用Powershell x64执行脚本,这会导致一些错误。 是一种在脚本开头设置值以强制Win
是否可以从 Powershell 中检测它是否是嵌套 shell? 如果我打开 Powershell 或 cmd.exe 窗口,然后输入 powershell 在那里,是否有一个神奇的 $host.s
随着 PowerShell Core 的发布,应用程序在使用托管自动化库 (system.management.automation) 时如何选择调用哪个版本的 Powershell(Powershe
最近,我加入了我企业的 Windows 团队,凭借我的开发人员背景(一般是 Java、.NET 和 Web),我很快就对 PowerShell 产生了兴趣。我可以看到它比普通的旧批处理文件、VB 更有
假设我有一个 powershell 脚本,它在我当前路径的相对路径中包含一个 Powershell 哈希。让我们称之为“name.ps1”,它包含: $names = @{ "bob" = "b
我想为我正在构建的自定义 Powershell Commandlet 使用 SqlServerCmdletSnapin。如果我将以下代码添加到 PSM1 的开头: if ( (Get-PSSnapin
如何调用从 PowerShell 脚本中获取命名参数的 PowerShell 脚本? foo.ps1: param( [Parameter(Mandatory=$true)][String]$a=''
我即将为 Windows 管理员编写一个 PowerShell 脚本,以帮助他们完成与部署 Web 应用程序相关的某些任务。 有什么理由让我应该赞成或排除开发 PowerShell 模块 (.psm1
我的 powershell 模块有一个函数,我希望它返回一个非零退出代码。但是,作为一个模块函数,当我运行 Import-Module 时,它会加载到 powershell 控制台的上下文中。所以,当
我在这个问题上花了最后 4 个小时,非常感谢您提供的任何意见。 我需要使用不同的凭据调用 powershell 脚本并将参数传递给该脚本。 安装 WISEScript 中包装的程序后,此脚本开始收集机
我有一个场景,我需要将 powershell 命令的命令和输出转发到另一个进程以进行日志记录和处理。 我希望这个控制台尽可能接近 powershell,因此不希望将它简单地托管在另一个控制台程序中。
我正在尝试让一个主 PowerShell 脚本运行所有其他脚本,同时等待 30-60 秒以确保完成任务。我尝试过的所有其他操作都不会停止/等待第一个脚本及其进程完成,然后才能同时完成所有其他脚本,并且
我正在编写一个脚本来使用多个 plink (PuTTY) session 作为 Windows 版本的 clustersh。然而,我陷入困境,因为我想从 powershell 打开多个 Powersh
我读了这个答案:How to Open Powershell from Powershell start powershell 这将打开基础的大分辨率 PS 实例。如何打开 PS(x86)? 最佳答案
我很想知道我们是否可以在 Powershell 中做到这一点。 使用 Out-File 命令,我们可以通过管道将其输出写入文件。这样我就可以将我所有的历史命令发送到一个文本文件中。 问题是我可以在每次
我在 about_Pipelines 阅读了有关 PowerShell 中的管道工作原理的信息,并了解到管道一次传送一个对象。 所以,这个 Get-Service | Format-Table -Pr
我正在尝试像这样从 powershell 启动一个进程:- $proc = (start-process $myExe -argumentList '/myArg True' -windowStyle
## To run the script # .\get_status.ps1 -Hostname -Service_Action -Service_Name #$Hostname = "hos
让我们使用 powershell 命令 Write-Host "red text"-Fore red这会在红色前景中显示“红色文本”。 但是,您希望文本以稍微亮一点的方式显示字体颜色,浅红色。 有没有
我是一名优秀的程序员,十分优秀!