วิธีการใช้ Google Sheets เป็นระบบเฝ้าระวังเว็บไซต์ (Website Monitoring) จากภายนอกองค์กร

ในการเฝ้าระวังบริการเว็บไซต์ขององค์กร (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 สามารถสร้างระบบเฝ้าระวังเว็บไซต์จากภายนอกองค์กรได้อย่างง่ายๆ และไม่มีค่าใช้จ่าย ทำให้เห็นภาพการใช้งานจากภายนอกได้เป็นอย่างดี

Read More »

WorkShop : Server Monitoring

“อาว Server ตายตอนไหนไม่เห็นจะรู้เลย โหลดเยอะละม้าง หรือไม่ก็แรมหมด เสถียรไหมไม่รู้สิ อาวเมื่อคืน disk หมดหรอกเหรอ สงสัย Backup อยู่ม้าง” ถ้าเรามีระบบ Monitor ที่ดีพบคงสามารถตอบคำถามเหล่านี้ได้ง่ายขึ้น และไม่ต้องเจอเหตุการณ์เดิม ๆ ซ้ำ ๆ อีกต่อไป มาถึงอีก 1 workshop เคยเขียนไปแล้วรอบหนึ่ง แต่ตอนนั้นสอนแค่ครึ่งวัน ได้แค่ลง Nagiosql ยังไม่ได้ทำอะไรเป็นชิ้นเป็นอันสักเท่าไหร่ รอบนี้เลยจัดเต็ม 2 วัน ถ้ามีเนื้อหาผิดพลาดประการใดแจ้งได้เลยครับ เดี๋ยวจะแก้ไขให้ครับ (งานร้อน ^.^) Workshop Outline ftp://ftp.psu.ac.th/pub/psu-monitor/workshop-outline.pdf VirtualBox Installation เครื่องที่ใช้ในการทดสอบ (Oracle VM VirtualBox) *แนะนำให้เปิดกับโปรแกรม version ล่าสุด Monitor ** User : workshop , Password : 123456 Linux-Server ** User : monitor , Password : 123456 MS-Server ** User : administrator, Password : 123456 รายละเอียด URL Monitor Linux-Server MS-Server http://ftp.psu.ac.th/pub/psu-monitor/workshop.ova โดยจะแบ่งเป็น 11 ตอนโดยแยกเป็น 11 Blog ดังนี้ ตอนที่ ชื่อตอน ตอนที่ 1 การติดตั้งและการตั้งค่าเบื้องต้น Nagios บน Ubuntu 14.04 LTS ตอนที่ 2 การติดตั้ง NagiosQL บน Ubuntu 14.04 LTS ตอนที่ 3 วิธีการตั้งค่าและการใช้งาน NagiosQL บน Ubuntu 14.04 LTS ตอนที่ 4 การติดตั้งและการตั้งค่าเบื้องต้น NagiosGraph บน Ubuntu 14.04 LTS ตอนที่ 5 วิธีการตั้งค่า NRPE เพื่อใช้งานกับ NagiosQL บน Ubuntu 14.04 LTS ตอนที่ 6 การติดตั้ง NRPE บน Ubuntu 14.04 ตอนที่ 7 การติดตั้ง NRPE บน Windows 2012 R2 ตอนที่ 8 การติดตั้งโปรแกรมและการตั้งค่าเบื้องต้น Cacti บน Ubuntu 14.04 LTS ตอนที่ 9 การติดตั้ง snmpd และการตั้งค่า shorewall บน Ubuntu 14.04 LTS ตอนที่ 10 การติดตั้ง snmp service และการตั้งค่า firewall บน Windows 2012 R2 ตอนที่ 11 เรียนรู้วิธีการใช้งาน Cacti เพื่อ Monitor Server บทความเพิ่มเติม ยังไม่มี  

Read More »