透過騰訊雲簡訊服務(SendSms)將告警以簡訊形式發送,新手可依步驟逐步完成設定。

概述

騰訊雲簡訊通知媒介利用騰訊雲 SMS · SendSms API,把告警以一般簡訊的形式下發到手機。常作為電子郵件/IM 的兜底管道。

  • 適用情境:必須兜底通知、未安裝 IM 的使用者、值班人員交接班提醒等。
  • 你需要準備:
    1. 已開通騰訊雲簡訊 SMS 的帳號;
    2. 騰訊雲 SecretId / SecretKey(建議使用 CAM 子帳號,僅授予 SMS 發送權限);
    3. SmsSdkAppId(簡訊應用 ID,於 SMS 控制台中建立);
    4. 已審核通過的 簡訊簽名簡訊範本
  • 整個設定分三步:①在騰訊雲控制台準備應用/簽名/範本 → ②在夜鶯新建騰訊雲簡訊通知媒介 → ③使用者填手機號碼、通知規則裡選擇接收人

簽名與範本需要工單審核(通常數小時到 1 個工作日),首次接入建議預留時間。

第一步:在騰訊雲控制台準備資料

  1. 登入 騰訊雲簡訊控制台
  2. 建立簡訊應用:進入 應用管理 → 建立應用,得到 SmsSdkAppId(一串數字)。
  3. 建立簡訊簽名簽名管理 → 建立簽名,依引導填寫企業/個人資質審核。
  4. 建立簡訊範本正文範本 → 建立正文範本
    • 範本類型選「通知類」;
    • 重點:範本只能有一個變數 {1},因為夜鶯預先設定的請求內容裡寫的是 TemplateParamSet = ["{{$tpl.content}}"]——只傳了一個值,對應 {1}
    • 把固定話術寫在範本裡,讓 {1} 只放變化部分:
      您有一條 {1} 級別的告警,請及時處理
      
      然後到夜鶯 → 訊息範本 → 複製一份 Tencent SMS,把 content 欄位改成你想填進 {1} 的內容。
    • 審核通過後取得 TemplateId(數字 ID)。
  5. CAM 建立子帳號,授予策略 QcloudSMSFullAccess(或自訂最小權限),記下 SecretId / SecretKey

第二步:在夜鶯新建騰訊雲簡訊通知媒介

  1. 登入夜鶯 → 左側選單 通知 → 通知媒介

  2. 在左側類型面板點擊 騰訊雲簡訊,進入新建頁面(URL /notification-channels/add?ident=tx-sms)。

  3. 填寫基礎設定: 騰訊雲簡訊基礎設定

    欄位 說明
    名稱 例如 騰訊雲簡訊
    聯絡方式 保持預設 Phone
    URL 保持預設 https://sms.tencentcloudapi.com
    請求方法 POST
  4. 請求標頭部分,除了常規的 Content-Type / Host,騰訊雲還要求填寫驗證相關欄位:

    騰訊雲簡訊請求標頭

    參數名稱 是否需要修改
    Content-Type application/json 保持預設
    Host sms.tencentcloudapi.com 保持預設
    Secret_ID 你的 SecretId 需要修改
    Secret_Key 你的 SecretKey 需要修改
    Service sms 保持預設
    X-TC-Action SendSms 保持預設
    X-TC-Region 你的地域 需要修改,例如 ap-guangzhou / ap-beijing,依簡訊應用所在地域填寫
    X-TC-Version 2021-01-11 保持預設

    Secret_ID / Secret_Key 不會以明文發送:夜鶯在發出請求前會用它們計算 TC3-HMAC-SHA256 簽章,並從請求標頭中移除。

  5. 最後修改「請求內容」,把佔位符換成你的值:

    {
      "PhoneNumberSet": ["{{ $sendto }}"],
      "SignName": "需修改為實際的簽名",
      "SmsSdkAppId": "需修改為實際的 appid",
      "TemplateId": "需修改為實際的範本 id",
      "TemplateParamSet": ["{{$tpl.content}}"]
    }
    
    欄位 說明
    PhoneNumberSet ["{{ $sendto }}"] 保持預設——發送時會替換成接收人的手機號碼;國內號碼要求 E.164 格式,即 +86138XXXXXXXX(見 Q4 說明)
    SignName 你的簡訊簽名 第一步審核通過的簽名名稱,一字不差
    SmsSdkAppId 你的應用 ID 第一步建立的數字 ID
    TemplateId 你的範本 ID 第一步審核通過的數字 ID
    TemplateParamSet ["{{$tpl.content}}"] 依範本變數順序對應一個陣列——夜鶯預設只傳一個值,因此你的騰訊雲簡訊範本只能有一個 {1}{{$tpl.content}} 來自系統內建的 Tencent SMS 訊息範本,預設渲染為 級別狀態: S<級別> {Triggered/Recovered}規則名稱: <規則名>
  6. 點擊 儲存

第三步:使用者設定手機號碼 & 通知規則

  1. 進入 人員組織 → 使用者管理,為目標使用者填寫 手機號碼

    國內號碼兩種填法都可以:

    • 直接 11 位 138XXXXXXXX(建議),並在請求內容 PhoneNumberSet 裡把 {{ $sendto }} 改成 "+86{{ $sendto }}"
    • 或直接儲存完整的 +86138XXXXXXXX,請求內容保持預設。
  2. 進入 通知 → 通知規則 → 新增

    • 通知媒介:選騰訊雲簡訊;
    • 訊息範本:選系統內建的 Tencent SMS——它的 content 欄位預設渲染為 級別狀態: S<級別> {Triggered/Recovered}規則名稱: <規則名>,例如 級別狀態: S1 Triggered規則名稱: CPU使用率超門檻。搭配預設請求內容 TemplateParamSet = ["{{$tpl.content}}"],這串文字會作為 {1} 的值發給騰訊雲;
    • 注意簡訊整體長度按 70 字元/條計費,告警規則名 + 級別狀態過長時可複製一份 Tencent SMS 範本改短;
    • 接收人 / 接收團隊:選擇目標使用者;
    • 適用級別 / 適用時段:依需求過濾;
    • 儲存。
  3. 點擊「通知測試」,手機應在數秒內收到一條 【簽名】您有一條告警 xxx 的簡訊。

計費與合規

  • 按成功發送條數計費,每 70 字/條。詳見 騰訊雲 SMS 定價
  • 每個手機號碼有頻率限制(預設 1 分鐘 1 條,同簽名 + 範本 1 天 10 條),通知類範本可工單申請調高。
  • 實際發送內容必須與範本審核內容完全一致,否則會被攔截(FailedOperation.InsertAuthFail / FailedOperation.TemplateIncorrectOrUnapproved)。

常見問題

Q1:AuthFailure.SignatureFailure

A:Secret_Key 錯了或本機時間漂移過大。請確保伺服器時間與 NTP 同步。

Q2:FailedOperation.TemplateIncorrectOrUnapproved / 範本未審核?

A:

  • TemplateId 填錯;
  • 範本未審核通過;
  • TemplateParamSet 陣列長度與範本變數數不一致。

Q3:FailedOperation.SignatureIncorrectOrUnapproved / 簽名錯誤?

A:SignName 與審核通過的簽名不完全一致(注意空格、括號、中英文字元)。

Q4:InvalidParameterValue.InvalidPhoneNumber

A:騰訊雲要求手機號碼為 E.164 格式(+86...)。兩種做法:

  • 使用者的「手機號碼」欄位本身儲存為 +86138XXXXXXXX
  • 或在請求內容裡把 {{ $sendto }} 改成 +86{{ $sendto }} 自動拼接。

Q5:FailedOperation.InsufficientBalance

A:帳戶餘額不足,請儲值並在控制台設定餘額告警。

Q6:LimitExceeded.PhoneNumberCountLimit 單次號碼數超限?

A:SendSms 單次最多 200 個號碼。夜鶯預設是按接收人逐一呼叫,一人一次——若要一次請求打包多個號碼,可以把請求內容改為:

{
  "PhoneNumberSet": {{batchContactsJsonMarshal $sendtos}},
  "SignName": "...",
  "SmsSdkAppId": "...",
  "TemplateId": "...",
  "TemplateParamSet": ["{{$tpl.content}}"]
}

注意:這種模式下所有號碼收到的簡訊內容完全一致。

Q7:國際簡訊?

A:國際號碼直接以國碼拼接即可(如 +6587654321);但需要在騰訊雲控制台單獨開通國際簡訊,並使用國際簡訊範本。

參考資料

快猫星云 联系方式 快猫星云 联系方式
快猫星云 联系方式
快猫星云 联系方式
快猫星云 联系方式
快猫星云