首页 > 其他分享 >Automation 结合Logic Apps触发告警 - 配置

Automation 结合Logic Apps触发告警 - 配置

时间:2023-03-16 13:33:12浏览次数:45  
标签:body HTTP string Apps logic apps Automation Logic type

创建好Logic Apps之后,我们来看看如何实现automation以及logic apps的联动

首先先配置logic apps,先设置好触发器,我们这里用HTTP的触发器

Automation 结合Logic Apps触发告警 - 配置_HTTP

然后设计好body的结构,主要就需要邮件的body, subject, to等

{
"properties": {
"email": {
"properties": {
"body": {
"type": "string"
},
"subject": {
"type": "string"
},
"to": {
"type": "string"
}
},
"type": "object"
}
},
"type": "object"
}

设置好trigger之后,会看到这里会生成一个URL,这个就是可以让我们用HTTP来调用的一个endpoint了

Automation 结合Logic Apps触发告警 - 配置_发送邮件_02


接下来就可以设置具体执行的操作了,添加一个新的步骤就是发送邮件,logic apps这点做的很好就是操作起来非常简单,添加一个Office 365 Outlook的action组件,然后直接登录下自己的邮箱账号,后来会常见一个connection出来,之后就可以设置自己想要的操作了,我们这里直接设置发送邮件即可

Automation 结合Logic Apps触发告警 - 配置_发邮件_03


然后邮件的各种内容,都是从之前的HTTP Post请求里读出来的

Automation 结合Logic Apps触发告警 - 配置_发送邮件_04

这样logic apps的部分就设置好了,相对来说还是挺简单的,不需要任何框架,也不需要有coding,鼠标点点就可以了

之后在automation里创建用来监控session host的runbook

Automation 结合Logic Apps触发告警 - 配置_发送邮件_05


相关代码如下,本质上和之前直接用Send-MailMessage发邮件区别不大,只是把发邮件的内容替换成了用HTTP请求来trigger logic apps

$AzureContext = (Connect-AzAccount -Identity).context
# set and store context
$AzureContext = Set-AzContext -SubscriptionName $AzureContext.Subscription -DefaultProfile $AzureContext
Select-AzSubscription -SubscriptionId "xxx";

[string[]]$unhealthlist = @()
$IsUnhealthy = $false

$VDIPools = [ordered]@{
'avdtest' = 'avd'
}

foreach ($VDIPool in $VDIPools.GetEnumerator()) {

$sessionhosts = Get-AzWvdSessionHost -ResourceGroupName $VDIPool.value -HostPoolName $VDIPool.key
foreach ($sessionhost in $sessionhosts) {
if ($sessionhost.Status -ne "Available") {

$unhealthlist += "$($sessionhost.Name) status is $($sessionhost.Status) <br>"
$IsUnhealthy = $true

}

}

}

if ($IsUnhealthy) {

$Body = @"
{
"email" : {
"to" : "xxxx",
"subject" : "Azure VDI Health Alert",
"body": "$unhealthlist"
}

}
"@

Invoke-WebRequest -Uri "https://prod-02.eastasia.logic.azure.com:443/workflows/6c0xxb4/triggers/manual/paths/invoke?api-version=2016-xxxx" -Method Post -Body $Body -ContentType "application/json"


}
else {

write-output "All session hosts are healthy"

}

然后我们设置runbook每隔多久运行一次,或者手动trigger下试试

可以看到logic apps被正常触发了

Automation 结合Logic Apps触发告警 - 配置_HTTP_06

对应的也收到了邮件

Automation 结合Logic Apps触发告警 - 配置_HTTP_07


标签:body,HTTP,string,Apps,logic,apps,Automation,Logic,type
From: https://blog.51cto.com/mxyit/6125190

相关文章

  • Thinkful - Logic Drills: Traffic light
    DESCRIPTIONYou'rewritingcodetocontrolyourtown'strafficlights.Youneedafunctiontohandleeachchangefromgreen,toyellow,tored,andthentogre......
  • CentOS8解决Failed to download metadata for repo 'AppStream'
    CentOS8想安装一个软件一直报错:[root@16fabbf889e5~]#yuminstallinstallwgetCentOS-8-AppStream......
  • 最新HCL AppScan Standard 10.1.028223 安装及 许可证注册
    最新HCLAppScanStandard10.1.028223安装及许可证注册参考原文:《最新HCLAppScanStandard10.1.028223》1、软件介绍1.1、旧版界面1.2、新版本界面1.3:介绍HCLAppS......
  • my read logic
    s问题1:烧一根不均匀的绳 ,要 从头烧到尾总共需要 1 个小时。  现在有若干条材质相同的绳子, 问如何用烧绳的方法来计时一个小时十五分钟呢?解决1:第一步:A 绳从两......
  • windows server 安装AppScan
    一、AppScan下载下载链接:https://pan.baidu.com/s/1csUWPiVkwBNhcUES3XzNqQ?pwd=9xdh  二、AppScan安装(1)双击“AppScan_Setup_10.0.0.exe”开始安装   ......
  • ENGG1310 P2.2 Data, Logic Gates & Binary Computation
    课程内容笔记,自用,不涉及任何assignment,exam答案Notesforself-use,donotincludeanyassignmentsorexamsDataRepresentations这里可以和前面介绍的数字信号/......
  • EBS fnd_global.apps_initialize的使用
    在pl/sql中模拟ebs环境,其目的主要在于解除pvd对视图或者同义词的限制条件能够显示出数据库内容,所以先得初始化环境变量方法如下:fnd_global.apps_initialize(user_ID,Resp......
  • 有关 power apps model-driven apps (CRM)主题的问题。
    Themingisusedtoenhancetheappuserinterface,notdrasticallyalterit.themeEntityType(Microsoft.Dynamics.CRM)|MicrosoftLearnChangethecolorschem......
  • 我的章管家AppStore技术支持
    我的章管家,一键生成电子印章【产品功能】输入名称和编号,可一键生成印章:可以查看我的印章列表,预览印章效果,复制印章文本信息,可以创建印章,删除印章,保存印章到手机相册。如......
  • WebLogic JNDI注入(CVE-2021-2109)
    0x01前言学习一下WebLogicJNDI注入RCE(CVE-2021-2109)0x02环境搭建和之前WebLogic的环境搭建是一致的,本文不再赘述。不过值得一提的是,我的weblogic版本是10.3......