本系統需先於Azure Marketplace 訂閱 [偉盟訊息通知系統]

本系統需搭配 Microsoft Teams App [偉盟警示通知] 或 Telegram Bot [偉盟警示通知]使用

系統概述

偉盟訊息通知系統是一套透過 Azure Marketplace 訂閱的 SaaS 服務, 用於接收 Azure 監控警報或自訂監測系統的事件,並即時透過 Microsoft TeamsTelegram 推播通知給訂閱用戶。

系統主要功能包含:

  • 接收多種來源的監控警報(Azure Monitor、自訂 Webhook)
  • 透過 Microsoft Teams 或 Telegram 即時推播通知
  • 被動偵測服務存活狀態(週期檢查)
  • 彈性的通知容錯與間隔機制
  • 多角色權限分級管理
  • 完整的發送紀錄與訂閱歷程追蹤

快速開始

  1. 購買訂閱:前往 Azure Marketplace 搜尋「偉盟訊息通知系統」,選擇適合的訂閱方案並完成購買。
  2. 啟用訂閱:購買完成後,點擊「設定帳戶」按鈕,系統會自動導向管理介面並啟用您的訂閱。
  3. 設定監控項目:進入「觀察者設定」頁面,新增要監控的站台與服務。
  4. 設定 Teams 或 Telegram 通知(擇一)
      Teams:在 Microsoft Teams 中加入「偉盟警示通知」App,綁定聊天室並關聯監控項目。
      Telegram:在 Telegram 中搜尋「@Wellan_Notification_Bot」,使用 /link 指令綁定聊天室並關聯監控項目。
  5. 設定 Webhook:在 Azure Monitor 或自訂監測系統中,設定 Webhook URL 指向系統提供的接收端點。
  6. 開始接收通知:當警報觸發時,系統會自動判斷狀態並推播通知至您指定的 Teams 聊天室。

功能說明

訊息收集

訊息接收並推播發送

偵測監控服務存活

以被動方式偵測監控服務是否存活(詳情請見功能說明"週期檢查時間")

通訊軟體訊息推播發送

提供 Teams 的訊息發送(僅支援個人以及群組聊天室

提供 Telegram 的訊息發送(支援個人、群組及頻道

可各別指定發送的群組或個人訊息

Microsoft Teams 通知設定

Microsoft Teams 接收訊息通知

僅支援個人以及群組聊天室

步驟如下:

1. 開啟Microsoft Teams, 於Apps 中搜尋偉盟警示通知, 將其加入您的Teams中

2. 點選偉盟警示通知, 選擇您要接收通知的群組或個人

3. 關聯警示通知

  • 請於對話框輸入[綁定],系統回傳對話窗後,依照提示輸入必要的訊息,並點選[綁定],即可綁定成功。

  • [訂閱ID]請於[觀察者設定]中取得,[標註]請設定一個方便辨識的名稱

4. 送出後可以得到一組[識別碼],記住此識別碼

5. 回到本網站,選擇[Teams通知設定]

6. 使用先前獲得的[識別碼]找尋對應的聊天室,並點選[連結監控服務],以設定此聊天室所需接收的警示監控項目

Telegram 通知設定

Telegram 接收訊息通知

支援個人、群組及頻道

步驟如下:

1. 開啟 Telegram,搜尋 Bot @Wellan_Notification_Bot,並開始對話

2. 若要在群組或頻道接收通知,請將 @Wellan_Notification_Bot 加入該群組或頻道,並設為管理員(頻道需要)

3. 關聯警示通知

  • 在對話中輸入 /link [訂閱ID] 指令,例如:/link abc123

  • [訂閱ID] 請於 [觀察者設定] 中取得

  • 群組使用時,請在命令後加上 Bot 名稱,例如:/link@Wellan_Notification_Bot abc123

4. 送出後可以得到一組 [識別碼],記住此識別碼

5. 回到本網站,選擇 [Telegram 通知設定]

6. 使用先前獲得的 [識別碼] 找尋對應的聊天室,並點選 [連結監控服務],以設定此聊天室所需接收的警示監控項目

停用 Telegram 通知

支援個人、群組及頻道

可由 Telegram 對話暫時停用訊息通知,若此通知訊息已不使用則可以到 Telegram 通知設定進行刪除

停用訊息通知步驟如下:

1. 開啟 Telegram

2. 選擇您要停用通知的對話、群組或頻道

3. 停用警示通知

  • 在對話中輸入 /unlink [訂閱ID] [識別碼],例如:/unlink abc123 abc456xyz

  • 群組使用時,請在命令後加上 Bot 名稱,例如:/unlink@Wellan_Notification_Bot abc123 abc456xyz

4. 填入訂閱ID以及先前對於此聊天室的識別碼,送出後即可完成停用步驟

停用Microsoft Teams通知

僅支援個人以及群組聊天室

可由Teams 對話框暫時停用訊息通知,若此通知訊息已不使用則可以到Teams通知設定進行刪除

停用訊息通知步驟如下:

1. 開啟Microsoft Teams

2. 選擇您要停用通知的群組或個人

3. 停用警示通知

  • 請於對話框輸入[解除綁定],系統回傳對話窗後,依照提示輸入必要的訊息,並點選[停用],即可解除綁定。

4. 填入訂閱ID以及先前對於此聊天室的識別碼,送出後即可完成停用步驟。

推播頻率

一分鐘輪詢一次

多種訊息狀態

狀態 說明 Teams 通知圖示
0 OK 正常 🆗🆗🆗🆗🆗
1 Warning 警告 🚨🚨🚨🚨🚨
2 Unknown 未知 🛸🛸🛸🛸🛸
3 Critical 嚴重 🚒💣🚒🔥🚒
4 Info 一般訊息 💾💾💾💾💾
5 Overdue 逾期(超過檢測週期未回報,系統自動產生) 🕸🕷🕸🕷🕸

提供多種訊息來源串接

自訂監測軟體的串接(詳細內容請參考操作說明)

微軟Azure Monitor Metric 接收 webhook資料

微軟Azure Database upgrade(非一般警示結構描述) 接收 webhook資料

微軟Azure VM Update(非一般警示結構描述) 接收 webhook資料

通知機制

  • OK狀態:當上一個狀態非OK,則會發送訊息

  • Info狀態:只要接收到此狀態,則會發送訊息

  • Warning& Critical狀態:可設定容錯次數,以及間隔發送次數

    • 容錯次數:最多可以接受多少相同次數的狀態才發送訊息

    • 間隔發送次數:超過容錯次數後,連續接收到相同狀態的次數後才再次發送訊息

      EX 1:容錯設定0,間隔發送次數設定0,當接受到第一次狀態時即發送訊息,之後接收則不再發送

      EX 2:容錯設定0,間隔發送次數設定1,當接受到第一次狀態時即發送訊息,之後每接受到相同狀態即會再次發送訊息

      EX 3:容錯設定1,間隔發送次數設定3,當接受到第二次相同狀態時才會發送訊息,之後須連續接受到3次相同狀態才會再次發送訊息

  • 週期檢查時間

    單位為分鐘,設定0則不檢查,在超過設定分鐘 後則發送服務已超時的狀態訊息

    可用於被動式偵測服務是否存活

權限分級

角色 權限說明 可管理角色 可設定監控
Owner 系統最高權限,創建此 SaaS 服務人員自帶此權限,無法被其他人變更或刪除
Admin 管理者,可設定權限及增加其他人員加入
Member 成員,無法設定權限,其他訊息設定功能正常
Deny 拒絕存取,登入後無法操作任何功能

管理介面說明

觀察者設定

此頁面為系統的核心管理介面,可檢視與管理訂閱的監控服務。

欄位 說明
通知服務ID 您的 SaaS 訂閱 ID
訂閱方案 目前訂閱的方案名稱
訂閱週期 目前訂閱的起迄日期
周期內已發送量 本週期已發送的通知數量
Secret 用於 V2 API 驗證的密鑰(預設隱藏,點擊眼睛圖示可切換顯示/隱藏)

可執行操作:

  • 重新取得Secret:重新產生 Secret(12 位隨機英數字串),更新後請同步修改所有使用此 Secret 的 Webhook 設定
  • 新增監控項目:建立新的監控項目(詳見操作說明「監控通知種類」)
  • 查看項目狀態:顯示所有已建立的監控項目及其最新狀態,可點選「明細」查看詳細資訊或點選「修改」進行編輯
⚠️ 注意:當監控項目數量達到方案上限時,新增項目將產生額外費用

觀察者細項設定

在觀察者設定頁面的監控項目列表中,點選「明細」可進入此頁面,檢視監控項目的完整設定資訊。

可執行操作:

  • 修改:進入修改頁面,調整監控項目的設定
  • 刪除:永久刪除此監控項目(刪除前會要求確認)
  • 返回:回到觀察者設定頁面

新增 / 修改監控項目

在觀察者設定頁面點選「新增」或於項目列表點選「修改」,可設定以下欄位:

欄位 必填 說明
監控通知種類 Common(自訂)、AzureMonitorMetric、AzureDBUpgrade、AzureVMUpdate
站台名稱 (Host) 對應 Webhook 中的 Host 欄位(Azure 類型為 Resource Name)
服務名稱 (Service) 對應 Webhook 中的 Service 欄位(部分類型會自動填入)
Azure帳戶識別碼 僅 Azure 相關類型需填寫
說明 說明此監控項目的目的,會顯示在通知訊息中
警告容錯 連續多少次 Warning 才發送通知(預設 0)
嚴重容錯 連續多少次 Critical 才發送通知(預設 0)
警告間隔次數 超過容錯後,每幾次再發一次通知
嚴重間隔次數 超過容錯後,每幾次再發一次通知
週期檢查時間 單位:分鐘。設 0 不檢查。超過此時間未收到回報則發送「逾期」通知
時區 通知訊息中顯示的時區(預設 Taipei Standard Time)
💡 提示:Host 和 Service 欄位必須與 Webhook 發送端完全一致,系統才能正確匹配對應的監控項目。

權限設定

管理訂閱內的使用者權限(需 OwnerAdmin 權限才可操作)。

操作方式:

  • 新增成員:輸入 Email 地址邀請,新成員預設為 Member 角色
  • 修改角色:在清單中選擇新角色後點擊修改(不可將任何人設為 Owner)
  • 刪除成員:點擊刪除按鈕移除使用者(Owner 不可被刪除)

Telegram 通知設定

管理已綁定的 Telegram 聊天室通知設定。

此頁面列出所有已透過 Telegram Bot「@Wellan_Notification_Bot」綁定的聊天室,每筆記錄顯示:

欄位 說明
識別碼 綁定時系統產生的唯一識別碼
標註 綁定時設定的備註名稱
聊天室種類 個人、群組或頻道
是否啟用 目前通知是否啟用

可執行操作:

  • 刪除:永久刪除此聊天室綁定(刪除前會要求確認)
  • 連結監控服務:進入通知服務連接設定頁面,選擇此聊天室要接收哪些監控項目的通知,支援「全部連結」及「全部解除」批次操作
  • 訊息測試:發送一則測試訊息至該聊天室,用於驗證通知是否正常運作

Teams 通知設定

管理已綁定的 Teams 聊天室通知設定。

此頁面列出所有已透過 Teams App「偉盟警示通知」綁定的聊天室,每筆記錄顯示:

欄位 說明
識別碼 綁定時系統產生的唯一識別碼
標註 綁定時設定的備註名稱
聊天室種類 個人或群組聊天室
是否啟用 目前通知是否啟用

可執行操作:

  • 刪除:永久刪除此聊天室綁定(刪除前會要求確認)
  • 連結監控服務:進入通知服務連接設定頁面,選擇此聊天室要接收哪些監控項目的通知,支援「全部連結」及「全部解除」批次操作
  • 訊息測試:發送一則測試訊息至該聊天室,用於驗證通知是否正常運作

發送紀錄

查詢通知發送紀錄,可自訂查詢日期範圍。

頁面上方顯示發送紀錄期間發送數量計計的摘要資訊。

欄位 說明
發送時間(UTC+0) 通知發送的時間(以 UTC+0 顯示)
發送管道 發送管道(Teams 或 Telegram)
目標數 發送至多少個對話目標
訊息內容 警報摘要資訊
⚠️ 注意:查詢範圍不可超過 90 天,起始日期不可大於結束日期。

訂閱紀事

檢視訂閱的所有歷史變更紀錄,包含:

  • 訂閱啟用
  • 變更方案 / 數量
  • 訂閱恢復 / 暫停 / 取消
  • 新增 / 修改 / 刪除成員角色
  • 新增 / 修改監控項目
  • 重新取得Secret

每筆紀錄顯示:

欄位 說明
時間 事件發生時間
事件 異動說明
訂閱狀態 包含方案名稱與監控項目數量等資訊

選擇訂閱(切換訂閱)

當您擁有多個訂閱的存取權限時,可透過此頁面切換目前使用的訂閱。

可由頁面右上角(側欄)的「選擇訂閱」按鈕進入此頁面。

頁面資訊:

  • 顯示所有您有權限存取的訂閱列表
  • 每筆訂閱顯示暱稱與訂閱 ID

可執行操作:

  • 使用此訂閱:切換至選定的訂閱
  • 修改暱稱:點擊暱稱旁的編輯圖示,可設定方便辨識的名稱(僅於網站上顯示,不會同步至購買市集)

Teams 通知訊息格式

通知訊息以 ThumbnailCard 格式發送至 Teams,包含以下內容:

欄位 說明
標題 狀態圖示(依嚴重程度顯示不同 emoji)
副標題 監控項目說明
通知服務名稱 觀察者名稱
Host 站台名稱
Service 服務名稱
State 當前狀態
When 事件發生時間(依設定時區顯示)
Info 警報詳細資訊
Record Time (UTC+0) 系統紀錄時間

操作說明

監控通知種類: Common

  • 觀察者設定
    設定值 說明
    站台名稱 對應Web API欄位的"Host",建議設定為主機名稱
    服務名稱 對應Web API欄位的"Service",建議設定為該監控或服務名稱
    說明 說明此訊息項目的目的,此值會顯示在通知中
    警告容錯數 若發送為警告狀態,此值為其容錯數(詳細說明請參考功能說明)
    警告訊息間隔發送數 連續發送警告訊息時,其間隔次數(詳細說明請參考功能說明)
    嚴重容錯數 若發送為嚴重狀態,此值為其容錯數(詳細說明請參考功能說明)
    嚴重訊息間隔發送數 連續發送嚴重訊息時,其間隔次數(詳細說明請參考功能說明)
    周期檢查時間 設定訊息接收的容錯時間(詳細說明請參考功能說明)
  • Web API 傳輸設定
    格式 Json
    Http Action Post
    Parameters
    • SubscriptionID: SaaS訂閱ID
    • Secret: "觀察者設定"所產生的Secret
    URL https://wellannotifyreceiver.azurewebsites.net/CommonNotify/v2/{SubscriptionID}/{Secret}
    Body
                                        {
        "subscriptionID": "string",
        "alertType": "string",
        "service": "string",
        "host": "string",
        "state": 0,
        "when": "2023-08-02T01:57:44.615Z",
        "info": "string"
    }
                                        

    欄位 型態 說明
    subscriptionID String SaaS訂閱ID
    alertType String 警示類別(填寫: Common)
    service String 服務名稱
    host String 站台名稱
    state int 0: 正常 1: 警告 3: 嚴重錯誤 4: 一般訊息
    when DateTime 事件發生時間
    info String 警示通知訊息

監控通知種類: Azure Monitor Metric

  • 支援一般警示結構描述
  • Webhook URL
    一般結構描述 https://wellannotifyreceiver.azurewebsites.net/AzureWebhookCommon/v2/{SubscriptionID}/{Secret}
    非一般結構描述 https://wellannotifyreceiver.azurewebsites.net/AzureWebhook/v2/{SubscriptionID}/{Secret}
    Parameters
    • SubscriptionID: SaaS訂閱ID
    • Secret: "觀察者設定"所產生的Secret
  • 觀察者設定
    設定值 說明
    Azure帳戶識別碼 監測服務的Azure訂閱識別碼
    站台名稱 Azure資源名稱(EX: Azure Database名稱)
    說明 說明此訊息項目的目的,此值會顯示在通知中
    警告容錯數 若發送為警告狀態,此值為其容錯數(詳細說明請參考功能說明)
    警告訊息間隔發送數 連續發送警告訊息時,其間隔次數(詳細說明請參考功能說明)

監控通知種類: Azure DB Upgrade

  • 僅支援非一般警示結構描述
  • Webhook URL
    非一般結構描述 https://wellannotifyreceiver.azurewebsites.net/AzureWebhookDBUpgrade/v2/{SubscriptionID}/{Secret}
    Parameters
    • SubscriptionID: SaaS訂閱ID
    • Secret: "觀察者設定"所產生的Secret
  • 觀察者設定
    設定值 說明
    Azure帳戶識別碼 監測服務的Azure訂閱識別碼
    站台名稱 Azure SQL Server 名稱+Azure Database名稱(EX: ServernameDBname)
    說明 說明此訊息項目的目的,此值會顯示在通知中

監控通知種類: Azure VM Update

  • 僅支援非一般警示結構描述
  • Webhook URL
    非一般結構描述 https://wellannotifyreceiver.azurewebsites.net/AzureAlertVMUpgrade/v2/{SubscriptionID}/{Secret}
    Parameters
    • SubscriptionID: SaaS訂閱ID
    • Secret: "觀察者設定"所產生的Secret
  • 觀察者設定
    設定值 說明
    Azure帳戶識別碼 監測服務的Azure訂閱識別碼
    站台名稱 Azure VM名稱
    說明 說明此訊息項目的目的,此值會顯示在通知中

API 版本比較

V1 與 V2 API 差異

項目 V1 API V2 API(推薦)
驗證方式 僅透過 Body 中的 SubscriptionID 驗證 URL 中包含 SubscriptionID + Secret 雙重驗證
安全性 較低 較高
URL 格式 /{Controller} /{Controller}/v2/{SubscriptionID}/{Secret}
💡 建議:優先使用 V2 API,安全性更高。Secret 可在「觀察者設定」頁面取得或重新產生。

各類型 Webhook URL 對照

監控類型 V2 Webhook URL
Common(自訂) https://wellannotifyreceiver.azurewebsites.net/CommonNotify/v2/{SubscriptionID}/{Secret}
Azure Monitor Metric(一般結構描述) https://wellannotifyreceiver.azurewebsites.net/AzureWebhookCommon/v2/{SubscriptionID}/{Secret}
Azure Monitor Metric(非一般結構描述) https://wellannotifyreceiver.azurewebsites.net/AzureWebhook/v2/{SubscriptionID}/{Secret}
Azure DB Upgrade https://wellannotifyreceiver.azurewebsites.net/AzureWebhookDBUpgrade/v2/{SubscriptionID}/{Secret}
Azure VM Update https://wellannotifyreceiver.azurewebsites.net/AzureAlertVMUpgrade/v2/{SubscriptionID}/{Secret}

其中 {SubscriptionID} 為您的 SaaS 訂閱 ID,{Secret} 為「觀察者設定」中產生的 Secret。

Common API Body 欄位說明

HTTP Method:POST

Content-Type:application/json

Request Body 範例:

{ "subscriptionID": "您的 SaaS 訂閱 ID", "alertType": "Common", "host": "站台名稱(需與監控項目設定一致)", "service": "服務名稱(需與監控項目設定一致)", "state": 3, "when": "2024-01-15T10:30:00", "info": "CPU 使用率超過 90%" }
欄位 型態 說明
subscriptionID String SaaS 訂閱 ID
alertType String 警示類別(填寫:Common)
host String 站台名稱,需與監控項目設定完全一致
service String 服務名稱,需與監控項目設定完全一致
state int 0: OK、1: Warning、2: Unknown、3: Critical、4: Info
when DateTime 事件發生時間(系統會自動轉換為 UTC)
info String 警示通知訊息內容

常見問題

為什麼顯示「沒有權限,請先與原訂閱者取得授權」?

您的 Email 尚未被加入訂閱的角色清單,或角色為 Deny。 請聯繫訂閱的 Owner 或 Admin,將您的 Email 加入為 Member 或 Admin 角色。

為什麼顯示「訂閱可能尚未啟用」?

訂閱在 Azure Marketplace 上仍處於 PendingFulfillmentStart 狀態。 請稍候幾分鐘後重新由 Azure Portal 頁面進入,系統會自動嘗試啟用訂閱。

監控項目的 Host 和 Service 如何正確對應?

Host = 您在 Webhook 發送時的 host 欄位值(Azure 類型為 Resource Name)

Service = 您在 Webhook 發送時的 service 欄位值

兩者都必須與監控項目設定完全一致(包括大小寫),系統才能正確匹配。

💡 提示:若選擇 AzureMonitorMetric 類型,Service 會自動設為 AzureMonitorMetricAlert; AzureDBUpgrade 類型為 UpdateDatabase;AzureVMUpdate 類型為 Updating

V1 和 V2 API 有什麼差異?

V2 API 在 URL 中多了 subscriptionIDSecret 驗證,安全性更高。 建議優先使用 V2 版本。Secret 可在「觀察者設定」頁面取得或重新產生。

超過方案上限的監控項目或發送量會怎樣?

系統會持續正常運作,但超出方案內含額度的部分會被回報至 Azure Marketplace Metering API, 將依照方案的超額費率產生額外費用,費用會反映在您的 Azure 帳單中。

推播通知的頻率是多少?

系統每 1 分鐘輪詢一次,確認是否有需要發送的通知。

逾期偵測也是每分鐘執行一次檢查。

如何停用或刪除 Teams 通知?

您可以透過以下方式管理 Teams 通知:

  • 暫時停用:在 Teams 對話框中輸入「解除綁定」,依提示操作即可暫停通知
  • 永久刪除:前往「Teams通知設定」頁面,刪除對應的聊天室綁定

如何停用或刪除 Telegram 通知?

您可以透過以下方式管理 Telegram 通知:

  • 暫時停用:在 Telegram 對話中輸入 /unlink [訂閱ID] [識別碼],即可暫停通知
  • 永久刪除:前往「Telegram 通知設定」頁面,刪除對應的聊天室綁定

Telegram Bot 有哪些指令可以使用?

@Wellan_Notification_Bot 支援以下指令:

指令 說明
/start 開始使用 Bot,顯示歡迎訊息與使用說明
/link [訂閱ID] 將此聊天室關聯到指定的訂閱ID
/unlink [訂閱ID] [識別碼] 停用此聊天室的警示通知
/help 顯示指令說明
💡 提示:群組使用時,請在命令後加上 Bot 名稱,例如:/link@Wellan_Notification_Bot [訂閱ID]

聯絡資訊

如有任何問題,請聯絡以下信箱

E-Mail:louies@wellan.com.tw