[Azure] 將Azure Monitor的訊息發送至Microsoft Teams頻道上

繼前一篇文章[Azure] 將Azure Monitor的訊息發送至LINE推播上,接下來這一篇要將Azure Monitor的訊息送到Microsoft Teams的頻道上

在Azure上Logic App的設定頗為相似,所以在說明如何設定Azure Logic App的動作時,會省略一些步驟,請大家回到上一篇文章查看完整的內容

從前一篇文章[Azure] 將Azure Monitor的訊息發送至LINE推播上中可以看到,要將Azure Monitor的訊息發送至LINE上,中間必須透過一個Logic App進行訊息的轉送,才有辦法將訊息送入到LINE之中Microsoft Teams也一樣,差別只是在於Logic App的送出資料內容不同,以及末端從原本送至LINE改成送到Microsoft Teams而已

下面,我們先在Microsoft Teams的進行一些簡單的設定

1.打開Microsoft Teams,並在打算要送入訊息的Teams頻道上點開選單,並點選[連接器]

2.在連接器中,新增[傳入 Webhook]的服務設定繼續按下新增的按鈕

3.接著在設定連接器中,設定這個通知訊息的名稱,並按下建立的按鈕

4.最後一步,將下面的到Teams的連接器URL記下來,等下在Logic App中會用到

到這裡,Microsoft Teams的設定就已經完成了,接下來要針對Azure的Logic App服務進行設定

1.在新增完成的Logic App中,進入到[邏輯應用程式設計工具]的頁面中一進入到設計工具的頁面,第一個步驟請先點選[Azure Monitor - Metrics Alert Handler]這個項目接下來Logic App會把第一個步驟先以接收Azure Monitor內容範本的方式建立,在這裡我們都先不去修改裡面的JSON內容

2.新增完Logic App的第一個步驟後,按下[+ 新步驟]的按鈕,並選擇新增[HTTP內建],然後點選[選擇要叫用的REST API]

3.接著在要呼叫的REST API設定中,加入下面的設定內容

方法:POST
URI:[在這裡放入剛剛建立Teams的Webhook的URL]
本文:在這裡放入要送入Teams的訊息內容,內容是JSON格式如下

{
	"title":"[這裡是標頭]",
	"text":"[這裡是內文,用<br>作分行]"
}


4.設定完成後,儲存設定,就會在Logic App中得到步驟1中,要啟動Logic App動作的網址,先把這個網址記下來,等一下會用到

5.打開要監控的Azure服務項目,並點選該服務的[警訊]項目接著點選[新增警示規則]

6.建立警示規則的條件,為了文章撰寫方便,所以我設定為網站Requests的數量大於1的時候就發送Monitor的通知,若是有個別需求的話,可以針對不同的內容條件進行設定

7.接著,在設定動作群組的地方,新增動作群組,設定一個名稱以及簡短名稱。在動作的地方,將動作類型設定為[Webhook],並將剛剛Logic App所產生的網址,貼上到URI欄位中

10.最後,確認一下設定都完成了,就可以建立警示規則

11.接下來只要去觸發Azure Monitor的事件,等Azure Monitor將訊息發送到Logic App,再從Logic App發送到Microsoft Teams的頻道中了