免費雲端監控機器人
一、目的
當系統發生故障時,系統管理者都無法及時得知,都需要等到使用者通知才知道。可以藉由Google Apps Script來監控外部系統是否異常,如發生異常,在以LINE Notify方式通知系統管理者修正問題,可以提升系統服務品質。
二、設計概念
以昕力資訊的昕力大學系統(https://www.tpisoftware.com/tpu/)為範例跟各位讀者來解釋。
運作流程說明:
1.在Google Apps Script上撰寫「監控系統程式」持續監控昕力大學系統是否有正常執行。
2.若昕力大學系統發生異常就透過LINE Notify服務通知系統管理者。
三、申請LINE Notify權杖
a.進入https://notify-bot.line.me/ => 「登入」。
b.輸入自己的LINE帳號登入。
c.進入「個人頁面」。
d.點擊「發行權杖」。
e.輸入權杖名稱並選擇要接收的聊天室,在按下「發行」。
f.將權杖記下來,後續會使用到。
四、建立Google Apps Script監控系統程式碼
a.進入「雲端硬碟」->「建立」。
b.選擇「更多」->「Google Apps Script」。
c. Google Apps Script採用了前端網頁程式的 Javascript 語法。直接在紅框處撰寫Javascript語法。
d. 「監控系統程式」範例程式。
function monitor(){
// 要監控系統的URL
var url = 'https://www.tpisoftware.com/tpu/';
var res = UrlFetchApp.fetch(url, { muteHttpExceptions: true }).getResponseCode();
// 先檢查回應碼是否為 HTTP Status Code 200
if(res !== 200) {
// HTTP Status Code不是 200 就發訊息
sendMessage('昕力大學系統異常');
}
}
// Line Notify發送訊息
function sendMessage(message) {
//LINE Notify 取得的權杖
var token = 'rfNwuH1cAY6PizW2HnVLsOcKuClpRMy3xKKNsHKoHbB';
var option = {
method: 'post',
headers: { Authorization: 'Bearer ' + token },
payload: {
message: message
}
};
UrlFetchApp.fetch('https://notify-api.line.me/api/notify', option);
}
五、設定Google Apps Script監控系統排程週期
a.進入下圖所點選功能。
b.點「新增觸發條件」。
c.設定要觸發條件後,按「儲存」。Google Apps Script就會依照觸發條件進行監控。
六、LINE Notify通知畫面
若監控系統異常,筆者的LINE就會收到訊息如下。
您好
實際測試「要監控系統的URL」如果不對,執行錯誤通知如下:
Exception: Address unavailable: http://****
monitor @ 程式碼.gs:4
就不會發出訊息
是哪裡出問題嗎?