ในการเฝ้าระวังบริการเว็บไซต์ขององค์กร (Website Monitoring) ผู้ดูแลระบบมักจะจัดทำจากภายในระบบเครือข่ายขององค์กร แต่ไม่ได้เฝ้าระวังจากภายนอกระบบเครือข่ายขององค์กร ทำให้ไม่ทราบว่าภายนอกสามารถเข้าถึงเว็บไซต์ดังกล่าวได้หรือไม่
จาก “วิธีการใช้ Google Sheets เป็นฐานข้อมูล” ซึ่งได้กล่าวถึงพื้นฐานการพัฒนา Google Apps Script เพื่อใช้ต่อยอดความสามารถของ Google Sheets สามารถนำมาประยุกต์ใช้เพื่อเฝ้าระวังบริการเว็บไซต์จากภายนอกระบบเครือข่ายขององค์กรได้ (จาก Google Cloud Infrastructure เลยทีเดียว)
ขั้นตอนในการทำ
- ในโปรเจค ProjectMyDB สร้างไฟล์ monitoring.gs ดังภาพ
- ประกอบด้วย 3 ฟังก์ชัน คือ
function check_website(url) { var response = UrlFetchApp.fetch(url, {muteHttpExceptions: true}); return response.getResponseCode(); } function doLog(timestamp, responseCode, timeDiff) { var ss = SpreadsheetApp.openByUrl('https://docs.google.com/a/psu.ac.th/spreadsheets/d/1HJmyqiBYC_AEATmdUWakLgHFyYGqSqeqSA8xEw-8o-c/edit'); SpreadsheetApp.setActiveSpreadsheet(ss); SpreadsheetApp.setActiveSheet(ss.getSheetByName("Log")); var activeSheet=ss.getActiveSheet(); activeSheet.appendRow([timestamp, responseCode, timeDiff]); } function getTime() { var startTime = new Date() ; var responseCode=check_website("http://www.psu.ac.th"); var endTime = new Date() ; var timeDiff = endTime-startTime; doLog(Utilities.formatDate(new Date(), "GMT+7", "yyyyMMdd-HHmmss") , responseCode , timeDiff); }
- check_website ใช้ UrlFetchApp เพื่อ url ของเว็บไซต์ แล้วรีเทิร์นผล Response Code ของ HTTP Protocol กลับไป
- doLog ใช้สำหรับเพิ่มค่า timestamp, responseCode และ timeDiff (เวลาในการตอบสนอง) ลงใน Sheet “Log” ใน Google Sheets ที่กำหนดไว้
- getTime ใช้คำนวนเวลาตั้งแต่เริ่มต้น แล้วเรียกใช้ฟังก์ชั่น check_website และ จับเวลาที่สิ้นสุด จากนั้นคำนวนเป็นเวลาในการตอบสนอง (timeDiff) แล้ว เรียกฟังก์ขัน doLog เพื่อเขียนข้อมูลต่อไป
- สร้าง Trigger ด้วยเมนู Resources > Current project’s triggers
- เลือกฟังก์ชัน getTime กำหนดเป็น Time-driven ทำงานในหน่วยนาที (Minute timmer) และ ทำงานทุกๆ 5 นาที แล้วกดปุ่ม Save
- ผลการทำงาน และการสร้าง Chart ประกอบทำให้สามารถเห็นแนวโน้มได้
จากตัวอย่างข้างต้น ทำให้เห็นว่า การใช้ Google Apps Script ร่วมกับ Google Sheet สามารถสร้างระบบเฝ้าระวังเว็บไซต์จากภายนอกองค์กรได้อย่างง่ายๆ และไม่มีค่าใช้จ่าย ทำให้เห็นภาพการใช้งานจากภายนอกได้เป็นอย่างดี