我的目标是在给定存储中使用的总容量大于x GB时发送警报。
我已经尝试通过Azure监视设置警报,但是它没有按预期工作。
我已经设置了警报,用于将MB大小大于该文件的MB上传到存储设备,但没有任何反应。
也许我弄乱了配置,所以它是:
然后,我通过REST API尝试了不同的方法,我发现了Microsoft.Azure.Management.Monitor.Fluent
软件包,甚至还有一个有关监视存储的示例:https://github.com/Azure-Samples/monitor-dotnet-query-metrics-activitylogs
但是此示例不起作用。
它会在我的帐户中创建存储并最终将其删除,但是当它执行监视数据查询时,它会返回异常Bad Request
-将nuget软件包更新为最新版本并不能解决问题。
所以我这里的任务听起来很简单,但事实并非如此
任何人都可以使我朝正确的方向前进吗?
答案 0 :(得分:0)
根据您的条件:在给定存储中使用的总容量大于x GB时发送警报。,然后在警报规则->条件中,您应该选择Total而不是Average for Time聚合。
您可以按照以下步骤操作,当总存储空间超过1GB时,它将起作用并向我发送警报。
1。转到azure门户->监视器->警报->新警报规则,选择您的资源(您的存储帐户):
2。然后单击添加条件,然后选择let yourLine = UIView(frame: CGRect(x: some_value, y: 0, width: Int(lineWidth - (some_value * 2)), height: 1))
:
3。然后在“条件”部分中,为时间聚合选择package main
import (
"context"
"log"
"net/http"
"os"
"os/signal"
)
func main() {
var srv http.Server
idleConnsClosed := make(chan struct{})
go func() {
sigint := make(chan os.Signal, 1)
signal.Notify(sigint, os.Interrupt)
<-sigint
// We received an interrupt signal, shut down.
if err := srv.Shutdown(context.Background()); err != nil {
// Error from closing listeners, or context timeout:
log.Printf("HTTP server Shutdown: %v", err)
}
close(idleConnsClosed)
}()
if err := srv.ListenAndServe(); err != http.ErrServerClosed {
// Error starting or closing listener:
log.Printf("HTTP server ListenAndServe: %v", err)
}
<-idleConnsClosed
}
(我将阈值设置为1GB):
4。配置其他设置,并成功创建规则。
5。尝试上传一些文件以生成警报。
6。如果被触发,您将收到一封警报电子邮件: