Page 1
โปรแกรมบรหารจดการและตรวจสอบการท างานระบบซอฟตแวรประยกต Management and Monitoring Application System
นาย จราย ค าศร Jirayu Kamsiri
สารนพนธฉบบนเปนสวนหนงของการศกษา หลกสตรวทยาศาสตรมหาบณฑต สาขาวศวกรรมเครอขาย
คณะวทยาการและเทคโนโลยสารสนเทศ มหาวทยาลยเทคโนโลยมหานคร
ปการศกษา 255
Page 2
i
หวขอ โปรแกรมบรหารจดการและตรวจสอบการท างานระบบซอฟตแวรประยกต
ชอนกศกษา นายจราย ค าศร รหสนกศกษา 5717660017 หลกสตร วทยาศาสตรมหาบณฑต สาขาวศวกรรมเครอขาย ปการศกษา 2558 อาจารยทปรกษา ดร.วรพล ลลาเกยรตสกล
Page 3
ii
บทคดยอ
สารนพนธน เปนการจดท าระบบตรวจสอบและเฝาระวงระบบโปรแกรมประยกต จดท าขนโดยมวตถประสงคเพ อตรวจสอบการท างานและแจงเตอนการท างานทผดปกตของของโปรแกรมประยกต เพ อชวยลดความเสยงทอาจจะเกดขนตอระบบและธรกจ โดยผดแลระบบสามารถตรวจสอบประวตการท างานของโปรแกรมประยกตผานทางหนาเวบแอพพลเคชนและรวบรวมขอมลน ามาวเคราะหอยางมประสทธภาพ ปองกนการเกดปญหาในระบบคอมพวเตอร และยงสามารถแจงเตอนไปยงผดแลระบบใหรบทราบถงปญหาและสามารถแกไขปญหาทเกดขนไดอยางรวดเรวมากขน เปนการชวยเพมประสทธ ภาพการใหบรการ และความนาเชอถอแกผใชบรการ
Page 4
iii
กตตกรรมประกาศ
การจดท าโครงงานฉบบน ส าเรจลลวงไปไดดวยดเนองดวยไดรบค าปรกษา ค าแนะน าและ ความรตางๆ จาก ดร.วรพล ลลาเกยรตสกล อาจารยทปรกษา คอยเสนอแนวความคดตลอดจนแนะน าแนวทางการพฒนาและจดท าสารนพนธและองคความรตางๆ อกทงทาน อาจารย ณฏฐ มาเจรญ ทใหค าปรกษาชแนะแนวทางในการออกแบบระบบและแนวทางในการท าสารนพนธ ตลอดจนคณาจารยทกทานส าหรบค าปรกษาและความกรณาดวยดเสมอมา
จราย ค าศร
Page 5
iv
สารบญ หนา
บทคดยอ ................................................................................................................................................ ii
กตตกรรมประกาศ ................................................................................................................................. iii
สารบญ .................................................................................................................................................. iv
สารบญรปภาพ ...................................................................................................................................... vi
สารบญตาราง ...................................................................................................................................... viii
บทท 1 ................................................................................................................................................... 1
1.1 ทมาของปญหาและแรงจงใจ ........................................................................................................ 1
1.2 วตถประสงค................................................................................................................................ 1
1.3 ขอบเขตโครงงาน ........................................................................................................................ 2
1.4 ประโยชนของโครงงาน ................................................................................................................ 2
1.5 โครงสรางของสารนพนธ ............................................................................................................. 2
บทท 2 ................................................................................................................................................... 4
2.1 ความรพ นฐานเกยวกบเทคโนโลยดอทเนตเฟรมเวรก ( .Net Framework ) ................................ 4
2.1.1 เทคโนโลยดอทเนตเฟรมเวรก (.Net Framework) ................................................................ 4
2.1.2 Web Service ....................................................................................................................... 6
2.1.3 ORM (Object Relational Mapping) .................................................................................... 7
2.2 ความรพ นฐานดาน SQL Server ................................................................................................. 9
2.3 ความรพ นดานการเชอมตอระบบเครอขาย ................................................................................ 10
2.3.1 ไอพแอดเดรส-พอรต .......................................................................................................... 10
2.3.2 ไคลเอนต-เซรฟเวอร (Server-Client) ................................................................................. 11
บทท 3 ................................................................................................................................................. 16
3.1 โครงสรางการท างานของระบบปจจบน...................................................................................... 16
3.2 โครงสรางการท างานของระบบ ................................................................................................. 18
3.3 โครงสรางของโปรแกรม ............................................................................................................ 22
Page 6
v
3.4 ขนตอนการท างานของโปรแกรม ............................................................................................... 24
3.5 การออกแบบฐานขอมล ............................................................................................................. 39
3.6 ขนตอนกระบวนการไหลของโปรแกรม ...................................................................................... 41
บทท 4 ................................................................................................................................................. 42
4.1 โครงสรางของระบบทใชทดลอง ................................................................................................. 42
4.2 สภาพแวดลอมการทดสอบ ........................................................................................................ 43
4.3 การทดลองระบบและผลการด าเนนงาน ..................................................................................... 45
4.3.1 ขนตอนการ Configuration ................................................................................................. 47
4.3.2 กระบวนการ Monitoring .................................................................................................... 50
4.3.3 การแสดง Alert................................................................................................................... 51
4.3.4 การแสดง Report ............................................................................................................... 52
4.4 วเคราะหและสรปผล .................................................................................................................. 55
บทท 5 ................................................................................................................................................. 56
5.1 ผลการด าเนนงาน...................................................................................................................... 56
5.2 ปญหาและอปสรรค.................................................................................................................... 56
5.3 แนวทางการแกไขปญหา ........................................................................................................... 56
5.4 แนวทางการพฒนาในอนาคต .................................................................................................... 56
เอกสารอางอง ...................................................................................................................................... 57
ภาคผนวก ........................................................................................................................................... 58
ภาคผนวก ก. ............................................................................................................................... 59
ภาคผนวก ข. ............................................................................................................................... 76
Page 7
vi
สารบญรปภาพ หนา
รปท 2.1 .Net Framework Stack .......................................................................................................... 5 รปท 2.2 การหนาทและความสมพนธของ ORM ................................................................................... 8 รปท 2.3 การท างานระหวาง App และ DB ของ Entity Framework Mapping ...................................... 9 รปท 2.4 โครงสรางอยางงายของชอกเกต ........................................................................................... 12 รปท 2.5 ชนดของชอกเกต .................................................................................................................. 13 รปท 3.1 Flow Diagram การท างานของระบบ .................................................................................... 17 รปท 3.2 โครงสรางโดยรวมการท างานของระบบ ................................................................................ 18 รปท 3.3 โครงสรางการวาง Monitor Application ภายในระบบ ........................................................... 19 รปท 3.4 การท างานของโปรแกรมโดยรวม .......................................................................................... 21 รปท 3.5 โครงสรางของโปรแกรม ........................................................................................................ 23 รปท 3.6 โปรไฟล และสวนประกอบส าคญในหนงหนวยค าส ง ............................................................. 24 รปท 3.7 อธบายสวนส าคญของ User Profile ...................................................................................... 25 รปท 3.8 อธบายสวนส าคญของ Client Profile .................................................................................... 25 รปท 3.9 อธบายสวนส าคญของ Alert Profile ...................................................................................... 26 รปท 3.10 อธบายสวนส าคญของ Fail Planning.................................................................................. 26 รปท 3.11 อธบายสวนส าคญของ Monitor Profile ............................................................................... 27 รปท 3.12 ขนตอนรองขอ Policy Profile จาก Application Server ...................................................... 32 รปท 3.13 อธบายการท างานสวน Application Client.......................................................................... 33 รปท 3.14 อธบายการท างานสวน Monitor Process ........................................................................... 34 รปท 3.15 อธบายการท างานสวน Monitor Service ............................................................................ 35 รปท 3.16 อธบายการท างานสวน Monitor Message Queue ............................................................. 36 รปท 3.17 อธบายการท างานสวน Monitor Network ........................................................................... 37 รปท 3.18 อธบายการท างานสวน Monitor File ................................................................................... 38 รปท 3.19 อธบายการท างานสวน Monitor HTTP Service ................................................................. 39 รปท 3.20 การออกแบบฐานขอมล ....................................................................................................... 41 รปท 3.21 กระบวนการไหลของโปรแกรมทงหมด ............................................................................... 42
Page 8
vii
สารบญรปภาพ (ตอ)
หนา
รปท 4.1 โครงสรางของระบบทใชทดสอบ............................................................................................ 42 รปท 4.2 ภาพรวมและสวนตางทเกยวของของระบบทใชทดสอบ ......................................................... 43 รปท 4.3 ทศทางการท างานของโปรแกรมประยกตและผท เกยวของ .................................................... 46 รปท 4.4 การสราง User ...................................................................................................................... 48 รปท 4.5 การสราง User Profile .......................................................................................................... 48 รปท 4.6 การสราง Client Profile ........................................................................................................ 49 รปท 4.7 การสราง Monitoring Profile ................................................................................................ 49 รปท 4.8 กระบวนการท างาน ขณะ Monitoring ................................................................................... 51 รปท 4.9 SMS แจงเตอนเมอเกดเหตการณ ......................................................................................... 51 รปท 4.10 E-Mail แจงเตอนเมอเกดเหตการณ ................................................................................... 52 รปท 4.11 รายงานแสดงรายละเอยดการท างานของผใชงานระบบ ...................................................... 53 รปท 4.12 รายงานสรปการแจงเตอน ................................................................................................... 54 รปท 4.13 รายงานสรปการเหตการณความผดปกตของการท างาน ..................................................... 55 รปท ก.1 System Diagram แสดงการตดตง Application .................................................................... 59 รปท ข.2 แสดงโครงสราง Web Portal................................................................................................. 76
Page 9
viii
สารบญตาราง หนา
ตารางท 2.1 การใชงาน HTTP Method ................................................................................................ 7 ตารางท 4.1 ความตองการฮารดแวรเบองตน ...................................................................................... 44 ตารางท 4.2 ความตองการซอฟตแวรเบองตน ..................................................................................... 44 ตารางท 4.3 Parameter Configuration ............................................................................................... 50 ตารางท ก.1 ความตองการทรพยากรณขนต า ..................................................................................... 60 ตารางท ข.2 การตงคา Policy Parameter........................................................................................... 85
Page 10
1
บทท 1 บทน า
1.1 ทมาของปญหาและแรงจงใจ ในปจจบนระบบคอมพวเตอรเขามบทบาทส าคญในการขบเคลอนธรกจ และมระบบ
ซอฟตแวรประยกตเขามาชวยในการท างานในแทบทกสวนขององคกร ซงซอฟตแวรทใชอาจมการจดซอหรอพฒนาขนเพ อตอบสนองความตองการทเฉพาะทาง และจ าเปนตองมผดแลระบบเพอดและแกไขปญหาทท าใหระบบไมสามารถใชงานได ผดแลระบบจ าเปนตองดแลตรวจสอบการท างานของซอฟตแวรประยกตและวเคราะหปญหาทเกดขน เคร องมอทจะชวยใหผดระบบสามารถวเคราะหและแกไขปญหาไดตรงจดและใชระยะเวลาในการคนหาสาเหตของปญหานอยทสด คอ แผนภาพโครงสรางของซอฟตแวรประยกตและคมอการใชงาน ตลอดจนแนวทางการแกไขปญหา และเมอผดแลระบบสามารถวเคราะหปญหาทเกดขนไดอยางรวดเรวและตรงจดแลว แนวทางการปองกนการเกดปญหา คอ ใชเคร องมอเพอเผาระวงและตรวจสอบพฤตกรรมการท างานและแจงเตอนความผดพลาดไปยงผดแลระบบ เพอลด Downtime ใหส นทสด เพราะการหยดใหบรการ ถายงใชเวลายาวนานสงผลกระทบตอการด าเนนธรกจในดานตางๆ
มซอฟตแวรประยกตมากมายทใชในการเฝาระวงและตรวจสอบการท างาน ซงในแตละซอฟตแวรประยกตจะมความสามารถในการท างานทแตกตางกน ซงอาจไมครบตามความตองการในการใชงาน จ งจ าเปนตองใชหลายซอฟตแวรประยกตเขาชวย แตในหลายๆ ซอฟตแวรประยกตอาจมทงทไมมคาใชจายและมคาใชจายในการซอลขสทธใชงาน สงผลใหมคาใชจายทสงและอาจไมครอบคลมความตองการทงหมดอกดวย
จากความตองการขางตนทกลาวมา ท าใหเกดแรงจงใจในการพฒนาระบบเฝาระวงและแจงเตอนระบบในสภาวะทท างานผดพลาด เปนเครองมอใหผดแลระบบสามารถใชงานไดอยางสะดวก ครอบคลมความตองการทงหมด
1.2 วตถประสงค
1.2.1 ตรวจสอบ (Monitoring) การท างานของเซรฟเวอรหรอเซอรวสตางๆ 1.2.2 แจงเตอน (Alert) ความผดปกตทเกดขนไปยงผดแลระบบ 1.2.3 ระบบสามารถแกไขปญหา (Troubleshoot) ความผดปกตทเกดขนตามแนวทาง
ทตงคาไวได 1.2.4 รวบรวมเครองคอมพวเตอรในเครอขาย โดยสามารถบรหารจดการจากสวนการ
ได 1.2.5 ชวยผดแลระบบรบทราบและปองกนปญหา จากระบบสวนกลางโดยสามารถ
จ ากดสทธ การรบทราบปญหาจากล าดบความส าคญของปญหาทเกดขน
Page 11
2
1.3 ขอบเขตโครงงาน 1.3.1. ตดตงบน Windows Platform เทานน 1.3.2. ตดตง Application ในคอมพวเตอรแมขายและลกขาย พรอมทงใชงานผาน
Web Base จากสวนกลาง 1.3.3. จดเกบการตงคาและขอมล Log ยงฐานขอมลสวนกลาง 1.3.4. ก าหนดสทธ การรบทราบปญหา ตามความส าคญของปญหาทเกดขน 1.3.5. สามารถสงแจงเตอนไปยงปลายทางทก าหนดไดดวยการสง E-Mail, SMS 1.3.6. สามารถเรยกดรายงานเพอสรปเหตการณทเกดขนได
1.4 ประโยชนของโครงงาน 1.4.1. บรหารจดการแบบศนยกลาง 1.4.2. ตรวจสอบพฤตกรรมการท างานและแจงเตอนความผดพลาดไปยงผดแลระบบ 1.4.3. ลดระยะเวลาการเขาถงปญหา 1.4.4. ไดระบบครอบคลมตามความตองการ ตลอดจนลดคาใชจายดานลขสทธ
1.5 โครงสรางของสารนพนธ
จากปญหาและความตองการขางตน จ งเกดแนวทางในการพฒนาเครองมอทชวยอ านวยความสะดวกแกผดแลระบบ โดยอาศยทฤษฎทเกยวของในการพฒนา เครองมอทใช ตลอดจนแนวทางและรปแบบการพฒนา การวดผลและสรปผลการด าเนนงาน โดยสามารถจ าแนกขนตอนไดดงน
ในการพฒนาระบบจ าเปนตองมทฤษฏทรองรบการพฒนา โดยทฤษฎทเกยวของจะประกอบไปดวย ทฤษฎดานการพฒนาโปรแกรมคอมพวเตอร การเรยนรดาน Framework ตางๆ การท างานของ Web Service Protocol ความรดาน Database Programming และการท างาน Server-Client Model
ในบทถดมากลาวถงโครงสรางการออกแบบโปรแกรม โดยกลาวถงระบบงานเดมทมอยและการน าระบบงานใหมทพฒนาไปใชงาน ตลอดจนรปแบบการสอสารขอมลระหวางโปรแกรม กระบวนการไหลของโปรแกรม โดยกลาวถงผทเกยวของในแตละขนตอนการท างาน และการออกแบบโครงสรางฐานขอมลทใชงาน
ขนถดมากลาวถง การทดสอบโปรแกรม สภาพแวดลอมทใชทดสอบ ขนตอนและเครองมอทใชด าเนนการ ตลอดจนสรปผลขนตอนการด าเนนงาน
Page 12
3
บทสรปผลการด าเนนงาน กลาวถงผลการด าเนนงาน ปญหาและอปสรรค แนวทางการแกไข ตลอดจนแนวการพฒนาในอนาคต
Page 13
4
บทท 2 พนฐานและทฤษฎทเกยวของ
2.1 ความรพนฐานเกยวกบเทคโนโลยดอทเนตเฟรมเวรก ( .Net Framework ) การพฒนาระบบในสวนนผพฒนาจ าเปนตองอาศยทกษะทางดานเขยนโปรแกรมเปนสวนส าคญ โดยจ าเปนตองพฒนาโปรแกรมเชงวตถ (Object Oriented Programming) เพ อความยดหยนและการพฒนาทคลองตว อกทงรปแบบการท างานลกษณะไคลเอนต-เซรฟเวอร (Web Service) การเลอกใชเทคโนโลยทเหมาะสมตอการพฒนา โดยพจารณาตามความเหมาะสมตอการใชงาน ผพ ฒนาจงเลอกใชเทคโนโลยจากบรษทไมโครซอฟต (.Net Framework) โดยมขอด คอ งายตอการพฒนาอกทงยงสามารถรวมเขากบระบบทมอยได
2.1.1 เทคโนโลยดอทเนตเฟรมเวรก (.Net Framework) ศภชย สมพานช [1] .Net Framework ถกพฒนาขนโดยบรษทไมโครซอฟต โดยมวตถประสงคเพ อพฒนา
แอพพลเคชนทสามารถท างานผานอปกรณตางๆ โดยไมผกตดการภาษาโปรแกรมใดภาษาหนง สงผลใหผพฒนาทมพ นฐานภาษาโปรแกรมภาษาใดภาษาหนง อาท เชน VB, C#, C++ สามารถพฒนาโปรแกรมตอไดโดยใชองคความรทอย ในภาษานนๆ ไดเลย โดยใชเทคโนโลย .Net- Framework ชวยสรางแอพพลเคชนและเรยกใชงานเซอรวสไดอยางงายดายและเปนมาตรฐานเดยวกน
ในการพฒนาแอพพลเคชนโดย .Net Framework ผพฒนาตองเขาไปเกยวของกบสงๆ ดงน
User ผใชงาน ในทนอาจหมายถง มนษย-ระบบ หรอ ระบบ-ระบบ เพราะสามารถสอสารกนระหวางเวปไซต หรอระบบเขาดวยกน
Web Service ภายใตชอการท างาน Web Service, Web API คอ บรการทถกสรางขนมาเพอรองรบการเรยกใชงานของ User แตการทจะรวมอนเทอรเนตใหอยภายใตการท างานเดยวกน ยอมมมาตรฐานในการสอสาร อาทเชน SOAP, REST Protocol
Service ระบบคอมพวเตอรตางๆ ทรองรบกจกรรมและบรการทเกดขนภายใตแนวคด .Net Framework อนไดแก Windows .Net Enterprise Service เพ อรองรบการใชงานของผพฒนา ไดแก Microsoft Window Server, Microsoft SQL Server เปนตน
Page 14
5
Developer Tools เครองมอทถกใชในการพฒนา ใหเกดขนบนอนเทอรเนตภายใตกรอบความคดรวมกน อาท เชน Visual Studio
.Net Framework เปนแพลตฟอรมส าหรบพฒนาซอฟตแวรทรองรบภาษาคอมพวเตอรมากกวา 20 ภาษา ซงม Library เปนจ านวนมากส าหรบการเขยนโปรแกรม รวมถงบรหารการด าเนนการของโปรแกรมบน .NET Framework โดย Library นนไดรวมถงสวนตอประสานกบผใช การเชอมตอฐานขอมล วทยาการเขารหสลบ อลกอรทม การเชอมตอเครอขายคอมพวเตอร และการพฒนาเวบแอพพลเคชน โดย .NET Framework มสวนประกอบ ภายในแบงออกเปน 3 ล าดบชน คอ
รปท 2.1 .Net Framework Stack
Programming Language: เปนรปแบบของภาษาทออกแบบมาเพอใชพฒนาโปรแกรม
ทใชกบ .NET Framework ไดโดยตรง ทาง Microsoft ไดสนบสนนภาษาหลกทใชในการพฒนา คอ ภาษา C#, F#, VB.NET, C++ เปนตน โดยกระบวนการหลงจากการเขยน คอมเลอแตละภาษาจะแปลโคดทเขยนใหเปน IL (Intermediate Language)
Base Classes Library: Library เปรยบเสมอน ชดค าส งส าเรจรป ยอยๆ ททางไมโครซอฟตเพ มเขามาสวนใหญเปนชดค าส งทตองใชงานอยเปนประจ า เพออ านวยความสะดวกและลดงานทซ าซอนในการเขยนโปรแกรม โดย Library ในภาษาตางๆ สวนใหญอยใน
Page 15
6
รปแบบไฟล การใชงานเพยง Include Library เขามาในโปรแกรมโดยทางไมโครซอฟตจะสรางส งทเรยกวาเปน Library พนฐานขนท าใหไมวาจะใช ภาษาใดในการพฒนาโปรแกรม กสามารถทจะเรยกใช Library ทเปนตวเดยวกนไดหมด
Common Language Runtime (CLR): เปนสวนส าคญของ .NET Framework ถอเปนรากฐานของแพลตฟอรม .NET หนาทของ CLR คอ เปนเครองมอ (Execution Engine) ในการประมวลผล และจดการโปรแกรมทคอมไพลแลวใหท างานไดบนระบบปฏบตการ Windows โดย CLR จะแปลงโคดในรป MSIL : Microsoft Intermediate Language ไปเปนค าส งภาษาเครอง (Machine language) โดยใชเทคโนโลยการแปลงแบบ Just In Time(JIT) คอ แปลงเฉพาะสวนทน ามาใชเทานน นอกจากน CLR ยงท าหนาทตดตอกบระบบปฏบตการจดสรรหนวยความจ าใหกบโปรแกรมตางๆและคนหนวยความจ าทไมถกใชงานแลวใหกบระบบ
2.1.2 Web Service สจจะ จรสรงรววร [2]. Application หรอ Program ทท างานอยางใดอยางหนง ในลกษณะใหบรการ โดยจะถก
เรยกใชงานจาก Application อนๆ ในรปแบบ RPC (Remote Procedure Call) ซงการใหบรการจะมเอกสารทอธบายคณสมบตของบรการก ากบไว โดยภาษาทถกใชเปนสอในการแลกเปลยนคอ XML ท าใหเราสามารถเรยกใช Component ใดๆ ใน Platform ทตางกนได บน Protocol HTTP ซงเปน Protocol ส าหรบ World Wide Web อนเปนชองทางทไดรบการยอมรบทวโลกในการตดตอส อสารกนระหวาง Application และ Application
คณลกษณะพนฐานของเวบเซอรวสมดงน
o เวบเซอรวสเปนซอฟตแวรคอมโพเนนททระบต าแหนงโดยใช URI
o อนเทอรเฟสและการตดตงของเซอรวสจะนยาม อธบาย และคนหาโดยใช ภาษาXML
o เวบเซอรวสสนบสนนการเรยกใชจากซอฟตแวรประยกตอนๆ ผาน Protocol Internet
o เวบเซอรวสใชเอกสารแบบ XML ในการสงขอมลระหวางผใหบรการและผใช
o เวบเซอรวสชวยในการเชอมโยงโปรแกรมประยกตตางแพลตฟอรม (Cross-platform Integration) ผานอนเทอรเนต
o นกพฒนาสามารถพฒนาเวบเซอรวสไดโดยใชโปรแกรมภาษาคอมพวเตอรตางๆเชน Java, C, C# หรอ Visual Basic และสามารถพฒนาโดยการแปลงซอฟตแวรคอมโพเนนททมอยใหเปนเวบเซอรวส
Page 16
7
o เวบเซอรวสจะเปนซอฟตแวรคอมโพเนนทแบบ Loosely Couple ดงนนแตละคอมโพเนนทจะเปนอสระและมฟงกชนทสมบรณในตว
REST (Representational State Transfer)
Representational State Transfer (REST) ค อ ร ป แ บบ โ ค ร ง ส ร า ง ช ด ข อ ม ล (สถาปตยกรรมการสอสารขอมล) รปแบบหนงทใชแพรกระจายสอ เปนแนวทางใหมในการสราง เวบเซอรวสแบบเรยบงาย โดยเร ยกใชผานทาง HTTP Method GET / POST / PUT / DELETE และสงขอมลออกมาในรปของ XML หรอ JSON และมขนาดของชดขอมลทใชในขนาดการรบ-สงของขอมลทเลกอกดวย
การใชงาน Protocol REST ผพฒนาจงเลอกพฒนาแบบ RESTful Web API เพราะท างานไดอยางงายดายและชวยเพมประสทธภาพการท างานของโปรแกรม รปแบบการใชงานสามารถเรยกใชงานผาน HTTP Method ดงตารารางท 2
Method ลกษณะการท างาน รปแบบ URL GET เรยกขอมลมาแสดงแบบหลายรายการ http://example.com/products/
เรยกขอมลมาแสดงแบบทละรายการ http://example.com/products/12 POST สงขอมลจากฟอรมหรอโปรแกรม เพอเพ ม
ขอมล http://example.com/products/
PUT สงขอมลจากฟอรมหรอโปรแกรม เพอแกไขขอมล
http://example.com/products/12
DELETE สงขอมลจากโปรแกรม เพอลบขอมล http://example.com/products/12
ตารางท 2.1 การใชงาน HTTP Method
ทมา : www.softmelt.com
2.1.3 ORM (Object Relational Mapping) ORM (Object Relational Mapping) หมายถง การ Mapping ขอมลในตารางขอมลของ
ฐานขอมลใหอยในรปของ Object Oriented Language ซงเปนการสรางฐานขอมลแบบเสมอนขนใหมาอยในรป language Programming ท าใหไมตองไปยงกบ SQL Statement ซงถามการเปลยนแปลงแกไขตองแกไขทตวโปรแกรมแทน และการกระท าตางๆ ยงคงเปนแบบมคณสมบตของฐานขอมลเชงสมพนธเหมอนเดม การพฒนาระบบรวมกบฐานขอมล (SQL) มความนยมกนมาก เพราะท าใหงายตอกบจดเกบขอมล และกมภาษา SQL เขามาเปนตวกลางในการเชอม
Page 17
8
ระหวาง ระบบกบฐานขอมล เพราะสามารถจดการไดงายมากขน ตอมาในยคปจจบนการพฒนาโปรแกรมเปนลกษณะแนวคด OOP (Object Oriented Programming) การพฒนาระบบตางๆ คอ แยกทกอยางออกเปน Object ซงท าใหงายตอการพฒนาระบบอยางมาก งายตอการแกไขระบบตางๆ ในทกๆ สวน
ซงการท าขอมลในรปแบบ ORM น จะท าให นกพฒนาโปรแกรม ไมจ าเปนตองเขาไปยงเกยวกบ SQL Statement การแปลงขอมล 2 ฝ ง กลบไป-มา ซง ORM นท าหนาทเปนตวกลาง ในการแปลงขอมลใหเรา จากเดมทเราเขยนโปรแกรม แคเขยนโปรแกรมเชอมตอไปฐานขอมลโดยตรง กมาเปน เขยนโปรแกรมเชอมตอไปยงตวกลาง (ORM) กอนลงไปฐานขอมล
รปท 2.2 การหนาทและความสมพนธของ ORM
ทมา : http://na5cent.blogspot.com/2013/01/orm-object-relational-mapping-java.html
การใชงาน ORM (Object Relational Mapping) Frameworks ในปจจบนนยมใชงานโดยทวไป ไดแก
Hibernate Framework เปนระบบ ORM ทรบบนแพลตฟอรม Java และ .NET ไดรบความนยมจากผพฒนาระบบเปนอยางมาก
Entity Framework เปนระบบ ORM จากบรษทไมโครซอฟต และอยใน .Net Framework 3.5 เปนตนมา โดยหนาทของ ADO .NET Entity Framework ท าหนาทคดตอฐานขอมล และไดรบความนยมจากผพฒนาเปนอยางมาก ทงนผพฒนาไดเลอกใช Entity
Page 18
9
Framework เปนตวกลางในการใชงาน เนองจากการพฒนาระบบไดใช .Net Framework Technology เพ อใหเกดความเขากนไดอยางสมบรณและลดขอผดพลาดในการท างานของโปรแกรม
รปท 2.3 การท างานระหวาง App และ DB ของ Entity Framework Mapping
ทมา : https://msdn.microsoft.com/en-us/magazine/ff898427.aspx
2.2 ความรพนฐานดาน SQL Server พงษพนธ ศวสย [3] SQL Server คอ ระบบจดการฐานขอมลเชงสมพนธ (RDBMS: Relational Database
Management System) ผลตโดยบรษทไมโครซอฟต เปนฐานขอมลทไดรบความนยมสง ในระดบองคกรขาดเลกจนถงใหญ เปนระบบฐานขอมลแบบไคลเอนต / เซรฟเวอรท างานอยบน Microsoft Windows เปนระบบปฏบตการซงมขอดในการท างานเลอกใชงาน ดงน
สนบสนนการท างานแบบผใชงานแบบหลายคนในเวลาเดยว
สนบสนนการท างานแบบมลตโปรเซสเซอร ซงสามารถจดการขอมลไดอยางรวดเรว เพราะเกดการกระจายงานไปยงซพยแตละตว แลวน าผลลพธทไดมารวมกน
มระบบจดการฐานขอมล ครบถวน เชน การสรางวว การสรางอนเดกซ หรอการเขยนฟงกชนขนมาใชงานได
Page 19
10
มระบบรกษาความปลอดภย ซงจะถกแบงออกไดเปนหลายละดบ ตงแตการลอกอนเขาสฐานขอมล จนถงก าหนดสทธการเขาใชงาน ท าใหสามารถจดการความปลอดภยไดอยางมประสทธ ภาพสง และมความยดหยน
มระบบส าลองขอมล เพ อคนสภาพฐานขอมล กอนกลบไปสสภาพเดมกอนระบบขดของ
มเครองมอชวยจดการฐานขอมล เชน Management Studio, Profiler Tuning Advisor เปนตน
การใชงาน SQL Server นยมใชภาษาเอสควแอล (SQL) หรอซควอล (SE-QUEL) ซงเปนภาษาทพฒนาขนมาโดยบรษท ไอบเอม ภาษา SQL (Standard Query Language) เปนสวนหนงของระบบฐานขอมลแบบรเลชนแนล (Relational Database) ทไดรบความนยมมากเพราะงายตอความเขาใจ และอยในรปภาษาองกฤษ
ผพฒนาไดน าเทคโนโลย ORM (Object Relational Mapping) เขามาชวยในการคนขอมล การแกไขขอมล ตลอดจนการลบขอมล กลาวคอ เปนการใชเทคโนโลย Map ขอมลในตารางขอมลของฐานขอมลใหอยในรปของ Object Oriented Language ซงเปนการสรางฐานขอมลแบบเสมอนขนใหมาอยในรป Language Programming ท าใหไมตองไปยงกบ SQL Statement ซงถามการเปลยนแปลงแกไขตองแกไขทตวโปรแกรมแทน และการกระท าตางๆยงคงคณสมบตรฐานของขอมลเชงสมพนธเหมอนเดม ซงชวยลดระยะเวลาการพฒนาโปรแกรมและงายตอการใชงานอกดวย
2.3 ความรพนดานการเชอมตอระบบเครอขาย จกกรช พฤษการ [4] การเขยนโปรแกรมตดตอส อสารผานเครอขาย ผพ ฒนาไดเลอกใชการสอสารแบบ
TCP/IP โดยการท างานผาน ชอกเกต (Socket) ซงการท างานเปนลกษณะไคลแอน / เซรฟเวอร โดยอาศยการท างานบนไอพ IP และพอรต (Port)
2.3.1 ไอพแอดเดรส-พอรต พอรต (Port)
โปรโตคอล TCP และ UDP จะใชพอรต ส าหรบการสงขอมลซงเปรยบเสมอนทอรบ-สง ขอมลระหวางไคลแอน-เซรฟเวอร พอรตในทนเปนพอรต ทางดานซอฟตแวรมขนาด 16 bit ท า ใหคอมพวเตอรแตละเครองสามารถมหมายเลขพอรต ตงแต 0 ถง 65535 ไอพแอดเดรส (IP Address)
หมายเลขไอพถกก าหนดขนมาใหเปนหมายเลขอางอง ประจ าตวของอปกรณตางๆ ท เชอมตออยในเครอขาย โดยการก าหนดหมายเลขไอพใหแตละเครองหรออปกรณนน
Page 20
11
จะตองไมซ ากน ซงหมายเลขไอพจะไมผกตดกบตวฮารดแวรแตอยางใด จงสามารถก าหนดใหม หรอ แกไขเปลยนแปลงใหมไดเมอมการเปลยนตวฮารดแวร 2.3.2 ไคลเอนต-เซรฟเวอร (Client-Server) ในการท างานคอมพวเตอรเครองหนงจะสามารถเรยกใชบรการจากอกเครองหนงนนมอยหลากหายวธ แตความนยมวธหนงคอ ไคลเอนต-เซรฟเวอร จะเหนไดวาการสอสารระหวางโปรแกรมโดยใหโปรแกรมหนงท าหนาทคอยใหบรการ สวนอกโปรแกรมหนงท าหนาทรองขอบรการ ไคลเอนต (Client) เปนโปรแกรมทรนอยทเคร องของผใชเพ อเรยกใชบรการจากเซรฟเวอร โดยไคลเอนตจะเปดชองทางสอสารกบเซรฟเวอร โดยใชหมายเลขไอพแอดเดรส และหมายเลขพอรตของเซรฟเวอร ซงจะมวธเรยกแบบนวา Active Open เมอชองส อสารไดถกเปดออกแลว ไคลเอนตสามารสงค ารองขอและรบบรการจากเซรฟเวอรได เซรฟเวอร (Server) เปนโปรแกรมทถกรนอยในเร องทคอยใหบรการกบเครองอนๆ เมอมการรนโปรแกรม จะมการเปดชองทางสอสารเอาไวเพ อใหไคลเอนตสามารถตดตอเขามาได แตจะยงไมเปดใหบรการใดๆ จนกระทงมค าส งรองขอมาจากไคลเอน เราเรยกวธนวา Passive open Concurrency
ทงไคลเอนตและเซรฟเวอรสามารรนโปรแกรมแบบ Concurrent ได
Concurrency in client ไคลเอนตสามารถทจะรนบนคอมพวเตอรไดทงแบบ Iterative หรอ Concurrent ถา
ไคลเอนตรนแบบ Iterative จะหมายถง ณ เวลาใดๆ โปรแกรมจะรนไดเพยงโปรแกรมเดยวเทานน แตอยางไรกตามโดยสวนใหญแลวคอมพวเตอรในปจจบนจะท างานแบบ Concurrent Client นนหมายถงสามารถรนโปรแกรมไดหลายๆ โปรแกรมพรอมกน
Concurrency in server
ถาเปน Iterative ณ เวลาใดๆ จะสามารถจดการค ารองขอทไดมาจากไคลเอนตไดเพยงค าส งเดยว ซงเมอรบเขามาแลวจะท าการประมวลผล และสงผลลพธกลบไปยงไคลเอนต กอนทจะเร มรอรบค ารองขอใหมอกครง สวน Concurrent Server จะสามารถรบค ารองขอจากไคลเอนตทมาพรอมๆกนได
เซรฟเวอรสามารถใชโพรโตคอลไดทง UDP และ TCP การท างานขนอยกบปจจย 2 ประการ คอ โปรโตคอลในชนทรานสปอรตเลเยอรทใช และบรการตางๆ ซงเราสามารถแบง
Page 21
12
เซรฟเวอรออกไดเปน 4 ประเภท คอ Connectionless Iterative, Connectionless Concurrent, Connection-Oriented Iterative และ Connection Oriented Concurrent
Socket Interface
ชอกเกต (Socket) จะเปนเสมอนจดทจะใหโปรเซสแตละตวตดตอส อสารกน ดงนนเมอโปรเซสตองการสอสารกนจะตองท างานโดยผานซอกเกต โครงสรางของซอกเกตไดถกก าหนดไวในระบบปฏบตการ (Operating System) จากรปท 2.4 แสดงใหเหนโครงสรางอยางงายของชอกเกต ซงจะมอย 5 องคประกอบ ดงน
รปท 2.4 โครงสรางอยางงายของชอกเกต
ทมา : สงพมพการสอสารขอมลและเครอขายคอมพวเตอร
• Family: เปนฟวสทใชส าหรบก าหนดกลมของโพรโตคอล เชน IPv4, IPv6 • Type: เปนฟลดทใชในการก าหนดชนดของชอกเกต ซงประกอบไปดวย
Stream Socket, Datagram Socket และ Raw Socket • Protocol: ปกตฟลดนถกก าหนดใหมคาเปน 0 ส าหรบโพรโตคอล TCP และ
UDP • Local Socket Address: ฟลดใชเกบคาของไอพแอดเดรสและหมายเลขพอรต
ของไคลเอนต • Remote Socket Address: ฟลดใชเกบคาของไอพแอดเดรสและหมายเลข
พอรตของเซรฟเวอร
Page 22
13
ชนดของชอกเกต (Socket Type) สามารถแบงออกได 3 ชนด Stream Socket, Datagram Socket และ Raw Socket ซง
ชอกเกตทง 3 ชนดถกใชใน TCP/IP ดงรปท 2.5
รปท 2.5 ชนดของชอกเกต
ทมา : สงพมพการสอสารขอมลและเครอขายคอมพวเตอร
• Stream Socket: ถกออกแบบมาเพอ ใชกบโพรโตคอลแบบ Connection-Oriented เชน TCP
• Datagram Socket: ถกออกแบบมาเพอใชกบโพรโตคอลแบบ Connectionless เชน UDP
• Raw Socket: มบางโปรโตคอล เชน ICMP หรอ OSPF ทขอใชบรการโดยตรงกบ IP ซงไมจ าเปนตองใชทง Stream และ Datagram Socket ดงนน Raw Socket จงออกแบบมาเพอแอปพลเคชนเหลาน
Page 23
14
กระบวนการท างานของเซรฟเวอรไคลเอนต ทางผพฒนาไดเลอกใชการเชอมตอแบบ Connection-Oriented ไคลเอนต-เซรฟเวอรแบบ Concurrent ตดตอส อสารโดยใช TCP และ Stream Socket จงท าใหเซรฟเวอรสามารถรองรบการรองขอจากหลายๆ ไคลเอนตไดพรอมกน หารกระท าเชนนได เซรฟเวอรจะตองมบฟเฟอรเพ อรองรบการตดตอส อสารจากไคลเอนตทกครง เซกเมนตางๆ ทถกสงมาจากไคลเอนตจะถกเกบไวในบฟเฟอรกอนแลวจงสงตอใหกบเซรฟเวอร จากรปท 2.6 แสดงทศทางการท างานเกดขนกบเซรฟเวอร / ไคลเอนต
Socket Interface: connection-oriented server
ServerClient Buffer
Create a socket
Bind the socket
Listen for client
Create a childTo server client
Repeat infinitely
Repeat as needed
Create a temporary socket
Read bytes when they arrive
Process
Write bytes
Destroy thetemporary socket
Repeat as needed
Write bytes
Read bytes when they arrive
Destroy thesocket
Create a socket
Connect to Server
Connection Setup
รปท 2.6 แสดงทศทางการท างานเกดขนกบเซรฟเวอรไคลเอนต
ทมา : สงพมพการสอสารขอมลและเครอขายคอมพวเตอร
Page 24
15
เซรฟเวอร เซรฟเวอรมการะบวนการท างานดงน
1. Create socket: เซรฟเวอรบอกระบบปฏบตการใหท าการสรางซอกเกต 2. Bind: เซรฟเวอรบอกระบบปฏบตการใหเกบขอมลทเกยวของกบซอกเกตทถก
สรางขนมาในขนตอนกอนหนาน 3. Listen: เซรฟเวอรบอกระบบปฏบตการใหรอรบรองรองขอจากไคลเอนต 4. Repeat: เซรฟเวอรท าการวนลปเพอท าขนตอนตอมา
a. Create a child: เมอมการรองขอจากไคลเอนตเขามาระบบปฏบตการจะสรางโปรเซสลก (Child Process) ขนมาและจะใหโปรเซสนท าการตดตอส อสารกบไคลเอนตตอไป ดงนนโปรเซสแม (Parent Process) กจะวางซงท าใหพรอมทรบการรองขอจากไคลเอนตอนๆ ตอไป
b. Create a new socket: มการสรางชอกเกตใหมขนมาเพอใชแทน โปรเซสลกทถกสรางขนมากอนหนาขนตอนน
c. Repeating: โปรเซสลกท าขนตอนตอไปเรอยๆ ตราบทยงมการรองขอมาจากไคลเอนต Read: โปรเซสลกรบขอมลเปนไบตสตมเขามา Process: ท าการประมวลผล Write: โปรเซสลกน าผลทไดสงเปนไบตสตมกลบไปยงไคลเอนต
d. Destroy socket: เมอไคลเอนตสงขอมลเสรจแลว โปรเซสลกจะบอกระบบปฏบตการใหท าการยกเลกซอกเกตทสรางขน
ไคลเอนต
ไคลเอนตมการะบวนการท างานดงน 1. Create a new socket: ไคลเอนบอกระบบปฏบตการใหสรางชอกเกต 2. Connect: ไคลเอนบอกระบบปฏบตการใหสรางการตดตอกบเซรฟเวอร 3. Repeat: ไคลเอนตท าซ าขนตอนนตอไปเรอยๆ ตราบทยงตดตอกบเซรฟเวอร
a. Write: ไคลเอนตสงไบตสตมไปยงเซรฟเวอร b. Read: ไคลเอนตรบไบตสตมมาจากเซรฟเวอร
4. Destroy: หลงจ ากทไคล เอนตส งขอมล เส รจแ ล ว ไคล เอนต จ ะบอกระบบปฏบตการใหท าการยกเลกซอกเกตทสรางขน
Page 25
16
บทท 3 การออกแบบระบบ
โปรแกรมประยกตทใชตรวจสอบการท างานของระบบตางๆ จะท างานเปน Window
Base Service โดยตดตงไปยงเครองคอมพวเตอรสวนกลางและเรยกดขอมลผาน Web Browser เมอพบความผดปกตของการท างานกจะมการแจงเตอนไปยงผดแลระบบโดยผานชองทาง E-Mail หรอชองทางตางๆ พรอมทงแกไขความผดพลาดในเบองตนและรายงานผลการแกไขไปยงผรบ ซงอ านวยความสะดวกแกผดแลระบบ
3.1 โครงสรางการท างานของระบบปจจบน โครงสรางการท างานของระบบปจจบนประกอบไปดวย Application และเซอรวสทท า
เปนเบองหลงของระบบ โดยแตละ Application มการแยกหนาทการท างานอยางชดเจน จากรปท 3.1 การท างานสามารถแยกออกไดเปน 3 สวน
1. Gateway Server ป ร ะ ก อ บ ไปด ว ย Gateway Application แ ล ะ Forwarder Application ท าหนาทรบขอมลจากตวอปกรณเพอน าเขาสระบบ เมอรบเขามาจะท าการพกเขาส Buffer (MSMQ) และ Forward ไปยง Data Server ในขนตอนตอไป
2. Data Server ประกอบไปดวย Data Server Application, Receiver Application และ Forwarder Application โดยรบขอมลจาก Gateway Server เมอรบเขามาจะท าการพกเขาส Buffer (MSMQ) เพ อรอ Data Server Application น าขอมลไปท าการประมวลผลขอมล เมอท าการประมวลผลเสรจส นกจะน าขอมลไปพกเพอรอการสงตอด าเนนการขนตอไป
3. Broadcast Server ป ร ะ ก อ บ ไปด ว ย Broadcast Application แ ล ะ Receiver Application ท าหนาทกระจายขอมลไปยง customer เพ อรบรายงานสถานการณปจจบน
Page 26
17
Broadcast ServerData Server
Application
Receiver ForwarderData Server
Gateway Server
Application
ForwarderGateway
TextFile
Service
MSMQ
Data Message
Service
MSMQ
Data Message Event Message
Application
Receiver
Service
MSMQ
Event Message
Broadcast
E-Mail SMS
รปท 3.1 Flow Diagram การท างานของระบบ
Page 27
18
3.2 โครงสรางการท างานของระบบ ตวโปรแกรมจะท าหนาทเปนเครองมอใหผดแลระบบเขาไปเลอกดสถานการณท างาน
และสภาพแวดลอมภายในเครองคอมพวเตอรลกขายและภายในเครอขายภายใน ของแตละอปกรณทไดท าการตงคาการท างาน ในรปแบบ Policy Profile
ซงตวโปรแกรมทตดตงอยบนเครองแมขายจะเปนคนเชอมตอไปโปรแกรมทตดตงบนเครองลกขายโดยอตโนมต เพ ยงแคผดแลท าการตงคาหรอเปลยนแปลงคา และเมอมการเปลยนแปลงคาของอปกรณหรอมการท างานผดพลาด ระบบจะท าการแกไขปญหาในเบองตนตามทมการตงคาไว แลวมการบนทกประวตพรอมทงแจงเตอนไปยงผทตองร บผดชอบปลายทาง
รปท 3.2 โครงสรางโดยรวมการท างานของระบบ
จากรปท 3.2 การด าเนนงานเร มจากการออกแบบ Policy Profile การท างานของโปรแกรม วธการใชงานเพยงแคผใชงานเขาสระบบผาน Web Portal ตวโปรแกรมจะท าหนาทเปนสอกลางระหวาง Application Client และผใชงาน เมอเปดโปรแกรมขนมาโปรแกรมจะแสดงหนาตางภาพรวมทระบรายละเอยดของเหตการณและชวงเวลาทตางๆ ทเกดความผดปกตไว ขอมลเหลานจะถกสรางขนโดยผใชงานเฉพาะครงแรกและบนทกลงสระบบฐานขอมล เมอ Application Client ท างานกจะรองขอมลการการคาจาก Application Server ตวโปรแกรมจะท าหนาประมวลผลตามค าส งทไดรบมอบหมาย และเมอเกดเหตการณความผดปกต ระบบจะด าเนนการตามแผนของชดค าส งทไดรบ พรอมยงแจงผลการด าเนนการไปยงผรบผดชอบ
Page 28
19
Broadcast ServerData ServerGateway Server
Service
MSMQ
Event Message
Service
MSMQ
Data Message
Application
ForwarderGateway
TextFile
Monitor Agent
TextFile
Application
Receiver ForwarderData Server
Service
MSMQ
Data Message Event Message
Monitor Agent
TextFile
Application
Receiver Monitor Agent
TextFile
Broadcast
E-Mail SMS
SCOM Server
Service
Mongdb
Application
Server Agent
TextFile
DB
User Interface
Portal
Broadcast
E-Mail SMS Social Media
รปท 3.3 โครงสรางการวาง Monitor Application ภายในระบบ
Page 29
20
จากรปท 3.3 การด าเนนงานเร มจากการออกแบบ Policy Profile การท างานของโปรแกรม วธการใชงานเพยงแคผใชงานเขาสระบบผาน Web Portal ตวโปรแกรมท าหนาทเปนสอกลางระหวาง Application Client และผใชงาน เมอเปดโปรแกรมขนมาโปรแกรมแสดงหนาตางภาพรวมทระบรายละเอยดของเหตการณและชวงเวลาทตางๆทเกดความผดปกตไว ขอมลเหลานจะถกสรางขนโดยผใชงานเฉพาะครงแรกและบนทกลงสระบบฐานขอมล เมอ Application Client ท างานกจะรองขอมลการการคาจาก Application Server ตวโปรแกรมจะท าหนาประมวลผลตามค าส งทไดรบมอบหมาย และเมอเกดเหตการณความผดปกต ระบบจะด าเนนการตามแผนของชดค าส งทไดรบ พรอมยงแจงผลการด าเนนการไปยงผรบผดชอบ ซงสามารถแสดงเปนแผนภาพการท างานของระบบโดยรวมดงน
Page 30
21
Application Flow
Web PortalAdmin Application Server Application Client
Rep
ort
Con
figu
rati
on
Mon
itor
ing
Ale
rtUser
Setup
ClientSetup
PlanningSetup
AlertSetup
MonitoringSetup
Application
Data Store
Application
Monitoring
Application
Admin
Admin
Application
Activity
Admin
Data Store
Alert
Event
รปท 3.4 การท างานของโปรแกรมโดยรวม
Page 31
22
3.3 โครงสรางของโปรแกรม โครงสรางของโปรแกรมจะประกอบไปดวยสวนส าคญดวยกน 3 สวนหลก ไดแก 3.3.1 Web Portal คอ สวนตดตอผใชงาน ท างานเปน Web Base หนาทหลก คอ แสดง
ประวตการท างาน การตงคาการเฝาระวง การก าหนดแนวทางการแกปญหาเบองตน การก าหนดการแจงเตอน และการท ารายงานเพอวเคราะหเหตการณทเกดขน ซงเราสามารถจดกลมงานไดดงน
1. Configuration User and Permission 2. Configuration Computer Client. 3. Configuration Policy (Monitor, Process, Alert, Fail Planning Etc.) 4. View Log Activity. 5. Analyze Report.
3.3.2 Application Server คอ โปรแกรมประยกต ท างานเปนลกษณะ Service Base หนาทหลก คอ เปนสวนกลางในการรบค าส งจากผดแลระบบ สงงานคอมพวเตอรลกขาย เกบประวตเหตการณทเกดขนในคอมพวเตอรลกขาย อกทงแจงความเปลยนแปลงทเกดขนไปยงผดแลระบบ เราสามารถจดกลมงานไดดงน
1. Center control (Database Control, Agent Control Etc.) 2. Analyze Module. 3. Broadcast Module.
3.3.3 Application Client โปรแกรมประยกต ท างานเปนลกษณะ Service Base ถกตดตงลงบนเครองคอมพวเตอรลกขาย ท าหนาท รบค าส งทไดรบจาก Application Server เพ อน ามาประมวลผลตามค าส งทไดรบมอบหมาย พรอมทงแจงความผดพลาดทเกดขนกลบไปยง Application Server เพ อท าการจดเกบลงฐานขอมล เราสามารถจดกลมงานไดดงน
1. Monitor Module 1.1 Window Service – Local Service Process Health
1.2 Application – Checking Process Health and process exists
1.3 Networking – Monitor Link status
1.4 Text File - Growl Notification
1.5 MSMQ – Checking Over Limit
1.6 File System 2. Health Check Module
2.1 Checking Other Agent for Running.
Page 32
23
รปท 3.5 โครงสรางของโปรแกรม
Page 33
24
จากรปท 3.5 เปนการระบโครงสรางสวนตางๆ ทมในโปรแกรม แตแยกการท างานสวนหลกๆ ใหสามารถเขาใจไดงายและใชโปรแกรมไดถกตอง
3.4 ข นตอนการท างานของโปรแกรม ในขนตอนการท างานของโปรแกรมจะอธบายการท า งานตามสวนของโครงสราง
โปรแกรม สามารถแบงขนตอนการท างานออกเปนสวนๆ เพอใหสามารถเขาใจการท างานของโปรแกรมโดยแบงขนตอนตางๆ ออกเปน 3 สวน ดงโครงสรางโปรแกรมทกลาวมา ดงน
3.4.1 Web Portal ขนตอนการสรางและตงคาโปรแกรมจะเกดจากสวนน การเร มสราง Policy Profile ซง
ในแตละ Profile กจะมรปแบบการท างานทแตกตางแตก มใหคาทจ าเปนรวมถงขอมลส าคญๆ และแผนการด าเนนการกคนระบบอตโนมต ขนตอนการท างานของโปรแกรมในขนตอนการสรางและลบโปรไฟลน จะมสวนประกอบจากหลายๆ สวน ดงน จะท างานตามรปท 3.6
รปท 3.6 โปรไฟล และสวนประกอบส าคญในหนงหนวยค าส ง
โดยในแตการท างานมสวนประกอบส าคญหลายสวน เพอระบการท างานในแตละ Process ซงในแตขอมล จะประกอบดวยรายละเอยด ดงน
Profile
User
Client
Alert
Activity
Fail Planning
Monitoring
MonitorProcess Health
Scheduler
Page 34
25
A. User Profile ขอมลผดแลระบบเปนองคประกอบหลกเพอก าหนด Profile การท างานของ
ระบบ รวมทงผรบขอความแจงผลเหตการณ โดยมการแบงความส าคญของขอความตามสทธของผดแลระบบนนๆ ซงประกอบไปดวยขอมลเบองตน รวมทงขอมลการตดตอในกรณระบบเกดความผดพลาด
รปท 3.7 อธบายสวนส าคญของ User Profile
B. Client Profile ขอมลส าคญเพอใชในการเชอมตอประกอบไปดวยชอผใช รหสผาน และบรการ
ทเปดใช ตลอดจน port ทมการใชงาน
รปท 3.8 อธบายสวนส าคญของ Client Profile
• ชอ - นามสล• Group คอ การจดกลมและความส าคญ เพอก าหนดสทธการเขาถงหรอ
ไดรบขอความ• Contact คอ ชองทางการตดตอ Mobile Number, E-Mail, WathApp ID
User Profile
• Hostname• IP Address• User Name, Password• Service คอ Service
Client Profile
Page 35
26
C. Alert Profile ขอมลส าหรบการแจงเตอนเมอเกดเหตการณ โดยจะสมพนธการสทธ การเขาถง
ตลอดจนชองทางการรบขอมล โดยเมอเกดเหตการณ ระบบตรวจสอบวามการตงคาใหแจงเตอนหรอไม
รปท 3.9 อธบายสวนส าคญของ Alert Profile
D. Fail Planning แนวทางส าหรบการแกไขปญหาเมอเกดเหตการณในเบองตน โดยจะถก
ก าหนดแนวทางการแกไขโดยผดแลระบบ โดยการกคนจะสมพนธกบ Mode การเฝาระวง อาท เชน Monitor Service > Restart Service เปนตน
รปท 3.10 อธบายสวนส าคญของ Fail Planning
• ชอ-นามสกลผรบ• สทธในการไดรบขาวสาร คอ สทธ ในการไดรบการแจงเตอนในเหตการณ
ตางๆ• ชองทางในการรบการแจงเตอน E-Mail, Tel Number, Social Media
Alert Profile
• Event Type คอ เหตการณทสามารถแกไขความผดพลาดในเบองตน• Recoverry Plan คอ แผนงานในการกคนระบบ อาท เชน
• Precess Not Response > Close Process and Start Process• Service Not Running > Restart Service
• Next Plan คอ กจกรรมตอมาหลงจากการกคนระบบ เชน การแจงเตอน
Fail Planning
Page 36
27
E. Monitor Mode ขอมลการท างานของโปรแกรมในแตละ Profile โดยจะแตกตางกนตาม
หมวดหมการเฝาระวง โดยสามารถแบงออกเปน 2 หมวดหม คอ Monitor Module และ Health Check Module
รปท 3.11 อธบายสวนส าคญของ Monitor Profile
• Event Type คอ หมวดหมท Application Client ตองด าเนนการเฝาระวง• 1. Monitor Module
• Window Service – Local Service Process Health• Application – Checking Process Health and process exists• Networking – Monitor Link status• Text File - Growl Notification• MSMQ – Checking Over Limit• File System
• 2. Health Check Module• Checking Other Agent for Running.
Monitor Mode
Page 37
28
3.4.2 Application Server การควบคม Application ทงหมด Application server จะเปนผควบคมการ
ท างาน ตลอดจนการไหลเขา-ออกของขอมล การตงคาระบบและการแจงเตอนเหตการณตางๆ ตลอดจนการตดตอสวน Database ซง Application Server มลกษณะการท างานเปน Background Service ท างานเปนตวกลางระหวางสวนตดตอผใชงานและ Application Client ซงสามารถอธบายรายละเอยดการท างานไดดงน
A. สวนตดตอผใช
ในสวนนจะรบผดชอบการท างานในสวนการเพมขอมลผใช ขอมลเซรฟเวอรการแจงเตอนโปรแกรม การตงคาระบบตลอดจนการแสดงรายงานการท างานของโปรแกรม สามารถจ าแนกการท างานออกเปน 2 สวน คอ 1. สวนควบคมการท างาน
โครงสรางของโปรแกรมจะประกอบไปดวยสวนส าคญดวยกน 5 สวนไดแกๆ a. User Profile
การเพมจะถกแบงออกเปนสองสวน คอ ขอมลผใชเบ องตน ประกอบไปดวยชอ นามสกล ชองทางการตดตอ สวนทสอง การผกผใชงานเขากบสทธ ในการไดรบขาวสารของเหตการณนนๆ
b. Client Profile การเพม แกไขหรอลบ ขอมล เครอง Client โดยประกอบไปดวยขอมลชอเครอง รหสผาน เพอใชในการ เขาถงเครองปลายทาง
c. Alert Profile ชองทางการแจงขาวสาร เมอเกดเหตการณ ไปยงผดแลระบบ โดยมการตรวจสอบสทธในการรบผขาวสาร ชองทางในการไดรบขาวสารได
d. Fail Planning แนวทางในการแกไขปญหาเมอเกดเหตการณ โดยมเฉพาะในเผาระวงในสวน Process และ Service
e. Monitor Mode หมวดหมในการ Monitor สามารถแบงออกไดเปน 5 หมวดหม ไดแก Window Service Monitor, Application Monitor, Networking Monitoring, Text File Monitoring, Message Queue Monitoring, File System Monitoring
Page 38
29
2. สวนตดตอ Application Client ในสวนน จะท างานตอเน องจากสวนตดตอผใชงาน โดยน าขอมลการตงคา
Policy Profile สงตอใหกบ Application Client เพ อท าการ Monitor Server โดยการท างานเร มจาก รอค ารองขอ Policy Profile จาก Application Client โดยจากสงหมายเลขประจ าตวของ Application Client นนๆ มายง Application Server เมอไดรบหมายเลขกน าไปคนหาภายในฐานขอมลเพอตรวจสอบวามการตงคาไวหรอไม หากพบกน าขอมลผใช, ขอมล Client, ขอมลการแจงเตอน, แนวทางการกคนระบบ และขอมล Monitor Mode เพ อสราง Policy Profile สงกลบไปยง Application Client
Page 39
30
Start
Check Exists
No
Policy Profile > 0
Stop
Query Data
Input Client
Id
DB
Create Policy
Profile
รปท 3.12 ขนตอนรองขอ Policy Profile จาก Application Server
จากรป 3.12 การท างานเร มจาก Application Client เชอมตอไปยง Application Server เพ อรองขอค าส งในการท างาน โดยจะสงหมายเลขประจ าตวของ Agent เมอ Application Server ไดรบกไปคนหาการตงจากจากฐานขอมล เมอไดผลลพธกตอบกลบไปยง Application Client
Page 40
31
3.4.3 Application Client. การท างานตรวจสอบสถานะของ Server เร มตนการรองของานจาก Application Server
และเมอไดรบขอมลจาการตอบกลบ เร มกระบวนท างานตามคา Interval time ทก าหนด โดยการอานขอมลตามค าส งทผกมากบ Profile มาตรวจสอบ โดยเราสามารถตรวจสอบสถานะของ Server แตวามสถานะการท างานทปกตหรอไม ถาเกดความผดปกต ระบบจ าท าการอานขอมลจาก Profile เพ อก าหนดแนวทางการท างานในขนตอไป เชน การกคนโปรแกรม หรอการแจงเตอนไปยงผท เกยวของ ดงรป
Page 41
32
Start
If profile > 0
Profile = 0
Profile > 0
Stop
Monitor
Fail Plan
Recovery System
Alert
Broadcast Data
YES
YES
NO
Terminate
Profile
NO
NO
Request
Profile Data
รปท 3.13 ภาพรวมอธบายการท างานสวน Application Client
Page 42
33
ในขนขอนการท างานของโปรแกรมมการแบงประเภทการเฝาระวง (Monitor Type) ออก
หลายประเภทตามการใชงาน ในแตละขนตอนมกระบวนการท างานทแตกตางตาง โดยสามารถ
อธบายการท างานแตละประเภทไดดงน
a. Process Start
Stop
Request Profile Data
If Profile > 0
Monitor
Application Open
Response
Response
Fail Plan
Recovery
Alert
Broadcast Data
Stop Running
No
Yes
No
Yes
No
Yes
NoYes
Yes
No
No
Yes
รปท 3.14 อธบายการท างานสวน Monitor Process
Page 43
34
จากรปแสดงขนตอนการท างานในฝง Monitor Process เรมจากการรองขอขอมลโปรไฟลเพอใชในกระบวนการเฝาระวง ในขนตอนแรกตรวจสอบวา Process ทก าหนดมการเปดใชงานหรอไม ถาไมกท าการแจงเตอนไปยงผดแลระบบ แตถาเปดการท างาน กจะด าเนนการขนตอนตอไปเพอตรวจสอบ สถานการณท างานวาปกตหรอไม ถาไมกด าเนนแผนการกคน ใ นกรณ Process แผนการกคน คอ ปดการท างาน Process และ Restart Process พรอมทงแจงผลการท างานไปยงผดแลระบบทก าหนด
b. Service Start
Stop
Request Profile Data
If Profile > 0
Monitor
Service Install
Service Status
Response
Fail Plan
Recovery
Alert
Broadcast Data
Stop Running
No
Yes
No
Yes
No
Yes
No
Yes
Yes
No
No
Yes
รปท 3.15 อธบายการท างานสวน Monitor Service
Page 44
35
จากรปแสดง Flowchart เพอตรวจสอบการใหบรการ Service เรมจากการรองขอขอมล
โปรไฟลเพอใชในกระบวนการเฝาระวง ในขนตอนแรกตรวจสอบวา Service ทก าหนดมการตดตง
หรอไม หากไมกแจงเตอนไปยงผดแลระบบ หากมการตดตงกตรวจสอบสถานการณท างานวา
Response Code ตรงตามทก าหนดหรอไม หากมการท างานผดพลาดระบบจะด าเนนการกคน
ตามแผนทก าหนด คอ หยดการท างานของ Service ทก าหนดหรอ Restart Service พรอมทง
รายงานผลการด าเนนการไปยงผดแลระบบ
c. Message Queue Start
Stop
Request Profile Data
If Profile > 0
Monitor
Message Queue Install
Counter
Value > Profile.Limit
Alert
Broadcast Data
Stop Running
No
Yes
Yes
Yes
No
No
No
Yes
Yes
No
รปท 3.16 อธบายการท างานสวน Monitor Message Queue
Page 45
36
จากรปแสดง Flowchart เพอตรวจสอบการใหบรการ Message Queue Service เรมจาก
การรองขอขอมลโปรไฟลเพอใชในกระบวนการเฝาระวง ในขนตอนแรกตรวจสอบวา Message
Queue Service ทก าหนดมการตดตงหรอไม หากไมกแจงเตอนไปยงผดแลระบบ หากมการตดตง
กตรวจสอบจ านวน Message ทคางอยในระบบหากเกนกวาคาทก าหนด ระบบจะรายงานผลไป
ยงผดแลระบบ โดยในสวนนไมมโปรแกรมการกคนก าท างาน
d. Network
Start
Stop
Request Profile Data
If Profile > 0
Monitor
Ping
Response Time > Profile.Limit
Alert
Broadcast Data
Stop Running
No
Yes
Yes
Yes
No
No
No
Yes
Yes
No
รปท 3.17 อธบายการท างานสวน Monitor Network
Page 46
37
จากรปแสดง Flowchart เพอตรวจสอบการใหบรการตรวจสอบ Network Service เรม
จากการรองขอขอมลโปรไฟลเพอใชในกระบวนการเฝาระวง ในขนตอนแรกตรวจสอบวา หมายเลข
เครอขายปลายทางมการตอบสนอง ภายในเวลาทก าหนดหรอไม หากไมกแจงเตอนไปยงผดแล
ระบบ โดยในสวนนไมมโปรแกรมการกคนก าท างาน
e. File
Start
Stop
Request Profile Data
If Profile > 0
Monitor
File Size Growing
Alert
Broadcast Data
Stop Running
No
Yes
No
Yes
No
No
Yes
Yes
Yes
No
File exists
Yes
รปท 3.18 อธบายการท างานสวน Monitor File
Page 47
38
จากรปแสดง Flowchart เพอตรวจสอบการใหบรการตรวจสอบ Text File เรมจากการรอง
ขอขอมลโปรไฟลเพอใชในกระบวนการเฝาระวง ในขนตอนแรกตรวจสอบวาระบบมการสราง Text
File ถาไมพบ Text File ระบบจะท าการแจงเตอนไปยงผ ดแลระบบ แตถาหากพบระบบจะ
ด าเนนการตรวจสอบขนาดของ Text File เมอไดขนาดลาสด กน ามาเปรยบเทยบกบขอมลครง
กอนหนา หากพบวาไมมขนาดทเพมขน ระบบจะแจงเตอนไปยงผดแลระบบ โดยในสวนนไมม
โปรแกรมการกคนก าท างาน
f. HTTP Service Start
Stop
Request Profile Data
If Profile > 0
Monitor
HTTP Request
Response Code = Config Response Code
Alert
Broadcast Data
Stop Running
No
Yes
No
Yes
No
No
Yes
Yes
Yes
No
รปท 3.19 อธบายการท างานสวน Monitor HTTP Service
Page 48
39
จากรปแสดง Flowchart เพอตรวจสอบการใหบรการตรวจสอบ HTTP Service เรมจาก
การรองขอขอมลโปรไฟลเพอใชในกระบวนการเฝาระวง ในขนตอนแรกระบบสง HTTP Request
ไปยง ปลายทางพรอมทงรอตอบกลบ เมอไดการตอบกลบ ระบบจะท าการเปรยบเทยบ Response
Code วาตรงกบการตงคาหรอไม หากไมตรงระบบจะท าการแจงเตอนไปยงผดแลระบบ โดยใน
สวนนไมมโปรแกรมการกคนก าท างาน
3.5 การออกแบบฐานขอมล การออกแบบฐานขอมลเพอจดเกบขอมลจากการตงคา ขอมลผ ใช ขอมลการแจงเตอน
และประวตการท างานของระบบทางผพฒนาจงเลอกใช SQL Server เพองายตอการพฒนาและ
การบรหารจดการ โดยประกอบไปดวยตารางขอมลตางๆ สามารถจ าแนกชดขอมลออกได 2 กลม
3.5.1 Configuration Collection
ฐานขอมลในสวนนเปนขอมลส าคญในการท างานของ Application จดเกบการ
ตงคา ขอมลพนฐานการเครอง Server ผใช ขอมลเครอขาย ขอมลการแจงเตอน ตลอดจน
แผนงานในการท างานของ Application ประกอบไปดวย
- Network คอ ขอมลหมายเลข IP ทใชในการเผาระวง
- Process คอ ขอมลโปรเซลทเคาระวง ประกอบไปดวย ชอ
3.5.2 Logging Collection
ชดขอมลในสวนนเปนการจดเกบประวตการท างานของ Application เหตการณ
ทเกดขน ขอมลการแจงเตอนไปยงผดแลระบบ
Page 49
40
รปท 3.20 การออกแบบฐานขอมล
LogBroadcasts
Id int
GroupId int
UserId int
HostName varchar(50)
IpAddress varchar(50)
PolicyId int
AlertType varchar(50)
LogMessage varchar(MAX)
LogDate datetime
Column Name Data Type Allow Nulls
Agents
Id int
IpAddress nvarchar(50)
Port int
Name nvarchar(50)
UserName nvarchar(50)
Password nvarchar(50)
IsDeleted bit
Column Name Data Type Allow Nulls
LogDatabases
Id int
UserId int
AgentId int
SourceLog nvarchar(50)
LogDate datetime
LogType varchar(MAX)
LogLevel varchar(MAX)
ExceptionString varchar(MAX)
Comment varchar(MAX)
IsDeleted bit
CreateAt datetime
UpdateAt datetime
DeletedAt datetime
Column Name Data Type Allow Nulls
LogLogins
Id int
UserId int
LogDate datetime
LoginLogType nvarchar(MAX)
ExceptionString nvarchar(MAX)
Comment nvarchar(MAX)
IsDeleted bit
Column Name Data Type Allow Nulls
Users
Id int
Name nvarchar(MAX)
Email nvarchar(MAX)
Password nvarchar(MAX)
UserTypeId int
Tel nvarchar(50)
WathAppId nvarchar(50)
LineId nvarchar(50)
CreatedDate datetime
CreatedIpAddress nvarchar(MAX)
CreatedUserId int
UpdatedDate datetime
UpdatedIpAddress nvarchar(MAX)
UpdatedUserId int
IsDeleted bit
IsActive bit
Column Name Data Type Allow Nulls
MonitorTypes
Id int
Name nvarchar(50)
Param nvarchar(50)
Column Name Data Type Allow N...
Policies
Id int
Name nvarchar(50)
AgentId int
UserGroupProfil... int
RecoveryId int
TypeId int
Param nvarchar(50)
Value1 nvarchar(50)
Value2 nvarchar(50)
Value3 nvarchar(50)
NumValue1 int
NumValue2 int
NumValue3 int
DateValue1 datetime
DateValue2 datetime
Delay int
Interval int
IsActive bit
IsDeleted bit
Column Name Data Type Allow N...
ProfileGroups
Id int
Name nvarchar(50)
AlertEmail bit
AlertSMS bit
AlertWathApp bit
AlertLine bit
IsDeleted bit
IsActive bit
Column Name Data Type Allow N...
RecoveryPlans
Id int
Name nvarchar(50)
Param nvarchar(50)
Value1 nvarchar(50)
Value2 nvarchar(50)
Value3 nvarchar(50)
IsDeleted bit
Column Name Data Type Allow N...ParameterItems
Id int
Name varchar(50)
GroupId int
Code varchar(50)
Value1 varchar(500)
Value2 varchar(500)
Value3 varchar(500)
Column Name Data Type Allow N...
PolicyProfileGroups
Id int
PolicyId int
ProfileGroupId int
IsDeleted bit
Column Name Data Type Allow Nulls
UserTypes
Id int
Name nvarchar(MAX)
IsDeleted bit
Column Name Data Type Allow Nulls
UserProfileGroups
Id int
UserId int
ProfileGroupId int
IsDeleted bit
Column Name Data Type Allow Nulls
LogEvents
Id int
AgentId int
HostName varchar(50)
IpAddress varchar(50)
PolicyId int
PolicyName varchar(50)
MonitorType varchar(50)
LogDate datetime
LogLevel varchar(50)
Message varchar(500)
Column Name Data Type Allow Nulls
LogUserDoings
Id int
UserId int
UserName varchar(50)
Email varchar(50)
UserType varchar(20)
Action varchar(10)
FunctionName varchar(50)
Timestamp datetime
TransectionId varchar(50)
MasterData varchar(MAX)
AfterData varchar(MAX)
Column Name Data Type Allow Nulls
Page 50
41
3.6 ขนตอนกระบวนการไหลของโปรแกรม
Admin Application Server Application Client Server
Login
Identity Name
Configguration Policy Profile
Configuration
Recive Command
Check
Monitering Interval Time
Fail Planing
Alert Message
Event
Alert Event
Configuration Response
รปท 3.21 กระบวนการไหลของโปรแกรมทงหมด
Page 51
42
บทท 4 การทดสอบระบบ
จากการออกแบบและวเคราะหระบบจากบททผานมา ในบทนเปนการด าเนนการตามการออกแบบ โดยผพฒนาไดพฒนา Application เพ อตรวจสอบและแจงเตอนระบบ โดยระบบประกอบดวย 3 สวนหลก คอ สวนของผดแลระบบ สวนของ Application Server และ Application Client โดยผพฒนาไดจดสภาพแวดลอมส าหรบทดสอบระบบ ซงสามารถอธบายขนตอนการท างานโดยสงเขพ ดงน
4.1 โครงสรางของระบบทใชทดลอง
Database ServerApp Server
App Client 1Terminal
รปท 4.1 โครงสรางของระบบทใชทดสอบ
การทดสอบการท างานในสภาพแวดลอมทถกจดเตรยมขน โดยใชโปรแกรมจ าลองเครองเสมอน (Virtual Machine) ท าการตดตง Application และการตงคาโปรแกรมเพอเชอมตอการท างานดง รปท 4.1 โดยการตดตง Application การตงคาการท างานเบองตน ดงน
Page 52
43
4.2 สภาพแวดลอมการทดสอบ
Terminal / Admin
Internet / Intranet Application Server
Application Client
Database Server
Web API / Application Server
MSSQL Server 2008 R2
SCOM Agent / Gateway / Data Server / MSMQ Service
รปท 4.2 ภาพรวมและสวนตางทเกยวของของระบบทใชทดสอบ
จากรปท 4.2 การทดสอบระบบในสภาพแวดลอมทจ าลองขนประกอบไปดวยผใชงานหรอผดแลระบบ ระบบเครอขาย ตลอดจนการจดเตรยมฮารดแวรและซอฟตแวร ตามล าดบ
1. การจดเตรยมฮารดแวรทงหมด จดสรรมาจากภายในองคกร โดยการใช เครองเสมอน (Virtual Machine) โดยน ามาสรางและตดตงระบบปฏบตการตามความตองการขางตน ดงน
Page 53
44
Host Component Requirement Terminal Memory 2 GB
Process Speed 2.0 GHz Disk Space 20 GB Network Intranet / Internet Operating system Window 7
Application Server Memory 4 GB Process Speed 2.0 GHz Disk Space 50 GB Network Intranet / Internet Operating system Window Server 2008 R2
Application Client Memory 4 GB Process Speed 2.0 GHz Disk Space 50 GB Network Intranet / Internet Operating system Window Server 2008 R2
Database Server Memory 4 GB Process Speed 2.0 GHz Disk Space 50 GB Network Intranet / Internet Operating system Window Server 2008 R2
ตารางท 4.1 ความตองการฮารดแวรเบองตน
2. การจดเตรยมซอฟตแวรทงหมด จากการเตรยมฮารดแวรจากขางตนใน ขอ 1. ตอมาเปนขนตอนการเตรยมตดตง
ซอฟตแวรพ นฐานเพอทดสอบโปรแกรม Host Component Requirement Terminal Google Chrome Version 30 ขน Application Server IIS Service Version 7.0
.Net Framework Version 4.5 64 Bit Application Client .Net Framework Version 4.5 64 Bit
Message Queue Service Version 4.0 Database Server Microsoft SQL Server Version 2008 R2 Standard
Edition .Net Framework Version 3.5
ตารางท 4.2 ความตองการซอฟตแวรเบองตน
Page 54
45
ถดมาเปนการตดตงโปรแกรมทถกพฒนาขน ไปยงเครองตางๆ ดงน
1. Application Server a. ตดตง Application API (*ขนตอนการตดตงอางองจากภาคผนวก) b. ตดตง Application Web (*ขนตอนการตดตงอางองจากภาคผนวก)
2. Application Client a. ตดตง Application Agent (*ขนตอนการตดตงอางองจากภาคผนวก)
4.3 การทดลองระบบและผลการด าเนนงาน การทดสอบระบบ สามารถแบงการทดสอบออกเปน 4 ขนตอน คอ การ Configuration,
Monitoring, Alert และ Report ดงแสดงการท างานตามแผนภาพท 4.3 แสดงทศทางการท างานของโปรแกรมประยกต โดยการท างานมผทเกยวของทงหมด 4 สวนคอ ผดแลระบบ สวนตดตอผใช Application Server และ Application Client ซงในแตละสวนสามารถอธบายการท างาน พอสงเขพ ไดดงน
Page 55
46
Application Flow
Web PortalAdmin Application Server Application Client
Rep
ort
Con
figu
rati
on
Mon
itor
ing
Ale
rt
UserSetup
ClientSetup
PlanningSetup
AlertSetup
MonitoringSetup
Application
Data Store
Application
Monitoring
Application
Admin
Admin
Application
Activity
Admin
Data Store
Alert
Event
รปท 4.3 ทศทางการท างานของโปรแกรมประยกตและผท เกยวของ
Page 56
47
1. Configuration
สวนน เปนการตงคาระบบกอนการท างาน โดยมผทเกยวของประกอบไปดวย ผดแลระบบและ Web Portal ท าการตงคาระบบอาท ขอมลผใช ขอมลเครองคอมพวเตอรปลายทาง การเฝาระวง ขอมลการแจงเตอน แผนการกคนระบบ โดยผใชงานระบบท าการตงคาผาน Web Portal เพ อจดเกบลงสฐานขอมล
2. Monitoring
การท างานในสวนนจะมผทเกยวของโดยตรงเพยงสวนเดยว คอ Application Client หลงจากมการตงคาระบบในขนตน ระบบจะกระจายขอมลทม การตงคาไปยงเครองคอมพวเตอรปลายทาง เพอท าการเฝาระวง กคน เมอเกดเหตการณ และแจงเตอนไปยง Application Server เพ อแจงเตอนไปยงผดแลระบบ
3. Alert การท างานในสวนนจะมผท เกยวของโดยตรง คอ Application Server และผดแลระบบ
หลงจากเกดเหตการณ Application Server ไดรบขอมลกจะท าการสงตอ เพอแจงเตอนไปยงผดแลระบบ ตามชองและเง อนไขการไดรบขอมล
4. Report
การท างานในสวนนจะมผท เกยวของโดยตรง คอ ผดแลระบบ และ Web Portal ในสวนนเปนการแสดงประวตการท างาน โดยผดแลระบบสามารถเลอกดประวตการท างาน ตามเหตการณ ชวงเวลาได
4.3.1 ขนตอนการ Configuration การใชงานในสวนนถอการการตงคาเร มตนการท างาน โดยผดแลระบบจะเขาใชงานผาน
Web Portal โดยท าการ Login เพ อเขาสระบบ
Page 57
48
1. User Setup
รปท 4.4 การสราง User
จากรปท 4.4 แสดงหนาจอการสรางขอมลผใชโดยการสรางและแกไข โดยจ าเปนตองระบชอ สทธ การใชงาน เบอรโทรศพท และอเมล เพ อใชในการแจงเตอนอกดวย
รปท 4.5 การสราง User Profile
จากรป ท 4.5 แสดงการสรางและแกไข โปรไฟลกลมของการแจงเตอน โดยตองระบ ชอ ชองทางการแจงเตอน พรอมทงเลอกผใชงานเพอรบขอมลขาวสารการแจงเตอน
Page 58
49
2. Client Setup
รปท 4.6 การสราง Client Profile
จากรปเปนหนาจอแสดงการสราง client เพ อระบเครองปลายทางในการ Monitoring โดยจ าเปนตองระบหมายเลข IP Address, Hostname, User Name, Password
3. Monitoring Setup
รปท 4.7 การสราง Monitoring Profile
Page 59
50
จากรปท 4.7 เปนขนตอนส าคญในการใชงานโปรแกรม จากรปแสดงการสราง Policy Profile เพ อก าหนดหนาทการท างานของแตละ Policy ประกอบไปดวย
1. ชอ Policy โดยสอความหมายในการท างาน
2. เคร องลกขายทตองการเฝาระวง
3. Recovery Plan แผนการกคนในกรณระบบเกดเหตการณ
4. Monitor Type ชนดการเฝาระวง
5. Parameter การตงคาเฉพาะโดยอางอง ตารางท 5.3
6. Value1 การตงคาเฉพาะโดยอางอง ตารางท 5.3
7. Value2 การตงคาเฉพาะโดยอางอง ตารางท 5.3
8. Value3 การตงคาเฉพาะโดยอางอง ตารางท 5.3
9. Delay เวลาหนวงการแจงเตอน กรณเกดเหตการณ หนวยเปนวนาท
10. Notification Group เราสามารถก าหนดกลมผรบขาวสารแจงเตอน เมอเกดเหตการณ
Monitor Type Parameter1 Parameter2 Remark Monitor Process *Notepad *ชอ Process Monitor Service *msmq1 **Running *ชอ Service
*สถานะปกต Monitor Message Queue *Testq **20 *ช อ Message Queue
**จ านวนท Limit ตอการแจงเตอน Monitor Network *100 *เวลาทไมเกน Response Time Monitor File *E:\\ **Datalog_yyyy-
MM-dd *File Location **Format File
HTTP www.google.com *200 *Response Status OK
ตารางท 4.3 Parameter Configuration
4.3.2 กระบวนการ Monitoring ขนตอนนเปนกระบวนการท างานภายในเครอง Client โดยการท างานจะท างานตามท
ไดมการตงคาการท างานในขนตอนแรก โดยการท างานสามารถแสดงผลการท างาน และแจงเตอนเมอเกดเหตการณไดดงภาพ
Page 60
51
รปท 4.8 กระบวนการท างาน ขณะ Monitoring
4.3.3 การแสดง Alert การแจงเตอนโดยการท างานเมอเกดเหตการณ ระบบสามารถแจงเตอนตามการตงคา
ตลอดจนชองทางการแจงเตอน ตามล าดบหรอส ทธการร บขาวสาร โดยสามารถก าหนดระยะหางของการแจงเตอน และแจงเตอนเมอเกดเหตการณไดดงภาพ
รปท 4.9 SMS แจงเตอนเมอเกดเหตการณ
Page 61
52
จากภาพแสดงการแจงเตอนโดยผานชองทาง SMS โดยระบวนเวลาทเกดเหตการณ ชอเครองคอมพวเตอร และขอความแจงเตอนแสดงรายละเอยด
รปท 4.10 E-Mail แจงเตอนเมอเกดเหตการณ
จากภาพแสดงการแจงเตอนโดยผานชองทาง E-Mail โดยระบหวขอเหตการณ วนเวลาทเกด รายละเอยดของเหตการณ ชอเครองคอมพวเตอร
4.3.4 การแสดง Report การเรยกดรายงานยอนหลง สามารถชวยใหผดแลระบบสามารถวเคราะหถงสามารถ
สถตการเกดของเหตการณ โดยผดและระบบสามารถเรยกดรายงานยอนหลงจ าแนกออกเปนได 3 กลม คอ
รายงาน Activity การท างานของระบบ เปนรายงานแสดงรายละเอยดการท างานของระบบโดยการเกบประวตเปนการ
เกบทกรายละเอยดการท างานเชน เวลาทเฝาระวง ชอ Policy Profile Hostname สถานะการตรวจสอบ สภาวะการใชทรพยากรของระบบ
Page 62
53
รปท 4.11 รายงานแสดงรายละเอยดการท างานของผใชงานระบบ
Page 63
54
รายงานการแจงเตอน เปนรายงานสรปการแจงเตอนเมอยงเหตการณไปยงผดแลระบบตามการตงคา
โดยจะบอกถงเหตการณการณทสง
รปท 4.12 รายงานสรปการแจงเตอน
รายงาน Event เปนรายงานสรปการเหตการณความผดปกตของการท างาน เพอสรปและหา
สาเหตการท างานทผดพลาดของระบบ โดยรายงานจะแสดงเวลาทเกดสถานการณ ชอ การแจงเตอน ตลอดจนแนวทางการกคนระบบเมอเกดเหตการณ
Page 64
55
รปท 4.13 รายงานสรปการเหตการณความผดปกตของการท างาน
4.4 วเคราะหและสรปผล จากการทดสอบระบบ ระบบสามารถท างานไดอยางคอนขางถกตอง มความรวดเรวในการท างานและการแจงเตอนโดยอตโนมต แตจากการใชงานพบวาในบางครงหากมผดแลระบบใชงานพรอมกนหลายคน และมการตงคาพรอมกนท าใหคาทถกก าหนดมความผดพลาด ตลอดจนการแจงเตอน ในบางครงอาจไดรบขอความทลาชาอนเกดจากปจจยภายนอกประกอบดวย
จากการสอบการท างานท างานโดยรวมระบบสามารถท าไดถกตองตามวตถประสงค ตรงตามจดมงหมายทก าหนด ชวยอ านวยความสะดวกตอผดแลระบบเปนอยางมาก การใชงานพบปญหาบางเลกนอยซงไมกระทบตอการใชงานระบบโดยรวม
Page 65
56
บทท 5 สรปผลการด าเนนงาน
5.1 ผลการด าเนนงาน จากการทดสอบการใชงานโปรแกรม โปรแกรมสามารถท างานไดตามการตงคาโปรแกรม และ
แจงเตอนเมอเกดเหตเหตการณ ซงผดแลระบบสามารถรบทราบและจดการปญหาไดอยางทนทวงท ตลอดการท างานโปรแกรมสามารถบนทกประวตการท างานลงสฐานขอมล เพอเกบเปนขอม ลประกอบการวเคราะหเมอเกดขอผดพลาด และยงสามารถเรยกดขอมลประวตการณท างานยอนหลง เพ อปรบปรงประสทธภาพการท างานในอนาคตได
5.2 ปญหาและอปสรรค 1. ดานการพฒนามความลาชาในสวนการพฒนา เนองจากตองมการศกษาขอมลเพมเตมใน
บางสวน และดานเทคนคเฉพาะดานในการพฒนาในแตละสวน 2. ดานการใชงาน ในการใชงานบางครงพบวาหากเครอขายเกดขอผดพลาด ท าใหไมสามารถ
เชอมตอถงกนได จะท าให Application Client ไมสามารถตดตอ Application Server ท าใหเกดความลาชาในกรณทเกดเหตการณ ไดเชนกน
5.3 แนวทางการแกไขปญหา ในการตดตง Application Client ณ เครองปลายทางตางๆ ควรเลอกระบบเครองขายทมความ
พรอมใชงานอยเสมอหรอเลอกระบบทมการท า High Availability เพ อลดปญหาการไมสามารถเชอมตอไปยงอปกรณปลายทางได
5.4 แนวทางการพฒนาในอนาคต 1. พฒนาการตรวจสอบเซอรวสอนนอกเหนอจากการตรวจสอบสถานการณท างาน ณ ขณะนน
อาทเชน เซอรวส A มการท างานเฉพาะดาน ผพฒนาตองพฒนาเพอตอบสนองการท างานเฉพาะดานนนๆ
2. การรบสงขอมลทตองรกษาความลบ ควรมการเขารหสอยางเหมาะสม ควรเลอกใชเทคโนโลยทมความเหมาะตอการใชงานของโปรแกรม
3. ระบบมประวตการท างานของ Application สามารถพฒนาตอยอดรายงานทมความเฉพาะดาน เพอชวยสนบสนนการตดสนใจและเพมประสทธ ภาพการท างานของระบบอกดวย
4. รองรบแพลตฟอรมตางๆ เพองายตอการบรหารจดการและเฝาระวงระบบ
Page 66
57
เอกสารอางอง
[1] ศภชย สมพานช. (2556). การเขยนโปรแกรมอยางมออาชพดวย .NET FRAMEWORK. กรงเทพมหานคร:ไอดซ ฟรเมยร.
[2] สจจะ จรสรงรววร. (2552). เร มตน Visual C# 2008 ฉบบสมบรณ. กรงเทพมหานคร:ไอดซ อนโฟ ดสทรบวเตอร เซนเตอร.
[3] พงษพนธ ศรลย. (2556). SQL Server 2012 ฉบบสมบรณ. กรงเทพมหานคร:ซเอดยเคชน.
[4] จกกรช พฤษการ. (2549). การสอสารขอมลและเครอขายคอมพวเตอร. กรงเทพมหานคร:ส านกพมพทอป.
[5] สรณฐ มฮ าหมด. (2556).ระบบปองกนการใชงานแฟลชไดรฟ. [Online]. Available: http://www.msit.mut.ac.th/newweb/phpfile/Thesis/Thesis_2556
[6] ทศพร ดวงภมร. (2556). โปรแกรมตรวจสอบเซฟเวอร และลงคอนเทอรเนต. [Online]. Available: http://www.msit.mut.ac.th/newweb/phpfile/Thesis/Thesis_25546
Page 68
59
ภาคผนวก ก. การตดตงโปรแกรม
การใชงานโปรแกรมบรหารจดการและตรวจสอบการท างานระบบซอฟตแวรประยกตจ าเปนตองมการเตรยมสภาพแวดลอมและตดตงซอฟตแวร ทงในสวนของคอมพวเตอรไคลเอนต / เซรฟเวอร โดยตองตดตอง Package ตางๆ บนระบบปฏบตการ Window Server 2008 R2 โดยการเตรยมสภาพแวดลอมเราสามารถปฏบตตามขนตอน ไดดงน
Terminal
Internet
Admin
Database
Data
Window Server 2008 R2.NET Framework 3.5SQL Server 2008 R2
Web Server
Window Server 2008 R2.NET Framework 4.5
IIS Web Server
Application Client
Window Server 2008 R2.NET Framework 4.5
รปท ก.1 System Diagram แสดงการตดตง Application
Page 69
60
1. การเตรยมสภาพแวดลอม จาก Diagram สามารถจ าแนกออกไดเปน 3 สวน ประกอบไปดวย Database
Server, Application Server และ Application Client โดยระบบมความตองการทรพยากรขนต าดงตาราง
Host Component Value
Database Server Operation System Window Server 2008 R2 x64 Memory Minimum: 1 GB
Recommended: 4 GB Processor Speed Minimum: x64 Processor: 1.4 GHz
Recommended: 2.0 GHz or faster
Hard Drive Minimum: 40 GB
.NET Framework 3.5 Application Server Operation System Window Server 2008 R2 x64 Memory Minimum: 2 GB
Recommended: 4 GB Hard Drive Minimum: 40 GB
.NET Framework 4.5 IIS Web Service Version 7.5 Application Client Operation System Window Server 2008 R2 x64 Memory Minimum: 2 GB
Recommended: 4 GB Hard Drive Minimum: 40 GB
.NET Framework 4.5
ตารางท ก.1 ความตองการทรพยากรขนต า
Page 70
61
2. การตดตงตดตงซอฟตแวร การใชงานโปรแกรมโปรแกรมบรหารจดการและตรวจสอบการท างานระบบซอฟตแวร
จ าเ ปนตองตดตง Application ไปยง เครองแมขายและลกขาย โดยเราสามารถเตรยมสภาพแวดลอมทระบบตองการไดจากขนตอนท ก.1 การเตรยมสภาพแวดลอม. ส าหรบขนตอนการตดตงสามารถท าไดดงน
1. การตดตง Application Server ส าหรบขนตอนการ Deploy Application มข นตอนด าเนนการหลกอย 2 ขนตอน คอ การ Publish Web Site ทพฒนาขนและการตดตงยงเครองคอมพวเตอรแมขายส าหรบตว Website แบงออกเปน 2 สวน คอ Web API และ Web Portal มข นตอนดงน
1.1 Web API
i. Publish Web Site 1. คลกขวาแถบ solution เลอก Publish
Page 71
62
2. ปรากฏหนาตาง เลอก New Customer Profile กรอกชอ Profile Name
3. เลอก Destination เพ อเกบ Package พรอมทงตงชอ
Page 72
63
4. หนาตงคา Database Setting ในกรณนเราไดตงคาไวแลว เลอก Next
5. หนา Preview เลอก Publish
Page 73
64
6. Package ทถกสรางขนพรอมน าไปตดตง
ii. Import a Web Package into IIS 1. Copy Deployment Package ไปยงเครอง Application Server >
C:\inetpub\wwwroot
2. เปด IIS Manager เลอก Sites > Default Web Site จะพบ Package ท
เรา Copy มา
Page 74
65
3. คลกขวาท Package เลอก Convert to Application จะปรากฏหนาตาง เลอก Application Pool > Select > .NET 4.5 > OK
4. จะปรากฏ Web Site ทถกสรางขน
5. ทดสอบเรยกผาน Browser > http://localhost/SCOM.WebAPI
Page 75
66
1.2 Web Portal
i. Publish Web Site 1. คลกขวาแถบ solution เลอก Publish
2. ปรากฏหนาตาง เลอก New Customer Profile กรอกชอ Profile Name
Page 76
67
3. เลอก Destination เพ อเกบ Package พรอมทงตงชอ
4. หนาตงคา Database Setting ในกรณนเราไดตงคาไวแลว เลอก Next
Page 77
68
5. หนา Preview เลอก Publish
6. Package ทถกสรางขนพรอมน าไปตดตง
ii. Import a Web Package into IIS 1. Copy Deployment Package ไปยงเครอง Application Server >
C:\inetpub\wwwroot
Page 78
69
2. เปด IIS Manager เลอก Sites > Default Web Site จะพบ Package ท Copy มา
3. คลกขวาท Package เลอก Convert to Application จะปรากฏ
หนาตาง เลอก Application Pool > Select > .NET 4.5 > OK
4. จะปรากฏ Web Site ทถกสรางขน
Page 79
70
5. ทดสอบเรยกผาน Browser > http://localhost/SCOM.WebSAP
Page 80
71
2. การตดตง Application Client การตดตง Application Client สามารถตดตงไดจาก Installer ทท าการสรางขนลงบน
Host ไดเลย ดงขนดงรป
i. Publish Application 1. คลกขวาแถบ solution เลอก Publish
Page 81
72
2. เลอก Destination ทตองการเกบ Package
3. เลอก Install From CD
Page 82
73
4. การ Update ของ Application ในกรณนเราเลอกไมมการ Update.
5. เลอก Finish
Page 83
74
6. Package ทพรอมตดตง
ii. Installer 1. เลอกตดตงจาก Setup
2. เลอก Install
Page 84
75
3. เมอตดตงเสรจส น Application เร มท างานอตโนมต
Page 85
76
ภาคผนวก ข. คมอการใชงานโปรแกรม
การใชงานโปรแกรมบรหารจดการและตรวจสอบการท างานระบบซอฟตแวรประยกตจ าเปนตองมคมอเพ อเปนรายละเอยดวธการใชงานระบบทถกตองตามวตถประสงคในการพฒนาโปรแกรม
การใชงานระบบผใชจ าเปนตองมการตงคาการท างานเบองตนจากหนา Web Portal เพ อก าหนดลกษณะเฝาระวงตลอดจนการกคนระบบและการแจงเตอน
การใชงานสามารถแบงหมดหมการใชงานไดออกเปน 2 สวน
1. Web Portal Web Portal เปนสวนหลกในการปฏสมพนธกบผใชงาน โดยการท างานของ Web Portal
สามารถจ าแนกหมวดหม ไดแก Dashboard, Feature Management และ Account Management ดงรป
รปท ข.2 แสดงโครงสราง Web Portal
Page 86
77
1. Login – การเขาใชงานระบบจ าเปนตองยนยนตวตนกอนการใชงานระบบ
2. Dashboard
หนาแรกของการใชงาน แสดงการสรปการเกดเหตการณและประวตการใชงานระบบ
Page 87
78
3. Feature Management Feature Management เปนหนา Portal ส าหรบการสราง ก าหนดการท างาน ตลอดจนเรยกด
รายงานการท างานของระบบ - User Menu ผดแลระบบ User List – แสดงรายชอ ผดแลระบบ ทงหมด พรอมทงยงสามารถแกไขหรอจดการขอมลผ
Add user – สรางผใชงานระบบ ตลอดจนก าหนดสทธในการตงคาระบบ
Page 88
79
Edit User – แกไขผใชงานระบบและก าหนดสทธในการตงคาระบบ
Delete – ลบผใชงานระบบ โดยจะแสดงขอความยนยนการลบ
Page 89
80
- Profile Menu
Profile List – แสดงรายชอ Profile ทงหมด ซงเพ มหรอจดการไดจากหนาน
Add profile – สราง Profile โดยก าหนดการแจงเตอนในรปแบบตางๆ พรอมทงเลอกผใชงานระบบใหอยภายใต Profile น
Page 90
81
Edit profile – แกไขหรอเพม-ลด ผใชงาน เพอก าหนดสทธในการไดรบการแจงเตอน
Delete Profile – ลบ Profile โดยแสดงขอความยนยนการลบ
Page 91
82
- Client คอ เครองลกขายทท าการตดตง Application Client เพ อท าการ Monitoring
Client List – แสดงรายชอเครองลกขายทงหมดทมอยในระบบ โดยสามารถจดการไดจากสวนน
Add Client – เพ มเครองคอมพวเตอรลกขายเขาสระบบ
Page 92
83
Edit Client – แกไขชอและหมายเลข IP Address
Delete client ลบเครองคอมพวเตอรลกขาย โดยแสดง ขอความยนยนการลบ
Page 93
84
- Monitor Policy คอ การก าหนดการเผาระวง ตลอดจนการกคนระบบ
Policy List แสดง Policy ทงหมดทถกสรางขนตลอดจนสามารถจดการหรอแกไขไดจากหนาน
Add Policy การสราง Policy โดยการสรางจ าเปนตองก าหนด ชอเคร องลกขายทเราตองการเฝาระวง แผนการกคนระบบ และชนดของการเคาระวง พรอมทงเลอกกลม Profile ทตองการ Notification เมอพบการผดพลาด โดยอาจจะตองมการก าหนดคา Parameter เฉพาะดงตาราง
Page 94
85
Monitor Type Parameter Value1 Remark Monitor Process *Notepad *ชอ Process Monitor Service *service1 **Running *ชอ Service
*สถานะปกต Monitor Message Queue
*msmq **20 *ชอ Message Queue **จ านวนท Limit ตอการแจงเตอน
Monitor Network *127.0.0.1 **100 *เครองปลายทาง **เวลาทไมเกน Response Time
Monitor File *E:\\ **Datalog_yyyy-MM-dd
*File Location **Format File
ตารางท ข.2 การตงคา Policy Parameter
Edit Policy แกไขปรบเปลยนการตงคา ตลอดจนปรบเปลยนลกษณะการท างานของ Policy โดยสามารถอางองการตงคา Parameter จากตารางดานบน
Page 95
86
Delete Policy ลบ Policy โดยจะแสดงขอความยนยนการลบ
- Report
User Activity Report ผใชงานสามารเรยกดรายงานพฤตกรรมผใช โดยก าหนดชวงเวลาทตองการดงภาพ
Page 96
87
Notification Report ผใชงานสามารเรยกดรายงานสรปการแจงเตอน โดยก าหนดชวงเวลาทตองการ หรอซอผรบขอความ ดงภาพ
Event Report ผใชงานสามารเรยกดรายงานเหตการณทเกดขน โดยก าหนดชวงเวลา ชอเครองทตองการดงภาพ
Page 97
88
4. Account Management
Chang Password แกไขรหสผานผใชงานไดจากสวนน
Logout ระบบท าการ Clear Session และ Redirect มายงหนา Login
Page 98
89
2. Application Client เปนสวนของการท างานในเครองเปาหมายทเฝาระวงการท างาน การท างานจะท างานรวมกบ
Web Portal โดยท าหนาทรบค าส งและแจงผลลพธการท างานกลบไปยง Web Portal ส าหรบการใชงานผใช สารมารถท าไดเพยงเปดหรอปดการท างานเทานน