網管告警訊息發送,有很多種方式,SNMP、SMTP、LINE、Telegram…。

目前行動裝置幾乎人手一支,在台灣LINE的使用率高達95.7%,用LINE傳送網管告警訊息,是個不錯的選擇!

我們來看看怎麼用Python寫個小程式,讓LINE發送訊息。

首先要跟 LINE Notify 網站,申請一個發送訊息必需的權杖 (token)。

1. 用LINE帳號登入中文版 LINE Notify 網站https://notify-bot.line.me/zh_TW/

2.輸入LINE帳號、密碼

3.用手機LINE,輸入驗證碼

4.成功登入「LINE Notify」

5. 進入「個人頁面」

6.選擇「發行權杖」

7.取個好記的「權杖名稱」,再挑選要接收訊息的群組,再按「發行」

8.複製「權杖」保存備用

9.最後在「網管一族」群組,加入LINE Notify當成員,即完成LINE Notify權杖申請

接下來是用Python發送LINE訊息的程式碼,詳見程式註解

 

#!.\venv\Scripts\python.exe
# -*- coding: utf-8 -*-
#
# for Python version 3.10
# Author:William Huang
# Date:2022/10/07
# program:LINE-Notify.py
# pip install requests

import requests

def lineNotifyMessage(token, msg):
    # 固定格式的http header,放入權杖
    headers = {
        "Authorization": "Bearer " + token
        "Content-Type" : "application/x-www-form-urlencoded"
    }
    # 放入要用POST傳送的訊息
    payload = {'message': msg }
    # 呼叫requests模組的post method
    r = requests.post("https://notify-api.line.me/api/notify", headers = headers, params = payload)
    # 將requests.post的結果,當成函數的回傳值
    return r.status_code


if __name__ == "__main__":
    # 與「網管一族」綁定的LINE Notify權杖
    # 記得把「LINE Notify」帳號要加入「網管一族」群組,才能收到訊息
    token = 'jcQprSwu5iJ3KVIZsdnv9IzSC2YWLrspp7BJxxxxxxx'
    # 發送測試訊息,請用告警訊息替代
    message = "測試LINE通報!"  
    # 把權杖和訊息當成參數,呼叫發送訊息的函數(function)
    lineNotifyMessage(token, message)

No comments

Leave your comment

In reply to Some User