al ntt communications (thailand) co., ltd

65
การออกแบบการให้บริการวิเคราะห์บันทึกข้อมูลบนคอมพิวเตอร์เสมือน บริษัท เอ็นทีที คอมมิวนิเคชั่น (ประเทศไทย) จากัด Log Analysis Design on Virtual Machines NTT COMMUNICATIONS (THAILAND) CO., LTD. นางสาวจุฑาทิพย์ วรพงศ์อาภรณ์ โครงงานสหกิจนี้เป็นส่วนหนึ่งของการศึกษาตามหลักสูตร ปริญญาวิทยาศาสตร์บัณฑิต สาขาวิชาเทคโนโลยีสารสนเทศ คณะเทคโนโลยีสารสนเทศ สถาบันเทคโนโลยีไทย – ญี่ปุ ่น พ.ศ. 2560

Upload: others

Post on 18-Dec-2021

7 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: al NTT COMMUNICATIONS (THAILAND) CO., LTD

การออกแบบการใหบรการวเคราะหบนทกขอมลบนคอมพวเตอรเสมอน

บรษท เอนทท คอมมวนเคชน (ประเทศไทย) จ ากด

Log Analysis Design on Virtual Machines

NTT COMMUNICATIONS (THAILAND) CO., LTD.

นางสาวจฑาทพย วรพงศอาภรณ

โครงงานสหกจนเปนสวนหนงของการศกษาตามหลกสตร

ปรญญาวทยาศาสตรบณฑต สาขาวชาเทคโนโลยสารสนเทศ

คณะเทคโนโลยสารสนเทศ

สถาบนเทคโนโลยไทย – ญป น

พ.ศ. 2560

Page 2: al NTT COMMUNICATIONS (THAILAND) CO., LTD

การออกแบบการใหบรการวเคราะหบนทกขอมลบนคอมพวเตอรเสมอน บรษท เอนทท คอมมวนเคชน (ประเทศไทย) จ ากด

LOG ANALYSIS DESIGN ON VIRTUAL MACHINES NTT COMMUNICATIONS (THAILAND) CO., LTD.

นางสาวจฑาทพย วรพงศอาภรณ

โครงงานสหกจศกษานเปนสวนหนงของการศกษาตามหลกสตร

ปรญญาวทยาศาสตรบณฑต สาขาเทคโนโลยสารสนเทศ คณะเทคโนโลยสารสนเทศ สถาบนเทคโนโลยไทย-ญปน

พ.ศ. 2560

คณะกรรมการสอบ ........................................................................ ประธานกรรมการสอบ

(อาจารย ดร. สะพรงสทธ มฤทสาธร)

........................................................................ กรรมการสอบ (อาจารยชาญ จารวงศรงส)

......................................................................... อาจารยทปรกษา

(อาจารย ดร. ปราณสา อศรเสนา) ......................................................................... ประธานสหกจศกษาสาขาวชา

(อาจารยอมรพนธ ชมกลน)

ลขสทธของสถาบนเทคโนโลยไทย-ญป น

Page 3: al NTT COMMUNICATIONS (THAILAND) CO., LTD

ชอโครงงาน การออกแบบการใหบรการวเคราะหบนทกขอมลบนคอมพวเตอร

เสมอน

ผเขยน นางสาวจฑาทพย วรพงศอาภรณ

คณะวชา เทคโนโลยสารสนเทศ สาขาเทคโนโลยสารสนเทศ

อาจารยทปรกษา อาจารย ดร. ปราณสา อศรเสนา

พนกงานทปรกษา นายธนวฒน ววฒนพานช

พนกงานทปรกษา นางสาว นฐวรรณ โลกาวทย

ชอบรษท เอนทท คอมมวนเคชนส (ประเทศไทย) จ ากด

ประเภทธรกจ/สนคา ใหบรการและโซลชนแกลกคาระดบองคกรในระดบโลกดานการ

ใหบรการระบบคลาว เครอขายและขอมล ใชโครงสรางพนฐานทม

ความปลอดภยและเทคโนโลยชนน าในอตสาหกรรม

บทสรป

ในปจจบนนนประเทศไทย ไดมการบงคบใชพระราชบญญตวาดวยการกระท าความผด

เกยวกบคอมพวเตอร พ.ศ.2550 มผลบงคบใชตงแตวนท 18 ก.ค. 50 การก าหนดระเบยบวธปฏบต

ของผเกยวของกบ กม.ฉบบน ตองใชควบคไปกบ ประกาศและหรอกฎกระทรวงไอซท โดย กม.

ก าหนดใหกระทรวงไอซท ออกประกาศใน เรองหลกเกณฑการเกบรกษาขอมลจราจรทาง

คอมพวเตอรของผใหบรการมหนาทตองเกบขอมลจราจรคอมพวเตอร (Log File) ใหถกตองและ

เชอถอได และตองเกบไวไมนอยกวา 90 วน

การเกบขอมลจราจรคอมพวเตอรนสามารถน ามาวเคราะหและผลจากการวเคราะหขอมล

มาท าการหาความเชอมโยงของขอมลเพอหาสาเหตของปญหา และ /หรอ ขอบงชของปญหาท

เกดขนได ผบรหารสามารถน าขอมลทไดเพอตรวจสอบพฤตกรรมการท างานของผใตบงคบบญชา

ได

ดงนนจงเกดแนวคดการรวมศนยของขอมล Log ขน เพอความงายในการบรหาร Log และสามารถ

จดการผานเครองมอทครบครน ณ จดเดยวเปนบรการอยางหนงใหกบลกคาทใชบรการอนกบทาง

บรษท

Page 4: al NTT COMMUNICATIONS (THAILAND) CO., LTD

จากการด าเนนโครงงาน ท าใหได Diagram ทมคณสมบตเหมาะสมในการใหบรการจรง

คอ มขนาดหนวยความจะและหนวยการประมวลผลสมพนธกบความจ าเปน เพอใหเหมาะสมกบ

คาใชจายและงบประมาณ และมความมนคงของระบบ สามารถน าไปใชในระบบวเคราะห Log ผล

คอการใชงานสามารถใชงานไดตามทควรจะเปน สามารถใชงานโปรแกรม Kibana ใน Function

พนฐานทจ าเปนได

Page 5: al NTT COMMUNICATIONS (THAILAND) CO., LTD

Project’s name Log Analysis Design on Virtual Machines

Writer Miss Jutatip Voraphongarporn

Faculty Faculty of Information Technology,

Information Technology Program

Faculty Advisor Dr. Pranisa Isornsena

Job Supervisor Mr. Thanawat Wiwatpanit

Miss Nuttawan Lowkawit

Company’s name NTT Communications (THAILAND) Co., Ltd.

Business Type / Product Provides IT solutions and organizations network infrastructures.

Summary

Computer-related Crime Act B.E 2550 (2007) is enforced at July 18, 2007 in content of

“Section 26 A service provider shall keep traffic data for not less than ninety days from the day

when such data has been entered into a computer system. If necessary, the competent official

shall, as a particular case and time, instruct any service provider to keep traffic data for over

ninety days but not exceeding one year. A service provider shall keep user’s data as necessary for

the purpose of identifying the user from the first day of such a service and store such user data for

not less than ninety days from its expiry date. The Minister shall prescribe the type of service

providers, how and when the provisions in paragraph one shall apply by promulgation in the

Government Gazette, any service provider, who fails to comply with this Section, shall be liable

to a fine not exceeding five hundred thousand Baht.” For backup the logs data.

Kept logs file able to be analyzed than the result can be related to cause of a problem and

to prevent and predict future problems. The Directors get benefits from the result and can observe

employees' behavior. So, there is a concept of Center of Log files to be provided and to help

managing logs by tools as one stop services for current customers as a top-up service.

Page 6: al NTT COMMUNICATIONS (THAILAND) CO., LTD

The result of this project is the best practice of diagram that can provided a powerful

searching process and storage compatible with cost and budget, specially come with high

availability and be able to use with functions in Kibana.

Page 7: al NTT COMMUNICATIONS (THAILAND) CO., LTD

กตตกรรมประกาศ

ขอขอบคณบรษท เอนทท คอมมนเคชน (ประเทศไทย) จ ากด ทมอบโอกาสใหขาพเจามา

เปนสวนหนงในการปฏบตงาน ท าใหขาพเจาไดรบประสบการณในการท างานจรง อกทงไดเรยนร

สงตาง ๆ มากมาย ทงในทางทฤษฎและปฏบต ฝกใหเรยนรดวยตนเอง ชวยชแนะวธการท างาน ท า

ใหขาพเจาสามารถปฏบตตนไดอยางเหมาะสมในบรษท ตลอดจนใหความอนเคราะหอนญาตให

นกศกษาสหกจไดเขารวมกจกรรมตาง ๆ เชน การเขารวมพดคยกบคคา และเขารวมการเวรคอปท

เกยวของกบผลตภณฑในบรษท รวมไปถงการไดลองใชเครองมอตางๆ ซงประสบการณเหลานไม

สามารถหาไดภายในหองเรยน

ขอขอบคณพพนกงานทกคนทงในแผนกโปรดกสแอนดเซอรวช รวมถงพพนกงานแผนก

เอนจเนยรทคอยใหความชวยเหลอ คอยใหค าปรกษาและดแลอยางดตลอดระยะเวลา 8 สปดาหท

ผานมา ขาพเจารสกผกพนและรสกปลาบปลมเปนทสดทไดเปนสวนหนงในการปฏบตงานทน

รวมถงอาจารยทปรกษา อาจารย ดร. ปราณสา อศรเสนา และพนกงานทปรกษา นายธนวฒน ววฒน

พานช และ นางสาวนฐวรรณ โลกาวทย ทคอยใหค าปรกษาเกยวกบโครงงานมาโดยตลอดท าใหการ

ฝกงานของขาพเจาส าเรจลลวงไปไดดวยด และสดทายนขาพเจาขอขอบคณคณะเทคโนโลย

สารสนเทศ และสถาบนเทคโนโลยไทย-ญปนทไดใหโอกาสส าหรบการสหกจในครงน จงขอกราบ

ขอบพระคณมา ณ ทน

จฑาทพย วรพงศอาภรณ

ผจดท าโครงงาน

Page 8: al NTT COMMUNICATIONS (THAILAND) CO., LTD

สารบญ

หนา

บทสรป ก

Summary ค

กตตกรรมประกาศ จ

สารบญ ฉ

สารบญตาราง ฌ

สารบญภาพประกอบ ญ

บทท

1. บทน า 1

1.1 ชอและทตงของสถานประกอบการ 1

1.2 ลกษณะธรกจของสถานประกอบการ หรอการใหบรการหลกขององคกร 1

1.3 รปแบบการบรหารและจดการองคกร 2

1.4 ต าแหนงและหนาทงานทนกศกษาไดรบมอบหมาย 3

1.5 พนกงานทปรกษาและต าแหนงของพนกงานทปรกษา 3

1.6 ระยะเวลาทปฏบตงาน 3

1.7 ทมาและความส าคญของปญหา 3

1.8 วตถประสงคหรอจดมงหมายของโครงงาน 5

1.9 ผลทคาดวาจะไดรบจากการปฏบตงาน หรอโครงงานทไดรบมอบหมาย 5

Page 9: al NTT COMMUNICATIONS (THAILAND) CO., LTD

สารบญ (ตอ)

บทท หนา

2. ทฤษฎและเทคโนโลยทใชในการปฏบตงาน 6

2.1 ทฤษฎทใชในการปฏบตงาน 6 2.1.1 Big Data Technology 6 2.1.2 High Availability 9

2.1.3 Java Virtual Machine 11

2.1.4 NoSQL 15

2.1.5 REST (Representational State Transfer) 19

2.2 เทคโนโลยทใชในการปฏบตงาน 23

2.2.1 โปรแกรม ElasticSearch 23

2.2.2 โปรแกรม Logstash 26

2.2.3 โปรแกรม Kibana 28

2.2.4 Virtual Machines 30

3. แผนงานการปฏบตงานและขนตอนการด าเนนงาน 32

3.1 แผนการปฏบตงาน 32

3.2 รายละเอยดโครงงาน 32

3.2.1 ระบบมขนาดหนวยความจ าและหนวยประมวลผลสมพนธตอความจ าเปน 32

3.2.2 ระบบตองการความมนคง 33

3.3 ขนตอนการด าเนนงานโครงงาน 34

3.3.1 ขนตอนการท าโครงงาน 34

Page 10: al NTT COMMUNICATIONS (THAILAND) CO., LTD

สารบญ (ตอ)

บทท หนา

4. ผลการด าเนนงาน การวเคราะหและสรปผลตาง ๆ 43

4.1 ผลของการท าโครงงาน 43

4.1.1 หนา Visualization 44

4.1.2 หนา Discover 44

4.1.3 หนา Dev Tools 45

4.2 ผลการวเคราะหขอมล 45

4.2.1 วเคราะหผลของการท าโครงงาน 45

5. บทสรปและขอเสนอแนะ 46

5.1 สรปผลการด าเนนโครงงาน 46

5.2 แนวทางการแกไขปญหา 46

5.3 ขอเสนอแนะจากการด าเนนงาน 47

เอกสารอางอง 48

ภาคผนวก 49

ก. รายงานภาคปฏบตงานประจ าสปดาห 50

ประวตผจดท าโครงงาน 59

Page 11: al NTT COMMUNICATIONS (THAILAND) CO., LTD

สารบญตาราง

ตารางท หนา

2.1 แสดงระดบประสทธภาพการใหบรการดวย High Availability 9

2.2 แสดงการเปรยบเทยบชอเรยกระหวาง ElasticSearch และ RDBMS 26

3.1 แสดงสงทไดปฏบตโครงงานในระหวางการสหกจศกษา 32

Page 12: al NTT COMMUNICATIONS (THAILAND) CO., LTD

สารบญภาพประกอบ

ภาพท หนา

1.1 สญลกษณของบรษท 1

1.2 แผนทแสดงต าแหนงของบรษท 1

1.3 แผนผงรปแบบการบรหารและจดการองคกร 2

2.1 Big Data Technology 6

2.2 Big Data Analytics 8

2.3 ตวอยางการท า High Availability ในระดบองคกร 10

2.4 แสดงขนตอนการสราง Java Virtual Machine (JVM) 12

2.5 แสดงถง Java Memory Model 13

2.6 Not Only SQL 15

2.7 แสดงลกษณะของ Auto-Sharding 16

2.8 Representational State Transfer (REST) 19

2.9 แสดงลกษณะของ HTTP Request 21

2.10 แสดงลกษณะของ HTTP Response 22

2.11 โลโกของ ElasticSearch 23

2.12 แสดงสวนการแสดงขอมลของโปรแกรม Logstash 26

2.13 แสดงตวอยางไฟล Config ของ Logstash อยางงาย 27

2.14 โลโกของ Kibana 28

2.15 File .yml ของโปรแกรม Kibana 28

2.16 ระบ IP ของ Elasticsearch 29

2.17 File .bat ของโปรแกรม Kibana 29

Page 13: al NTT COMMUNICATIONS (THAILAND) CO., LTD

สารบญภาพประกอบ (ตอ)

ภาพท หนา

2.18 เรมตนใชงานโปรแกรม Kibana 29 2.19 Physical Server ทเพมขน 31

2.20 Physical Server กบ High Availability 31

2.21 การขยายของServer Virtualization 31

3.1 Diagram ทใช VM 3 Node 35

3.2 Diagram ทใช VM 2 Node 35

3.3 Diagram ทใช VM 1 Node 36

3.4 File .yml ของโปรแกรม ElasticSearch 37

3.5 File .conf ของโปรแกรม Logstash 38

3.6 File .yml ของโปรแกรม Kibana 38

3.7 การตดตงโปรแกรม ElasticSearch 39

3.8 File .bat ทใชในการตดตงโปรแกรม Logstash 39

3.9 File .bat ทใชในการตดตงโปรแกรม Kibana 39

3.10 หนาตงคา index โปรแกรม Kibana 40

3.11 หนา Discover 41

3.12 หนา Visualization 41

3.13 หนา Dashboard 42

4.1 ภาพแสดงหนาตาของหนา Loading Screen 43

Page 14: al NTT COMMUNICATIONS (THAILAND) CO., LTD

สารบญภาพประกอบ (ตอ)

ภาพท หนา

4.2 ภาพแสดงหนาตาของหนา Dashboard 43

4.3 ภาพแสดงหนาตาของหนา Visualization 44

4.4 ภาพแสดงผลการคนหาในหนา Discover 44

4.5 ภาพแสดงหนาตาของหนา Dev Tools 45

Page 15: al NTT COMMUNICATIONS (THAILAND) CO., LTD

บทท 1

บทน า

1.1 ชอและทตงของสถานประกอบการ

ภาพท 1.1 สญลกษณของบรษท

ทมา : http://www.th.ntt.com/content/dam/nttcom/cmn/img/lgo-ntt.png

ชอ บรษท เอนทท คอมมวนเคชนส (ประเทศไทย) จ ากด

NTT communications (Thailand) Co. Ltd

ทตง 946 อาคารดสตธาน ช น 6 ถนน พระราม 4 แขวง สลม เขต บางรก

กรงเทพมหานคร 10500

ภาพท 1.2 แผนทแสดงต าแหนงของบรษท

ทมา : https://goo.gl/8hA2kS

Page 16: al NTT COMMUNICATIONS (THAILAND) CO., LTD

2

1.2 ลกษณะธรกจของสถานประกอบการ หรอการใหบรการหลกขององคกร บรษทระหวางประเทศทใหบรการและโซลชนแกลกคาระดบองคกรในระดบโลกและเปน

ผน าดานการใหบรการระบบคลาว เครอขายและขอมล ใชโครงสรางพนฐานทมความปลอดภยและ

เทคโนโลยชนน าในอตสาหกรรมในการบรการ

1.3 รปแบบการบรหารและจดการองคกร

ภาพท 1.3 แผนผงรปแบบการบรหารและจดการองคกร

คอ แผนกทนกศกษาประจ าอย

Legal Affairs and Internal Auditing

General Affairs

Human Resources

Finance

Service Infrastructure

Board of Director

s

President

Audit & Supe

rvisory Board

Members

Audit & Supe

rvisory Board

Office of Audit & Supe

rvisory Board Members

Managed Services Solution Services

Applications and Contents

Network Services Cloud Services

Voice and Video

Global Business ICT Consulting Division

West Japan Sales Division

Fifth Sales Division

Fourth Sales Division Third Sales Division

Second Sales Division

First Sales Division

Corporate Planning Systems

Procurements

Page 17: al NTT COMMUNICATIONS (THAILAND) CO., LTD

3

1.4 ต าแหนงและหนาทงานทนกศกษาไดรบมอบหมาย ต าแหนง นกศกษาฝกงาน

หนาท วเคราะหผลตภณฑ

1.5 พนกงานทปรกษาและต าแหนงของพนกงานทปรกษา ชอ นายธนวฒน ววฒนพานช

ต าแหนง ผจดการอาวโส

ชอ นางสาวนฐวรรณ โลกาวทย

ต าแหนง ผชวยผจดการ

1.6 ระยะเวลาทปฏบตงาน 22 พฤษภาคม 2560 – 14 กรกฎาคม 2560

1.7 ทมาและความส าคญของปญหา ในปจจบนนนประเทศไทย ไดมการบงคบใชพระราชบญญตวาดวยการกระท าความผด

เกยวกบคอมพวเตอร พ.ศ.2550 มผลบงคบใชตงแตวนท 18 ก.ค. 2550 การก าหนดระเบยบวธปฏบต

ของผเกยวของกบ กม.ฉบบน ตองใชควบคไปกบ ประกาศและหรอกฎกระทรวงไอซท โดย กม.

ก าหนดใหกระทรวงไอซท ออกประกาศใน เรองหลกเกณฑการเกบรกษาขอมลจราจรทาง

คอมพวเตอรของผใหบรการมหนาทตองเกบขอมลจราจรคอมพวเตอร (Log File) ใหถกตองและ

เชอถอได และตองเกบไวไมนอยกวา 90 วน หากไมปฏบตตามมความผดตาม กม.ระวางโทษปรบ

ไมเกน 500,000 บาท นอกจากน หากไมสามารถน าสงขอมลจราจรคอมพวเตอรตามค าสงของศาล

หรอพนกงานเจาหนาท มโทษปรบไมเกน 200,000 บาท และปรบอกวนละไมเกน 5,000 บาท

จนกวาจะปฏบตใหถกตอง

ประโยชนในการจดเกบขอมลทางคอมพวเตอร

1) ชวยใหมหลกฐานและสามารถจบตวผกระท าความผดทางคอมพวเตอรไดอยางถกตอง

2) ชวยในการวเคราะหและจดการระบบรกษาความปลอดภยของขอมล

Page 18: al NTT COMMUNICATIONS (THAILAND) CO., LTD

4

ขอมลจราจรทางคอมพวเตอรทตองจดเกบมดงน

1) ขอมลทระบตวบคคลทใชงาน เชน ชอ-นามสกล หมายเลขบตรประชาชน User-ID

2) ขอมลระบวนเวลาทใชงาน

3) ขอมล IP Address

4) อนๆ (ดเพมเตมตามประกาศกระทรวงเทคโนโลยสารสนเทศและการสอสาร)

แตการจะน าขอมลการจราจรคอมพวเตอรมาตรวจสอบหาขอมลทตองการนนท าได

คอนขางยาก เพราะรปแบบการบนทกขอมลการจราจรคอมพวเตอรของโปรแกรมหรอโอเปอเรตง

ซสเตมนนคอนขางหลากหลายและแตกตางกน แมกระทงเจาพนกงานทท าหนาทคนหาขอมลเมอ

เกดเหตการณจนตองน าขอมลการจราจรคอมพวเตอรมาตรวจสอบนนตองใชเวลาพอสมควร เมอม

การเกบขอมลการจราจรคอมพวเตอรแลว ในสวนของขอมลการจราจรนนไมไดมประโยชนเพยง

น ามาใหเจาพนกงานคนหาเมอถกเรยกตรวจสอบ ผทเปนผใหบรการน น สามารถน าขอมล

การจราจรคอมพวเตอรมาใชใหเกดประโยชนในดานการใหบรการและความปลอดภยดวยตนเอง

ได ในขณะเดยวกนนน บรษทตางๆหากน าขอมลการจราจรคอมพวเตอร ดงนนการน าขอมล

การจราจรคอมพวเตอรมาท าการวเคราะหสงเคราะหจงเปนเรองทมประโยชนในหลายๆดาน เชน

ชวยใหงายตอการคนหาการใชงานทผดปกต ซงอาจน าไปสการเกดปญหา ใชเพอน าขอมลดบมา

เ ป ร ย บ เ ท ย บ กน เ ช น เ ป ร ย บ เ ท ย บ เ พ อ ช ว ง เ ว ล า ท ม ก า ร ใ ช ง า น ร ะ บบม า ก /น อ ย

คนหาขอมลเกาเพอน ามาเปรยบเทยบ, ออกรายงานจากขอมลทถกประมวลผลแลวน าผลจากการ

วเคราะหขอมลมาท าการหาความเชอมโยงของขอมลเพอหาสาเหตของปญหา และ /หรอ ขอบงช

ของปญหาทเกดขนได ผบรหารสามารถน าขอมลทไดเพอตรวจสอบพฤตกรรมการท างานของ

ผใตบงคบบญชาได

ดงนนจงเกดแนวคดการรวมศนยของขอมล Log ขน เพอความงายในการบรหาร Log และ

สามารถจดการผานเครองมอทครบครน ณ จดเดยวเปนบรการอยางหนงใหกบลกคาทใชบรการอน

กบทางบรษท

1.8 วตถประสงคหรอจดมงหมายของโครงงาน เพอพฒนา Diagram เพอน ามาใชในการวเคราะห Log ดวยโปรแกรม ElasticSearch และ

Kibana บนระบบคอมพวเตอรเสมอน (VM) เพอหารปแบบทมประสทธภาพ และน ามาใชรวมกบ

ระบบโครงสรางระบบทมภายในบรษท

Page 19: al NTT COMMUNICATIONS (THAILAND) CO., LTD

5

ก าหนดคณสมบตดงตอไปน

1) ม Availability

2) สามารถประมวลผลขอมลทไดรบมาได

3) รองรบการประมวลผลกบขอมลทมขนาดใหญ

1.9 ผลทคาดวาจะไดรบจากการปฏบตงาน หรอโครงงานทไดรบมอบหมาย สามารถน า Diagram ทออกแบบแลวใชไดอยางมประสทธภาพไปใชงานจรงภายในบรษท

และน าไปใชเปนผลตภณฑตอไป

Page 20: al NTT COMMUNICATIONS (THAILAND) CO., LTD

บทท 2

ทฤษฎและเทคโนโลยทใชในการปฏบตงาน

2.1 ทฤษฎทใชในการปฏบตงาน

2.1.1 Big Data Technology

ภาพท 2.1 Big Data Technology

ทมา : https://goo.gl/3A3WPF

Big Data นน ถาจะแปลจากความหมายตรงตวจากชอ กหมายถง “อภมหาขอมล หรอ

ขอมลทมากมายมหาศาล” ซงขอมลเหลานเกดจากการพฒนาเทคโนโลย และระบบตางๆ ท าใหแต

ละองคกรมการเกบรวบรวมขอมลตางๆ ไวอยางมากมายมหาศาล และเปนรปแบบทไมมโครงสราง

(Unstructured) ทงรปแบบขอความตาง ๆ ยงเปลยนไปจากเดม จากรปแบบขอความ (Text) เปน

Page 21: al NTT COMMUNICATIONS (THAILAND) CO., LTD

7

รปแบบไฟล Media มากขน จากผลส ารวจพบวา มขอมลทเกดขนใหมในแตละวนประมาณ 2.5

ลานลานลานไบต ของขอมลทงหมด

ขอมลจ าพวกทไมมรปแบบตายตวมกจะมปญหาในการเกบใน data warehouse เพราะท างานดวย

relational database ซงตองก าหนดโครงสรางของขอมลกอน มากไปกวานน data warehouse อาจจะ

ไมสามารถประมวลผลชดขอมลขนาดใหญทตองท าการ update ตลอดเวลานได ในกรณขอมลท

เปน real-time เชน ขอมลตลาดหน หรอ ขอมลผเขาใชบรการบนหนา website

ตวอยางขอมล Big Data เชน ขอมลเครอขายสงคม (Social Networks), ขอมลการบรการ

ทางเวบ (Web Server Log), ขอมลจากอปกรณตรวจตราการจราจร (Traffic Flow Sensors), ขอมล

ภาพถายดาวเทยม (Satellite Imagery), ขอมลดานการกระจายเสยง (Broadcast Audio Streams),

ขอมลธรกรรมทางธนาคาร(Banking Transaction), ขอมลดานการตลาดการเงน (Financial Market

Data), ขอมลการสอสารจากโทรศพทเคลอนท (Telemetry from Automobiles) เปนตน

ดงนนการจดการ Big Data จงจ าเปนตองใชระบบการเกบขอมลหรอการประมวลใน

รปแบบอนๆทอาจไมใช เพยงแคฐานขอมล RDBMS แบบเดมๆ

ในขณะท Big data เองเกยวของกบการรวบรวมขอมลขนาดใหญเขาดวยกน เพอใชในการ

วเคราะหขอมล จงไดเกด concept ของ Big data ขนโดยใชหลกการ 4 V คอ

1) Volume จดการเกบรวบรวมขอมลจากหลากหลายท รวมถง ขอมล transaction ของธร

กจทเกดขนทงหมด และ ขอมลใน social media ตาง ๆ ซงในอดตเองการเกบขอมลพวกนยอมเปน

ปญหาใหญ แตดวย technology ปจจบนทชอ Hadoop ไดลบขอจ ากดนนทงไป

2) Velocity ดวยชดขอมลทสงกนดวยความเรวสง และดวยขอจ ากดดานเวลา ทตอง

รองรบการใชงานของ user ทตองการในลกษณะ near-real time

3) Variety ความหลากหลายของขอมลหลายรปแบบ ดงเชน ตวอกษร, ตวเลข, email,

video, audio, ขอมล ticker ของตลาดหน และ ขอมลดานการเงน

4) Value ขอมลทเขามาตองมการตรวจสอบดวยวธการบางอยางเพอดงเอาขอมลทม

ประโยชน เพอใหพนททใชเกบขอมลสามารถใชไดอยางคมคา เชนการเกบขอมลสถตทงหมด กบ

การสมเอาตวอยางขอมลเกบไวเทานน

Page 22: al NTT COMMUNICATIONS (THAILAND) CO., LTD

8

2.1.1.1 Big Data Analytics

ภาพท 2.2 Big Data Analytics

ทมา : https://goo.gl/peb8RD

Big Data Analytics คอ กระบวนการวเคราะหเซตขอมลขนาดใหญเพอคนหารปแบบ

ความสมพนธของขอมลเหลานนทซอนอยขางใน หาสงเชอมโยงทเชอมขอมลเหลานนเขาไว

ดวยกน หาเทรนดทางการตลาด หาความตองการของลกคา และขอมลอน ๆ ทเปนประโยชนตอ

ธรกจ ผลการวเคราะหขอมลนสามารถน าไปสการท าแผนการตลาดทมประสทธภาพ โอกาสในการ

สรางผลก าไร การใหบรการทดมากขนแกลกคา การปรบปรงการท างานใหเกดประสทธภาพ ความ

ไดเปรยบเหนอคแขงในการแขงขนทางการตลาด และผลประโยชนทางธรกจดานอน ๆ

เปาหมายหลกของ Big data analytics หรอ การวเคราะหบกดาตา คอ ชวยในการใหขอมล

กบบรษทเพอใชในการตดสนใจทางธรกจโดยการใช นกวทยาศาสตรขอมล (data scientists)

นกวเคราะหขอมลเชงสถต (predictive modelers) และผเชยวชาญในการวเคราะหขอมลดานอนๆ

มาท าการวเคราะหขอมลขนาดใหญทมการสงผานภายในองคกรหรอบรษท รวมไปถงขอมลทอยใน

รปแบบอนๆ ทอาจซกซอนอยในระบบตางๆของบรษท ซงแหลงขอมลทจะถกน ามาวเคราะหน

หมายรวมถง เวบเซรฟเวอรLogและการคลกดขอมลบนอนเตอรเนต คอนเทนทบนโซเชยลมเดย

และรายงานกจกรรมตางๆบนเครอขายสงคมออนไลน ขอความจากอเมลของลกคาและการตอบ

Page 23: al NTT COMMUNICATIONS (THAILAND) CO., LTD

9

แบบสอบถาม เสยงบนทกรายละเอยดทางโทรศพทของลกคา และขอมลทมการบนทกไดจาก

เซนเซอรบนอปกรณทเชอมตอแบบ Internet of Things

Big Data สามารถวเคราะหไดดวยเครองมอทมการใชงานกนอยางแพรหลาย เชน Hadoop

YARN MapReduce Hive หรอ NoSQL เปนตน โดยจะถอวาเปนสวนหนงของการวเคราะหเชงลก

เชน การวเคราะหเพอคากการณลวงหนา การท าเหมองขอมล (Data mining) การวเคราะหขอความ

และการวเคราะหทางสถต นอกจากนเครองมอประเภท Mainstream BI software และเครองมอแบบ

data visualization กถอวาเปนเครองมอทท าหนาทอยในกระบวนการการวเคราะหขอมลเชนกน

2.1.2 High Availability

High Availability มชอยอในวงการสน ๆ วา HA องคกรหรอหนวยงานมากมายในปจจบน

มการวดประสทธภาพการใหบรการดวย HA โดยจะมหนวยการวดทเรยกวา Uptime ซงคดจากเวลา

เปน % ของการใหบรการ โดยมชอเรยกระดบการใหบรการตามตารางท 2.1 ดงน

ตารางท 2.1 แสดงระดบประสทธภาพการใหบรการดวย High Availability

Availability % Downtime per year Downtime per month* Downtime per week

90% (“one nine”) 36.5 days 72 hours 16.8 hours 95% 18.25 days 36 hours 8.4 hours 97% 10.96 days 21.6 hours 5.04 hours 98% 7.30 days 14.4 hours 3.36 hours

99% (“two nines”) 3.65 days 7.20 hours 1.68 hours 99.5% 1.83 days 3.60 hours 50.4 minutes 99.8% 17.52 hours 86.23 minutes 20.16 minutes

99.9% (“three nines”) 8.76 hours 43.8 minutes 10.1 minutes 99.95% 4.38 hours 21.56 minutes 5.04 minutes

99.99% (“four nines”) 52.56 minutes 4.32 minutes 1.01 minutes 99.999% (“five nines”) 5.26 minutes 25.9 seconds 6.05 seconds 99.9999% (“six nines”) 31.5 seconds 2.59 seconds 0.605 seconds

99.99999% (“seven nines”) 3.15 seconds 0.259 seconds 0.0605 seconds

Page 24: al NTT COMMUNICATIONS (THAILAND) CO., LTD

10

ระดบทหลายหนวยงานหรอหลายอปกรณพยายามจะโฆษณา จะอยทระดบ Five nines

หรอ Uptime 99.999% นนเอง ซงจะเหนไดวาจะม Downtime แค 5.26 นาท ตอปเทานน ซงมองใน

ดานอปกรณเครอขาย จะมปจจยนอยทจะท าใหเกด Downtime แตในสวนของ Server นนจะมปจจย

มากกวาเพราะประกอบดวยอปกรณมากชน แตปญหาดงกลาวในปจจบนนอยลง หลงจากเขาสยค

ของ Cluster หรอ Cloud เพราะจะมเครองคอยท างานแทนกนอยตลอดเวลา

ภาพท 2.3 ตวอยางการท า High Availability ในระดบองคกร

ทมา : https://goo/gl/uoF6rU

โดยค าวา HA มกจะใชคกบสงทเราจะตองการจะสอวาจะท าอยางไรใหระบบม Uptime สง

ๆ เชน Server High Availability กคอท าใหเครอง Server มการใหสามารถท างานไดโดยไม Hang

ไมดบ ถาใชกบค าวา Web Server High Availability กหมายความวา จะท าอยางไรใหสามารถ

ใหบรการ Web Site โดยไมมอาการลม ซงบางครงเราจะมการ ตด Downtime ทเปนการวางแผน

เอาไวกอนแลว หรอเรยกสน ๆ วาการ Maintenance ระบบนนเอง

Page 25: al NTT COMMUNICATIONS (THAILAND) CO., LTD

11

ลกษณะของ High Availability ทสามารถน ามาใชเพอเพม Uptime ไดมดงน

1) การใชเทคโนโลยคลชเตอร (Cluster): คอการน าเครองหลาย ๆ เครองมาตงคาให

เหมอนกน และท างานไดเสมอนวาม Server แคตวเดยว ในกรณทเมอเครองใดเครองหนงเสยหาย

จะไมสงผลตอการใหบรการ

2) การท ารดนแดนซ (Redundancy): คอการใชอปกรณจ านวนสองชดขนไปท างานพรอม

กน ท าใหไดประสทธภาพเตมท นยมใชในระบบเครอขาย

3) การเรพพลเคนและแบคอพ (Replication & Backup): คอการคดลอกขอมลจากระบบ

หลกไประบบรอง เมออปกรณหลกเกดลม กจะมการเปดระบบส ารองใชไดทนท

4) การท าโหลดบาลานซ (Load Balance): เราสามารถทจะเอาเครอง Server หลาย ๆ

เครองมาเชอมตอกน เพอใหท างานหลาย ๆ อยางรวมกน

โดยการท า Load Balance ยงสามารถอธบายเพมเตมได 3 ลกษณะดวยกนดงน

5) Round-Robin: คอการใชวธหมนวนไปเรอย ๆ ซงอาจท าไดทงแบบ Round-Robin ท

อปกรณ Load Balance หรอการจด DNS แบบ Round Robin

6) Sticky: คอการยดตดกบ Session ในกรณทเมอระบบมการเลอก Server ไปแลวกจะให

ผใชคนเดมใช Server เดมไปจนกวาจะหมด Session

7) Work Load: คอการตรวจสอบประสทธภาพของ Server กอนทจะเลอก โดยเลอกจาก

เครองทยงมประสทธภาพดกวากอน ท าใหระบบโดยรวมจะมประสทธภาพดกวาแบบ Round-

Robin เหมาะกบระบบทมประสทธภาพ Server แตกตางกน

2.1.3 Java Virtual Machine

JVM หรอ Java Virtual Machine คอ การสรางสภาวะแวดลอมจ าลองขนมาบนระบบ

เพอให application ทเขยนดวย java programming สามารถท างานไดสมบรณโดยไมตองค านงถง

เรอง hardware หรอ สถาปตยกรรม ทใชงานอย เราจะเรยก JVM แตละตวทท างานอยบนเครองวา

instance โดย process ทท างานอยนตองถก compiled เปน Java bytecode มาเรยบรอยแลว ซงการ

สราง JVM ท าไดโดย softwere ของ java ทชอ Java Runtime Environment (JRE) ซงภายในคอ

package java library จ านวนมากใหทาง developer เรยกใชงานในการท า application จากนนจงใช

เครองมอใน Java Development Kit (JDK) ซงหนงในนนคอ Javac compiler ทใชส าหรบแปลง

java bytecode หรอ file .class ทใชรน

Page 26: al NTT COMMUNICATIONS (THAILAND) CO., LTD

12

การสราง Java Virtual Machine (JVM)

1) เรมจากการเขยน Code program ดวยภาษา Java

2) จากนนท าการ Compile code ดวย javac program ใน JDK

3) ผลลพธทไดคอ Java bytecodes หรอ java class files

4) ท าการสราง Java Virtual Machine (JVM) ดวยการ load class ของ java bytecode และ

library ผาน java program

5) Java Virtual Machine (JVM) จะท าการจองหนวยความจ าหรอทเรยกวา Heap memory

เพอการใชงานส าหรบ application

ภาพท 2.4 แสดงขนตอนการสราง Java Virtual Machine (JVM)

ทมา : https://goo.gl/YpUaA6

การท างานของ Class loader

หนงในสวนส าคญของ JVM กคอ java class ทผานการ compile มาแลว ซงตว class loader

น าเอา java class พวกน load เขาส memory เพอท างาน โดยมการท างานหลกๆดงน

1) Load file ขอมล รวมถง import java library ทเกยวของ

2) ตรวจเชกขอมลทท าการ import รวมถงจองหนวยความจ าเรมตนส าหรบการใชงาน

(Heap memory)

3) เรมท าการ initial java class โดยการเรมสรางตวแปรทตองใชงาน

Page 27: al NTT COMMUNICATIONS (THAILAND) CO., LTD

13

Java Virtual Machine มคณสมบต 4 ขอ ดงน

1) ท างานเปน Stack-base คอการเพมขอมลในลกษณะเปนชนตอๆกน LIFO (Last in

First Out)

2) เปน Symbolic reference ส าหรบ java class หรอ interface คอ ตวแปรทงหมดแคท า

link ไปยงขอมลทเกบไวบน memory

3) สามารถท างานไดทก Platform โดนการก าหนด data type ทกชนดไวตายตวเหมอนกน

4) ม Garbage collection ท าการ clear memory หรอ ลางคาตวแปรให

2.1.3.1 Java Heap

Java Heap หรอ JMV Heap คอหนวยยอยของ JVM ซงคอ Java Heap หนวยความจ า หรอ

memory ท Java ใชงานกนใน Java virtual machine

ภาพท 2.5 แสดงถง Java Memory Model

ทมา : https://goo.gl3QnoHL

จากภาพท 2.5 จะเหนสวนประกอบ Memory ท JVM ใชงานแบงออกเปน กลมหลกๆดงน

1) Heap Memory ท าหนาทเกบสวนของตวแปร java objects

2) Non-Heap Memory ใชเกบสวนของ java class และสวนของ meta-data

3) JVM code เกบขอมลสวนของ profile ภายในโครงสราง JVM เอง

Page 28: al NTT COMMUNICATIONS (THAILAND) CO., LTD

14

1) Heap Memory

JVM เองจะมการสราง heap memory ขนมาตงแตเรม run program ส าหรบขอมล

พวก class instances ตวแปร และ array ของ JVM ทท าการ load ขนเพอใชงาน และสามารถก าหนด

ขนาดหรอ size ไดจาก JVM option ดงน

1) -Xmx<size> – ตงคาสงสดของ Java heap size

2) -Xms<size> – ตงคาเรมตนของ Java heap size

โดยปกตแลวคาสงสดจะตงไวท 64 Mb ซง heap memory เองจะมการ clear คา

เพอน ากลบมาใชใหมเรอยๆดวย process garbage collector หรอ gc โดยขนาดของ heap เองสามารถ

มไดทงขนาดตายตว หรอ ขยายเองเรอยๆตามการใชงาน จงมลกษณะตามชอเรยกคอ Heap memory

หรอ กองหนวยความจ า

ในสวนของ Java Heap จะมสวนประกอบยอยตามภาพท 2.5 ดงน

2.2) Young generation

ใชงานในสวน Heap กวา 40% เปน Eden Space ทใชเกบคาของ object ทถก

ก าหนด และสวนมากจะถก clear อยางรวดเรวดวย minor gabage collector ซง object ใหมๆทสราง

ขนภายใต java method จะถกเกบใน Eden space นแหละ แตส าหรบ object ทยงคงใชงานตอเนอง

จะถกยายไปอย survivor space หรอ old generation

ส าหรบ Survivor space คอ memory สวนทเหลอจาก heap และรอดจากการท า

garbage collection บน Eden space เราสามารถก าหนดคาไดจาก –XX: Survivor เชน Ratio=6 ซง

มนคออตราสวนของ Survivor Space และ Eden เปน 1:6 โดยถา survivor space มคาเลกเกนไปกจะ

มการยายไปลงในสวน tenured generation (old generation)

1.2) Old generation (Tenured)

Pool memory นจะเกบ object ทสรางขนบน survivor space บางชวงเวลา และม

การใชงานบอยครง จะถกยายมาเกบบน Tenured generation หรอ old generation นเพอใชงานโดน

application ตลอดการท างาน

2) Non-Heap Memory (PermGen)

นอกจาก JVM จะม heap แลว กจะมสวนของ PermGen หรอ non-heap memory

ดวย ซงเรมท าการจองตงแตเรมสราง JVM เพอเกบคาของโครงสราง class ตางๆเชน pool ของ

Page 29: al NTT COMMUNICATIONS (THAILAND) CO., LTD

15

คาคงท หรอ method ตางๆท code ใชงาน ซงถาพบการท างานของ non-heap ทผดปกตเชน ขนาด

ของ memory ทสงเกนไป ตองท าการตรวจสอบดงน

2.1) ถามปญหาเรองการ load class จนท าใหเกด memory leak ตองตรวจสอบ

จาก class loader

2.2) ถามการสรางตวแปร string มากผดปกต ตองตรวจสอบเรอง object

allocation ทใชงาน

ถา Application ทใชงานตองการ non-heap memory ขนาดใหญกวาปกตท 64 Mb

เราสามารถท าการขยายคา memory สงสดไดจาก JVM option -XX: MaxPermSize=<Memory>

เชน-XX: MaxPermSize=128m

2.1.4 NoSQL

ภาพท 2.6 Not Only SQL

ทมา : https://goo.gl/6jZJqs

ค าวา NoSQL นอนทจรงแลวเปนค าทใชเรยกเทคโนโลยทไมใช SQL แทบจะทงหมด ท า

ใหค าวา NoSQL นนไมมมาตรฐานแตอยางใด แตกลาวโดยรวมกคอ NoSQL มกจะเปนเทคโนโลย

ฐานขอมลทถกออกแบบมาส าหรบงานเฉพาะทางบางอยางท SQL ยงไมสามารถตอบโจทยไดด

เพยงพอ ตวอยางเชน

1) DynamoDB, Riak และ Cassandra ทเนนใหฐานขอมลมความทนทาน, สามารถบนทก

ขอมลและเรยกอานขอมลไดตลอดเวลา ถงแมวาขอมลทถกอานออกไปนนจะไมใชขอมลลาสด

Page 30: al NTT COMMUNICATIONS (THAILAND) CO., LTD

16

2) MongoDB และ CouchDB ทตอยอดจาก Key-Value ดวยการบนทกขอมลเปน JSON

ทมความยดหยนกวาแทน พรอมระบบ Sub-key และ Sub-Value ภายในกบการท า Sharding ให

รองรบการบรการขอมลจ านวนมากดวยความเรวสง

3) Redis ทถกออกแบบมาใหเปน Key-Value ทสามารถจดการกบขอมลไดรวดเรวและด

ขน โดยเปนทนยมส าหรบการสรางขอมลทมการเรยงล าดบหลายๆ ชด ส าหรบใชในการท า

Ranking และ Leaderboard รวมถงยงมความสามารถในการจดเรยงและประมวลผลทางสถตท

ซบซอน ส าหรบน าไปใชใน Application เฉพาะทางบางอยางไดด

4) Neo4j เปนฐานขอมลส าหรบการประมวลผลขอมลแบบ Graph โดยเฉพาะ

5) Elasticsearch เปนระบบฐานขอมลส าหรบการคนหาขอมลแบบ Text โดยเฉพาะ

คณสมบตของ NoSQL Database มดงตอไปน

ภาพท 2.7 แสดงลกษณะของ Auto-Sharding

ทมา : https://goo.gl/6jZJqs

1) Dynamic Schemas การจดเกบขอมลตางๆ ในฐานขอมลแบบ Relational Database เรา

จะตองมการสราง Schema หรอรปแบบของโครงสรางตาราง วาจะจดเกบขอมลอะไรบาง เมอ

ตองการจดเกบขอมลเพมเตมตองเปลยน Schema ภายหลง (Alter-Table) กอนจะจดเกบขอมล

รปแบบใหมได

Page 31: al NTT COMMUNICATIONS (THAILAND) CO., LTD

17

แตในปจจบนการจดเกบขอมลมการเปลยนแปลงตลอดเวลา เพราะความตองการจดเกบ

ขอมลตางๆ มหลากหลายมากขนเรอยๆ การตองก าหนดโครงสรางของตารางฐานขอมลเปนอยางไร

เปนเรองไมงายนก หรอการตองเปลยนโครงสรางฐานขอมลบอยๆ โดยทขอมลยงมอยแลว เปน

เรองทยากมากหรอท าไมไดเลย วธการคออาจตองแยกออกเปนตารางใหม ซงเปนวธแกปญหา

ชวคราวเทานน

ระบบฐานขอมลแบบ NoSQL เราไมจ าเปนตองม Schema ทตายตว หรอไมตองม Schema

กอนทจะจดเกบขอมล ขอมลแตละแถว สามารถจดเกบไดตามตองการ จะเพมหรอลด กไมมปญหา

กบระบบ ท าใหเราสามารถจดเกบขอมลไดตามทตองการ เปลยนแปลงไดตลอดเวลา สะดวก

รวดเรวมากๆ

2) Auto-Sharding เมอขอมลมขนาดใหญ หรอเราตองการเพมประสทธภาพการ อาน-

เขยนขอมลปรมาณมากๆ การท า Sharding ในระบบ NoSQL Database จะท าการกระจายขอมลไป

ยง Server ตางๆอตโนมต (Auto-Sharding) ผพฒนา (Developer) ไมตองเขยนโปรแกรมในการ

กระจายขอมลเอง เหมอน Relational Database

การกระจายขอมลออกไปหลายๆ Server นยงท าใหมขอดคอ ประหยดตนทนในการขยาย

ระบบ เพราะเปนการขยายแบบแนวราบ (Scale Out) ซงสามารถน า Server ปกตทวไปมาใชงานได

ไมจ าเปนตองเปน Enterprise Server

3) Replication การส าเนาขอมลจากเครองหนงไปยงอกเครองหนง (Replication) เมอ

Server หนงเสยหาย อกเครองหนงจะขนมาท างานแทนทนท โดยขอมลของแตละเครองจะมขอมล

เหมอนกน ดงนน Replication เปนหนงคณสมบตทตอบสนองตอการใชงานทตองการความ

ตอเนองไดตลอดเวลา (High Availability)

4) Integrated Caching การจดเกบขอมลทใชงานบอย ๆ เขาไวใน Memory (RAM) ซง

เปนคณสมบตเดนของ NoSQL ทรวม Caching ไวในตวเองอยแลว เราไมจ าเปนตองท า Cache

Layer เหมอน Relational Database อกตอไป ทตองท า Cache Layer แยกตางหากและตองดแลรกษา

แยกออกไปตางหากอกดวย

ประเภทของฐานขอมล NoSQL

NoSQL ถกแบงประเภทตามลกษณะการจดเกบขอมลทแตกตางกน ดงนนการจะเลอก

NoSQL Database สกตวหนง จะตองดดวยวา การจดเกบขอมลของฐานขอมลเปนอยางไร เชน

1) Document databases เชน MongoDB, CouchDB, Elasticsearch

Page 32: al NTT COMMUNICATIONS (THAILAND) CO., LTD

18

2) Graph stores เชน Neo4J, Infinite Graph, InfoGrid

3) Key-value stores เชน DynamoDB, Redis, MemcacheDB

4) Wide-column stores เชน Cassandra, Amazon SimpleDB, Hadoop / HBase

ขอดของ NoSQL

1) โดยมาก NoSQL มกถกออกแบบมาใหม Availability สงมาก และ Scale ระบบเพอ

รองรบผใชงานจ านวนมากไดงาย ถงแมระบบจะท างานรวมกนขาม Data Center กตาม

2) NoSQL หลายๆ ระบบถกออกแบบมาส าหรบ Unstructured Data โดยเฉพาะ เชน

ประมวลผล Log, XML, JSON และเอกสารตางๆ ท าใหมความยดหยนในการใชงานเฉพาะทางแต

ละประเภทสง

ขอเสยของ NoSQL

1) สวนใหญแลว NoSQL จะท างานแบบ Non-transactional ดงนนถาหากขอมลมความ

ละเอยดสงและผดพลาดไมไดเลย NoSQL หลายๆ ระบบกอาจจะไมเหมาะในหลายๆ กรณ

2) การเรยกอานขอมลขนมาใชสวนใหญมกจะม Cost ทสงกวาการใช SQL เพราะไม

สามารถเลอกเจาะจงไดอยางงายๆ วาจะเรยกขอมลสวนไหนขนมา ยกเวนส าหรบงานเฉพาะทาง

บางอยางทจะดกวา SQL แบบชดเจนมาก (ขนอยกบงานทท าและเทคโนโลยทเลอก) แตการบนทก

ขอมลลงไปสวนใหญจะงายกวา SQL

3) เทคโนโลยสวนใหญไมมความเปนมาตรฐานกลาง ดงน นการเปรยบเทยบแตละ

เทคโนโลยคอนขางท าไดยาก ผใชงานตองมความคนเคยกบการจดการ Software เหลานใหไดดวย

ตวเอง

4) ผเชยวชาญทสามารถสนบสนนเทคโนโลยเหลานในระดบองคกรไดนนยงมไมมาก

แตเทคโนโลย NoSQL นกลบมความจ าเปนมากในการทองคกรจะสรางความแตกตางในเชง

เทคโนโลยจากคแขง

Page 33: al NTT COMMUNICATIONS (THAILAND) CO., LTD

19

2.1.5 REST (Representational State Transfer)

ภาพท 2.8 Representational State Transfer (REST)

ทมา : https://goo.gl/CJCjfC

Representational State Transfer (REST) นนถกพดถงครงแรกในป 2000 โดย Roy Thomas

Fielding ซง Representational State Transfer (REST) นนเปน Architecture (สถาปตยกรรมการ

สอสารขอมล) รปแบบหนงทใชแผรกระจายสอ เปนแนวทางใหมในการสราง Web Service แบบ

เรยบงาย โดยเรยกใชผานทาง HTTP Method GET / POST / PUT / DELETE และสงขอมลออกมา

ในรปของ XML ท าใหปรมาณขอมลทรบสง นอยกวาการใช Protocol SOAP อยมาก ซงขอดขอน

ของ REST ท าให Developer หลายๆ คนหนมาสนใจการเขยนโปรแกรมแบบใช RESTful Web

Service กนมากขน เพราะมผลกบเรอง Performance ของการใชงานโปรแกรมเปนอยางมาก แต

เนองจากเรอง REST นเพงเกดขนมาเมอป 2000 ท าใหยงไมมมาตรฐานทก าหนดใหบงคบใชงาน

เหมอน Protocol SOAP เดม ซงจะสงเกตไดวาจะไมม REST Specification อยบน W3C และไมม

REST Developer Toolkit ถาหากอยากใช RESTful กตองก าหนดเงอนไขจากภาษาทเขยนเอาเอง

โดยภาษาในยคปจจบนนมการรองรบ RESTful Web Service หรออกชอหนงคอ RESTful Web

API กนเปนสวนใหญแลว

การใชงาน Resource ตางๆ ผาน HTTP protocol, ผาน URI ทสอสารไดชดเจน, ผาน HTTP

method ทเหมาะสม เชน

1) HTTP GET ส าหรบการดงขอมล

2) HTTP POST ส าหรบการสรางขอมล

Page 34: al NTT COMMUNICATIONS (THAILAND) CO., LTD

20

3) HTTP PUT ส าหรบการแกไขขอมล

4) HTTP DELETE ส าหรบลบขอมล

รปแบบของขอมลทใชสอสารกนอยในรปแบบ XML, JSON, Atom และอนๆ อกมากมาย

แตหนงในรปแบบทไดรบความนยมคอ JSON

เปน API อยางหนง ซงทก ๆ system ตางใช resource ซงเปนไดทง image, video, web page

หรอขอมลทางธรกจ กไดทสามารถแสดงบนระบบ computer วตถประสงคเพอให user สามารถ

เขาถง, ตดตง, ปรบแตง, ขยาย resource เหลานไดงาย ซงทาง RESTful ไดออกแบบมาใหม

คณสมบตตอไปน

1) แสดงผล

2) เกบขอมล

3) ม URIs

4) Stateless ท างานโดยไมตองม session

5) เชอมตอระหวาง Web service

6) Caching

ตวอยาง Response

JSON

{

"ID": "1",

"Name": "M Vaqqas",

"Email": "[email protected]",

"Country": "India"

}

XML

<Person>

<ID>1</ID>

<Name>M Vaqqas</Name>

<Email>[email protected]</Email>

Page 35: al NTT COMMUNICATIONS (THAILAND) CO., LTD

21

<Country>India</Country>

</Person>

HTTP Request

ภาพท 2.9 แสดงลกษณะของ HTTP Request

ทมา : https://goo/gl/sdBCcu

1) <VERB> เปนสวนของ HTTP method เชน GET, PUT, POST, DELETE

2) <URI> คอต าแหนงของสถานทขอมล ทตองการใหระบบท างาน

3) <HTTP Version> ปกตจะใช “HTTP v1.1”

4) <Request Header> สวนของ metadata ทใชเกบคา key-value ของ header เพอบอก

ขอมลผสง เชน format ของขอมล body

5) <Request Body> สวนขอมล content ใน REST

ตวอยาง POST Method

POSThttp: //MyService/Person/

Host: MyService

Content-Type: text/xml; charset=utf-8

Content-Length: 123

<? xmlversion="1.0"encoding="utf-8"?>

<Person>

<ID>1</ID>

<Name>MVaqqas</Name>

<Email>[email protected]</Email>

Page 36: al NTT COMMUNICATIONS (THAILAND) CO., LTD

22

<Country>India</Country>

</Person>

ตวอยาง GET Method

GEThttp://www.w3.org/Protocols/rfc2616/rfc2616.htmlHTTP/1.1

Host: www.w3.org

Accept: text/html,application/xhtml+xml,application/xml; …

User-Agent: Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 …

Accept-Encoding:gzip,deflate,sdch

Accept-Language: en-US,en;q=0.8,hi;q=0.6

HTTP Response

ภาพท 2.10 แสดงลกษณะของ HTTP Response

ทมา : https://goo/gl/sdBCcu

1) <Response Code> คอผลลพธการท างานในระดบ HTTP เปนเลข 3 หลก ถาปกต

จะเปน 200 OK

2) <Response Header> สวนของ metadata ทใชเกบคา key-value ของ header

3) <Request Body> สวนขอมลผลลพธ content ใน REST

ตวอยางผลลพธจาก GET Method

HTTP/1.1200OK

Date:Sat,23Aug201418:31:04GMT

Server:Apache/2

Page 37: al NTT COMMUNICATIONS (THAILAND) CO., LTD

23

Last-Modified:Wed,01Sep200413:24:52GMT

Accept-Ranges:bytes

Content-Length:32859

Cache-Control:max-age=21600,must-revalidate

Expires:Sun,24Aug201400:31:04GMT

Content-Type:text/html;charset=iso-8859-1

<!DOCTYPEhtmlPUBLIC"-//W3C//DTDXHTML1.0Strict//EN"

"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

<htmlxmlns='http://www.w3.org/1999/xhtml'>

<head><title>HypertextTransferProtocol--HTTP/1.1</title></head>

<body>

...

2.2 เทคโนโลยทใชในการปฏบตงาน 2.2.1 โปรแกรม ElasticSearch

ภาพท 2.11 โลโกของ ElasticSearch

ทมา : https://goo.gl/qWFuH4

Elasticsearch คอ distributed data store ตวหนงทมความสามารถหลกๆ คอ search (พฒนา

ตอยอดมาจาก Lucene) ทไมใช search แบบธรรมดา แตเปน distributed search ททกๆ ฟลดขอมลท

เกบจะถกท า index ไว ท าใหความเรวในการ search กบขอมลขนาดมหาศาลนนแทบจะเปน real-

time เลยทเดยว และการตดตอกบสวน data store สามารถท าไดโดยผาน RESTful API

Page 38: al NTT COMMUNICATIONS (THAILAND) CO., LTD

24

ElasticSearch เปนแบบ real-time กระจายและเปดแหลงคนหาขอความแบบเตมและการ

วเคราะหเครองยนต มนเปนอนเตอรเฟซทสามารถเขาถงไดจากบรการเวบสงบและใชสคนอย

JSON (JavaScript Object Notation) เอกสารการจดเกบขอมล มนถกสรางขนในการเขยนโปรแกรม

ภาษา Java ซงจะชวยให ElasticSearch เพอใหท างานบนแพลตฟอรมทแตกตาง ซงจะชวยใหผใชใน

การส ารวจจ านวนมากของขอมลทความเรวสงมาก

ลกษณะโดยทวไปของ ElasticSearch มดงน

1) ElasticSearch สามารถปรบไดถงเพตาไบตของขอมลโครงสรางและไมมโครงสราง

2) ElasticSearch สามารถน ามาใชแทนของรานคาเอกสารเชน MongoDB และ RavenDB

3) ElasticSearch ใช denormalization เพอปรบปรงประสทธภาพการคนหา

4) ElasticSearch เปนหนงในเครองมอคนหาทนยมองคกรซงขณะนจะถกใชโดยองคกร

ขนาดใหญจ านวนมากเชนวกพเดย, เดอะการเดย StakOverflow, GitHub ฯลฯ

5) ElasticSearch เปดแหลงทมาและอยภายใตใบอนญาต Apache รน 2.0

2.2.1.1 แนวคดหลก

แนวคดทส าคญของ ElasticSearch มดงน

1) Node - หมายถงตวอยางการใชเพยงครงเดยวของ ElasticSearch เซรฟเวอรทาง

กายภาพและเสมอนเดยวรองรบโหนดหลายขนอยกบความสามารถของทรพยากรทางกายภาพของ

พวกเขาเชน RAM, การจดเกบและพลงการประมวลผล

2) Cluster - เปนคอลเลกชนของหนงหรอมากกวาโหนด คลสเตอรใหรวมการจดท า

ดชนและการคนหาความสามารถทวทกโหนดส าหรบขอมลทงหมด

3) Index – เปนคอลเลกชนของประเภททแตกตางกนของเอกสารและคณสมบตของ

เอกสาร ดชนยงใชแนวคดของเศษในการปรบปรงประสทธภาพการท างาน ตวอยางเชนชดของ

เอกสารทมขอมลของแอปลเคชนเครอขายสงคม

4) Type/Mapping - เปนคอลเลกชนของเอกสารทใชงานรวมกนชดของเขตขอมล

ทวไปในปจจบนดชนเดยวกน ตวอยางเชนดชนมขอมลของแอปลเคชนเครอขายสงคมและแลวกม

อาจจะเปนประเภททเฉพาะเจาะจงส าหรบขอมลรายละเอยดผใชประเภทขอมลสงขอความอนและ

อน ๆ ส าหรบขอมลความคดเหน

4) Document – เปนคอลเลกชนของเขตขอมลในลกษณะทเฉพาะเจาะจงทก าหนดไว

Page 39: al NTT COMMUNICATIONS (THAILAND) CO., LTD

25

ในรปแบบ JSON เอกสารเปนของประเภทและอาศยอยภายในดชน เอกสารทกคนมความเกยวของ

กบตวระบทไมซ ากนทเรยกวาการ uid

5) Shard – ดชนจะแบงออกเปนแนวนอน ซงหมายความวาแตละชารดมคณสมบต

ทงหมดของเอกสาร แตมจ านวนนอยของวตถ JSON กวาดชน การแยกแนวนอนท าให Shard

โหนดอสระซงสามารถเกบไวในโหนดใด ๆ ชนสวนหลกคอสวนแนวนอนเดมของดชนและแลว

เหลานเศษหลกถกจ าลองแบบจ าลองลงในเศษ

6) Replicas - ElasticSearch ชวยใหผใชในการสรางแบบจ าลองของดชนแบบไมเพยงแต

ชวยในการเพมความพรอมใชงานของขอมลในกรณของความลมเหลว แตยงชวยเพมประสทธภาพ

ของการคนหาโดยการด าเนนการคนหาขนาดในแบบจ าลองเหลาน

ขอดของElasticSearch

1) ElasticSearch การพฒนาบน Java ซงจะท าใหมนเขากนไดในเกอบทกแพลตฟอรม

2) ElasticSearch เปนเวลาจรงในค าอน ๆ หลงจากทหนงทสองเพมเปนเอกสารทสามารถ

คนหาไดในเครองยนตรนน

4) ElasticSearch มการกระจายซงท าใหงายตอการปรบขนาดและบรณาการในองคกร

ขนาดใหญ

4) สรางการส ารองขอมลเตมรปแบบไดงายโดยใชแนวคดของ Gateway มอยใน

ElasticSearch

5) จดการหลายครอบครองเปนเรองงายมากใน ElasticSearch เมอเทยบกบ Apache Solr

6) ElasticSearch ใชวตถ JSON การตอบสนองซงจะท าใหมนเปนไปไดทจะเรยก

เซรฟเวอร ElasticSearch ทมจ านวนมากของการเขยนโปรแกรมภาษาทแตกตางกน

7) ElasticSearch สนบสนนเกอบทกประเภทของเอกสารยกเวนผทไมสนบสนนการ

แสดงผลขอความ

ขอเสยของElasticSearch

1) ElasticSearch ไมไดมการสนบสนนหลายภาษาในแงของการจดการและการ

ตอบสนองการรองขอขอมล (Only possible in JSON) แตกตางจากใน Apache Solr ทมนเปนไปได

ใน CSV, XML และ JSON รปแบบ

Page 40: al NTT COMMUNICATIONS (THAILAND) CO., LTD

26

2.2.1.2 เปรยบเทยบระหวาง ElasticSearch และ RDBMS

ใน ElasticSearch ดชนคอชดของประเภทเชนเดยวกบฐานขอมลคอชดของตารางใน

RDBMS (Relation Database Management System) ทกตารางคอชดของแถวเชนเดยวกบการท า

แผนททกคนเปนคอลเลกชนของ JSON

ตารางท 2.2 แสดงการเปรยบเทยบชอเรยกระหวาง ElasticSearch และ RDBMS

ElasticSearch RDBMS

Index Database

Shard Shard

Mapping Table

Feild Field Object JSON Tuple

2.2.2 โปรแกรม Logstash Logstash เปนเครองมอส าหรบจดการพวก log และ event ตางๆ ทเกดขนมา สามารถใช

Logstash เพอท าการสะสม กรอง และ จดเกบขอมล เพอใชงานตอไป ตวอยางเชน การคนหาขอมล

ภาพท 2.12 แสดงสวนการแสดงขอมลของโปรแกรม Logstash

ทมา : https://goo.gl/YMCT5d

Page 41: al NTT COMMUNICATIONS (THAILAND) CO., LTD

27

สวนการท างานของ Logstash ประกอบไปดวย 4 สวน คอ

1) Input คอ ขอมลเขาตางๆ หรอ source data

2) Codec คอ การเขารหสขอมล

3) Filter คอ การกรองขอมลใหอยในรปแบบทตองการ

4) Output คอ ขอมลออกในรปแบบตางๆ หรอ ทจดเกบผลลพธตาง ๆ

ภาพท 2.13 แสดงตวอยางไฟล Config ของ Logstash อยางงาย

จากภาพท 2.7 อธบายไดดงน ในสวนของ Input ท าการเพม field ใหมเขาไป คอ host เพอ

ก าหนด IP ของเครองทเกบหรอสราง Log เพอใชในการคนหาตอไป

1) ในสวนของ filter จะใชงาน filter ชอวา multipleline โดยก าหนด pattern ใหขนตน

ดวย [XXXX] เสมอ

2) ในสวนของ output ก าหนดใหไปเกบใน Elasticsearch โดยไปเกบใน cluster ชอวา

elasticsearch

Page 42: al NTT COMMUNICATIONS (THAILAND) CO., LTD

28

2.2.3 โปรแกรม Kibana

ภาพท 2.14 โลโกของ Kibana

ทมา : https://goo.gl/V5xwJK

Kibana คอ เครองมอ Visualize ส าหรบแสดงผลขอมลจาก Elasticsearch ในรปแบบตางๆ

เชน กราฟแบบตางๆ ตาราง แผนท และสามารถสรางการแสดงผลขอมล หรอ Dashboard ไดตาม

ความตองการ

2.2.3.1 การตดตง Kibana หมายเหต ตองตดตง Elasticsearch มากอน 1) DownloadKibanahttps://www.elastic.co/downloads/kibana 2) Unzipkibana-5.3.0.zip 3) เปดไฟล config/kibana.yml ในโปรแกรม editor

ภาพท 2.15 File .yml ของโปรแกรม Kibana

4) ตงคา elasticsearch.url ระบ IP ของ Elasticsearch

Page 43: al NTT COMMUNICATIONS (THAILAND) CO., LTD

29

ภาพท 2.16 ระบ IP ของ Elasticsearch

5) Run bin/kibana (or bin\kibana.bat on Windows) โดยดบเบลคลก kibana.bat หรอ พมพค าสงใน Cmd: start kibana.bat

ภาพท 2.17 File .bat ของโปรแกรม Kibana

6) เปด Browser พมพ URL: http://localhost:5601

ภาพท 2.18 เรมตนใชงานโปรแกรม Kibana

Page 44: al NTT COMMUNICATIONS (THAILAND) CO., LTD

30

2.2.4 Virtual Machines

Virtual Machines คอโปรแกรมคอมพวเตอรซอฟตแวรทสามารถรนระบบปฏบตการ

(Operating System) เชน Windows และ Linux, แอปพลเคชนเชน email server, web server และ

database server โดยท Virtual Machines จะสามารถใหบรการดานตาง ๆไดเหมอนกบ ฮารดแวร

จรง ๆ (Physical Machines) Virtual Machines จะประกอบดวยไฟล config และ ไฟลขอมล (disk

image) ทเกบอยบน Storage

2.2.4.1 ประโยชนของเทคโนโลย Server Virtualization

1) ลดคาใชจายโดยการลดจ านวนเซรฟเวอรฮารดแวร ทตองใช ลดการใชงานพนทของ

Data Center ลดคาไฟ ลดคาบ ารงรกษาและอนๆ

2) เพมเสถยรภาพของระบบและลดผลกระทบจากกรณเซรฟเวอรฮารดแวรมปญหาโดย

การท าคลสเตอร (Cluster) เพอรองรบ High Availability (HA) ไดงายโดยใชคาจายทถกลง

3) เนองจาก Virtual Machines เปนไฟลทเกบทงระบบปฏบตการ (Operating System)

แอปพลเคชนและขอมล จงสามารถท าการส ารอง (backup) หรอท าการส าเนา (replication) ไปยง

Data Center ส ารอง (DR Site) เพอรองรบแผนฉกเฉน (Disaster Recovery) ไดงาย

4) โดยอาศย Hypervisor ซอฟตแวร ท าหนาทเปนตวขนระหวาง Operating System และ

Server Hardware จงท าใหมความยดหยนในการโยกยาย Virtual Machines ไปรน บนเครองตาง รน

และตางยหอได

6) ยดอายการใชงานแอปพลเคชนทตองรนบนระบบปฏบตการเกาๆ

7) หนวยงานไอทสามารถตอบสนองความตองการทางธรกจไดรวดเรวขน โดยการลด

เวลาในการตดตงระบบปฏบตการและแอปพลเคชน โดยการส าเนา จาก Virtual Machines template

Page 45: al NTT COMMUNICATIONS (THAILAND) CO., LTD

31

เปรยบเทยบระหวาง Physical Server กบ VM Server แลว Server หนงเครองจะลง

Operating System เชน Windows หรอ Linux ไดแคหนงตว เมอมแอปพลเคชนเพมมากขนกตองซอ

เครองเพมขน และถาหากตองการท า High Availabilityกตองซอเครองเพมเปนสองเทาเพอท า

Cluster 0

ภาพท 2.19 Physical Server ทเพมขน

ภาพท 2.20 Physical Server กบ High Availability

Server Virtualization ท ำให Server Hardware 1 เครองสำมำรถรองรบไดหลำย Operating

System และ หลำยแอปพลเคชน

ภาพท 2.21 การขยายของServer Virtualization

ทมา : https://goo.gl/YpUaA6

Page 46: al NTT COMMUNICATIONS (THAILAND) CO., LTD

บทท 3

แผนงานการปฏบตงานและขนตอนการด าเนนงาน

3.1 แผนงานการปฏบตงาน ตารางท 3.1 แสดงการปฏบตงานโดยภาพรวมตลอดทง 8 สปดาห (วนท 22 พฤษภาคม ถง

14 กรกฎาคม 2560 หลงจากนนไปฝกงานทประเทศญปนเปนเวลา 12 สปดาห) ซงรายละเอยดการ

ปฏบตงานนนจะกลาวถงในหวขอท 3.3 “ขนตอนการด าเนนงานโครงงาน”

ตาราง 3.1 แสดงสงทไดปฏบตโครงงานในระหวางการสหกจศกษา

รายละเอยด พฤษภาคม มถนายน กรกฎาคม 1 2 3 4 1 2 3 4 1 2 3 4

ศกษาหาขอมลเกยวกบ Logs Analytics ศกษาหาขอมลเกยวกบ Tools ทเลอกใช ศกษาสถาปตยกรรมระบบเกบLogsของNTT ออกแบบDiagram ทดสอบระบบ

3.2 รายละเอยดโครงงาน ศกษาและออกแบบไดอะแกรม เพอใหไดรปแบบระบบทสามารถน าไปใชงานในการ

วเคราะห Logโดยมคณสมบตคอ มขนาดหนวยความจะและหนวยการประมวลผลสมพนธกบความ

จ าเปน เพอใหเหมาะสมกบคาใชจายและงบประมาณ และมความมนคงของระบบ

3.2.1 ระบบมขนาดหนวยความจ าและหนวยประมวลผลสมพนธตอความจ าเปน

เนองจากขนาดหนวยความจ าและตวประมวลผลขอมลของคอมพวเตอรนน หากมขนาด

ใหญจะท าใหคาใชจายมมากตามไปดวย การใหบรการจงควรค านงถงคาใชจายและงบประมาณใน

สวนน ขาพเจาจงศกษาการท างานของโปรแกรมทน ามาใชงานอยางละเอยด รวมไปถงการ

ตงสมมตฐานในการค านวนขนาดของขอมลอยางงาย เพอใชในการประมาณขนาดของระบบ

Page 47: al NTT COMMUNICATIONS (THAILAND) CO., LTD

33

หลกการก าหนดขนาดพนทและหนวยประมวลผลใหกบเครองคอมพวเตอรเสมอน คอ การ

ประมาณขนาดของขอมล โดยดไดจาก ตวอยางของ Records ของขอมลทจะน ามาประมวลผล

ขอมลทเปนตวอกษรหรอ Text นน 1 ตวอกษรจะมขนาดเทากบ 1 byte

ตวอยาง Log ของอเมล

Jul 11 08:45:07 bkk0-smtp-in00 amavis[5126]: (05126-10-2) Passed CLEAN {RelayedInbound}, [xxx.xxx.156.166]:56099 [xxx.xxx.156.166] <[email protected]> -> <[email protected]> ,Queue-ID:890EE120085,Message-ID: <3F817A35BB777B4FB986BB3A887F0B6C3BB9C0D [email protected]>, mail_id: Ut0ru5YNQscb, Hits: 0.744, size: 348020, queued_as: 1AFB7120063, 15528 ms

มขนาด 359 ตวอกษร เทากบวา ขนาดของ Email Log 1 Record นนมขนาด 359 byte ซง

สามารถประมาณตอไปไดวา 1 วนจะม Log ก Records และตองการเกบขอมล Log กวนมาใช

ประมวลผล

ในทนเรารขนาดขอมลไดจาก Log ใน Raw log ทเกบไวอยแลว ในการก าหนดขนาดพนท

และหนวยประมวลผลจงท าไดโดย ก าหนดอตราสวน ขนาดของหนวยประมวลผลตอขนาดของ

หนวยความจ า เชน ในทนก าหนดให RAM 1 GB ตอ 12 GB Storage หากตองการพนท32 GB จะ

ได RAM 3 GB แตเพราะ ElasticSearch ใช Java ในการท างาน ท าใหจ าเปนตองมพนทส าหรบ ให

Java Heap ประมวลผลครงหนง ของท ElasticSearch ใชงาน ซงอาจจะท าใหไมเพยงพอตอการ

ประมวลผลโปรแกรมอน ๆ แตเราสามารถก าหนดขดจ ากดของการใชงาน Java Heap โดยหากใช

หนวยประมวลผลนอยอาจจะมผลตอการประมวลผล ดงนนหากตองการใชงานกบโปรแกรมอน

ควรเพมหนวยประมวลผล

3.2.2 ระบบตองการความมนคง

ในการประกอบธระกจใดกตาม ความมนคงตอเนองของระบบการท างานถอเปนจดท

ส าคญอยางยงตอภาพลกษณและความเชอมนตอธรกจนน ๆ Elasticsearch จงมวธการจดการปญหา

นดวยการ replicate ซงท าการ copy index ไปไว node อน ท าใหระบบสามารถยงท างานได ถาม

node ใด node หนงดบไป โดยยงมขอมลครบเหมอนเดม และยงชวยเพมความสามารถในการอาน

นนคอสามารถรองรบการใชงานไดมากขน นนหมายถงสามารถท าการใชงานในแตละ node ได

พรอมกน

Page 48: al NTT COMMUNICATIONS (THAILAND) CO., LTD

34

3.3 ขนตอนการด าเนนงานทนกศกษาปฏบตงานหรอโครงงาน

3.3.1 ขนตอนการท าโครงงาน

3.3.1.1 ศกษาขอมลเกยวกบ Log Analysis

ในขนตอนนไดท าการคนควาขอมลเบองตนผาน Internet โดยรวมรวมจาก ขอมลเกยวกบ

Big Data, Data Analytics และ Log ดงทไดกลาวถงในสวนของทฤษฎทเกยวของ

3.3.1.2 ศกษาการท างานของ Tools ทเลอกใช

ในขนตอนนไดท าการศกษาการท างานหลกการ และการใชงานโปรแกรม Toolsทเลอกใช

คอ ElasticSearch, Kibana และ Logstash ตามล าดบ โดยรายละเอยดของโปรแกรมไดถกกลาวถงใน

สวนของเทคโนโลยทใชปฏบตงาน และสามารถดเพมเตมไดจากเอกสารอางอง

3.3.1.3 ศกษาสถาปตยกรรมการเกบ Log ของ NTT

บรษท NTT นน ไดมการเกบรกษา Log ของระบบตาง ๆ ทงของบรษทเองและของลกคาท

ใชบรการกบบรษท เพอตอบสนองตอพรบ.คอมพวเตอรทวาดวยการเกบรกษาขอมลการจราจร

คอมพวเตอรอยางนอย 90 วน ทางบรษทจงม raw log storage ทใชเกบขอมล Log อยแลว ซงขอมล

Log เหลานจะถกสงผาน Protocol TCP ผาน Port มายงเครอง raw log โดนในการรบขอมล จะแยก

รายลกคาจาก Port ทรบเขามา ดงนนในขนตอนการสงขอมล Log จาก raw log มายงเครอง ทใชงาน

จงท าไดงายโดยใชวธการเดยวกน

3.3.1.4 ออกแบบ Diagram

จากภาพท 3.1 Diagram ทออกแบบไว จะตองใชทรพยากรเปน คอมพวเตอร 3 เครอง โดย

มเครองทท าหนาทเปน Master node อย 2 เครองซงจะท าหนาทในการประมวลผลขอมล คอ

โปรแกรม ElasticSearch และ Kibana จะถกตดตงไว และ 1 เครองทเหลอท าหนาทเปน Data node

ทมโปรแกรม Logstash ตดตงไว ซงท าหนาทในการจดการและจดเกบขอมล เมอ Log ถกสงมาจาก

raw log จะถกสงมาท Data node และ Data node จะท าหนาทเปน Storage คอยสง Log ไปยง

Master node เพอใชในการประมวลผล

Page 49: al NTT COMMUNICATIONS (THAILAND) CO., LTD

35

ภาพท 3.1 Diagram ทใช VM 3 Node

ขอด คอ เหมาะกบระบบใหญทมขอมลใหประมวลผลมากกวา และมขอมลหลายชนด

เชน Log มากชนดขอมล

ขอดอย คอ ไมมการท าการส ารองในสวนของ Data node หากขอมลมขนาดใหญเกน

กวาทจะจดเกบไดหรอเกดปญหาขดของท Data node จะสงผลใหระบบท างานตอไมได

จากภาพท 3.2 Diagram ทออกแบบไว จะตองใชทรพยากรเปน คอมพวเตอร 2 เครอง ทท า

หนาทเปนทง Master และ Data node โดยมการตดตงโปรแกรม Logstash, ElasticSearch และ

Kibana ไวทเครองทง 2 โดยมการท า Clustering กน

ภาพท 3.2 Diagram ทใช VM 2 Node

Page 50: al NTT COMMUNICATIONS (THAILAND) CO., LTD

36

ขอด คอ ระบบไมคอยซบซอน ใชจายไมสงมาก มเครองส ารองใชงานหากเกด

เหตขดของกบเครองใดเครองหนง เหมาะกบการวเคราะหขอมลทไม Critical เชนขอมล Log

ขอดอย คอ หากใชประมวลผลขอมลไมมากจะคอนขางทจะเกนความจ าเปนเมอเทยบ

กบคาใชจาย

หมายเหต ระบบ Cloud VM ของ NTT มการท า High Avalibility (HA) ไว หากเกดเหตทท าให

ระบบหลกลม ระบบของ HA จะท างานโดยม Downtime เลกนอย

ภาพท 3.3 Diagram ทใช VM 1 Node

จากภาพท 3.3 Diagram ทออกแบบไว จะตองใชทรพยากรเปน คอมพวเตอร 1 เครอง ทท า

หนาทเปนทง Master และ Data Node โดยมการตดตงโปรแกรม Logstash, ElasticSearch และ

Kibana ไวทเครอง

ขอด คอ ระบบไมซบซอน ประหยดคาใชจาย เหมาะกบการวเคราะหขอมลทไม

Critical เชน ขอมล Log

ขอดอย คอ ไมมเครองทจะใชในการประมวลผลส ารองหากเครองทใชเกดขดของ

หมายเหต ระบบ Cloud VM ของ NTT มการท า High Avalibility (HA) ไว หากเกดเหตทท าให

ระบบหลกลม ระบบของ HA จะท างานโดยม Downtime เลกนอย

จากการสรปผลขอดขอเสยของ Diagram แตละแบบนน ภาพท 3.2 เปน Diagram ทมความ

นาชอถอ และมคณสมบตทสามารถใชน ามาเปนผลตภณฑเสนอขายไดจรง จงยกใหภาพท เปน

Best Practics และ ภาพท มความเหมาะสมส าหรบการประมวลผลทไมมากเชนกน ในความเปนจรง

Page 51: al NTT COMMUNICATIONS (THAILAND) CO., LTD

37

นน การทผใหบรการจะเกดปญหาระบบลมนน เปนไปไดนอยมาก ยงไปกวานน ระบบของผใน

บรการอยาง NTT นน มการท า HA ตามมาตรฐานของบรษทขนาดใหญอยแลว ภาพท 3.3 เปนอก

ตวเลอกทดเชนกน ในสวนของภาพท 3.1 มความซบซอนและใชทรพยากรเกนความจ าเปนซงจะ

สงผลกระทบตองบประมาณ การน ามาใชงานประมวลผล Log จงไมใชตวเลอกทด แตหากน าไปท า

Data Analytics เปนโปรเจกใหญๆ จะเหมาะสมกวา

3.3.1.5 ทดสอบระบบ

ในขนตอนการทดสอบระบบนนหลงจากท Download โปรแกรมทใชงานมาแลว มการสง

Log จาก raw log เขามายงเครองVMแลว มขนตอนดงน

1) ตงคาเรมตน ElasticSearch

แกไข File โดยก าหนดชอใหnode และตงคาตางๆตามตองการ ในทนขาพเจาได

แกไขเพยงชอ โดยการตงคาตางๆใหเปนไปตามคาเรมตนของโปรแกรม

ภาพท 3.4 File .yml ของโปรแกรม ElasticSearch

Page 52: al NTT COMMUNICATIONS (THAILAND) CO., LTD

38

2) เขยน Script ให Logstash

สรางโดยก าหนดคาให Host คอทท Log ถกเกบอยอย ในการทดลองนคอ เครองท

ใชอย ใช code grok เพอดกขอความ ถามขอความทมค าทระบไวใหอยใน category ของค านน

ภาพท 3.5 File .conf ของโปรแกรม Logstash

3) ตงคาเรมตนให Kibana

คาพนฐานของโปรแกรม Kibana จะตงคาวา โปรแกรม ElasticSearch นน อยท

localhost ซงหากตดตงโปรแกรมไวคนละเครองกน จ าเปนตองแกไขไฟลใหชเสนทางไปทเครองท

ตดตงโปรแกรม ElasticSearch ไว

ภาพท 3.6 File .yml ของโปรแกรม Kibana

Page 53: al NTT COMMUNICATIONS (THAILAND) CO., LTD

39

4) ตดตง ElasticStack, Logstash, Kibana

ส าหรบโปรแกรม Logstash และ Kibana นน สามารถใชวธ dubble click ทไฟล

ในการตดตงไดเลยหลงจากทแกไขfile .yml และ .conf แลว

ภาพท 3.7 การตดตงโปรแกรม ElasticSearch

ภาพท 3.8 File .bat ทใชในการตดตงโปรแกรม Logstash

ภาพท 3.9 File .bat ทใชในการตดตงโปรแกรม Kibana

Page 54: al NTT COMMUNICATIONS (THAILAND) CO., LTD

40

5) ตงคา index ภายใน Kibana

เปนการตงคาใหชนดขอมล คลายกบการสรางฐานขอมลแบบอน เพยงแตใน

Kibana นเราจะเปนตองน าเขาขอมล Log และสราง Pattern ใหขอมลผานโปรแกรม Logstash กอน

ตวโปรแกรม Kibana เอง สามารถ สราง index อยางงายในรปแบบทถกใชบอยไดเอง เชน

@Timestamp เปนตน

ภาพท 3.10 หนาตงคา index โปรแกรม Kibana

6) หนา Discover

จากภาพท 3.11 แสดงการคนหาของและการแสดงผล โดยใชวธการ Query ขอมล

เปน Text หรอ Keyword โดยรายละเอยดจะเปนไปตามลกษณะของขอมลทน าเขา และถกท า

indexing ไว

Page 55: al NTT COMMUNICATIONS (THAILAND) CO., LTD

41

ภาพท 3.11 หนา Discover

7) หนา Visualization (ตงคา DashBoard)

จากภาพ 3.12 เลอกรปแบบ Visualization เปน Pies และ filter หาค าวา Blocked

INFECTED, Blocked BANDED, Failed SPAMMY, rejected

ภาพท 3.12 หนา Visualization

8) หนา Dashboard

แสดงผล Visualization ทไดสรางไวแบบรวมๆ เราสามารถเลอกจดต าแหนง

ใหกบ Visualization ในหนานได

Page 56: al NTT COMMUNICATIONS (THAILAND) CO., LTD

42

ภาพท 3.13 หนา Dashboard

Page 57: al NTT COMMUNICATIONS (THAILAND) CO., LTD

บทท 4

ผลการด าเนนงาน การวเคราะหและสรปผลตาง ๆ

4.1 ผลของการท าโครงงาน

ในสวนของโครงงานทไดพฒนามาเปนระยะเวลา 6 สปดาห โดยจะขออธบายผลลพธทได

ดงตอไปน

เมอเขาสโปรแกรม Kibana ผานทาง Web Brower จะพบกบหนา Loading Screen แสดง

Logo ของโปรแกรมและสถานะก าลงโหลดขอมลดงภาพท 4.13 เปนเวลาประมาณ 10 วนาท ซง

ความเรวขนอยกบการประมวลผลของคอมพวเตอรและความเรวของ Internet ทใชในการเขาถง

กอนเขาสหนา Dashboard ซงเปนหนาแสดงผลลพธของโปรแกรม

ภาพท 4.1 ภาพแสดงหนาตาของหนา Loading Screen

ภาพท 4.2 ภาพแสดงหนาตาของหนา Dashboard

Page 58: al NTT COMMUNICATIONS (THAILAND) CO., LTD

44

4.1.1 หนา Visualization

เปนหนาทใชเพอตงคากราฟตางๆทตองการน ามาแสดงผลลพธ ดงในภาพท เปนการกรอง

หา จ านวนของ Records ทมผลตามทใส keyword ดงภาพ

ภาพท 4.3 ภาพแสดงหนาตาของหนา Visualization

4.1.2 หนา Discover

เปนหนาส าหรบคนหาขอมล ท างานคลายกบการ Search ค าทเปน Keyword แตเราสามารถ

ปรบแตงให แสดงแตผลลพธทตองการได หากผใชตองการคนหาค าวา Subject ในการทดสอบนจะ

แสดงผลดงภาพ 4.4

ภาพท 4.4 ภาพแสดงผลการคนหาในหนา Discover

Page 59: al NTT COMMUNICATIONS (THAILAND) CO., LTD

45

4.1.3 หนา Dev Tools

เปนหนาทใชในการ น าเขา ลบ แกไข ขอมล จากภาพท 4.5 ใชค าสง GET เพอดงขอมลจาก

จาก filter _search ทงหมด

ภาพท 4.5 ภาพแสดงหนาตาของหนา Dev Tools

4.2 ผลการวเคราะหขอมล 4.2.1 วเคราะหผลของการท าโครงงาน

จากการทดสอบการท างานของระบบวเคราะห Log การใชงานสามารถใชงานไดตามทควร

จะเปน สามารถใชงานโปรแกรม Kibana ใน Function พนฐานทจ าเปนได

โดยจะขอแจกแจงรายละเอยดดงน

1) หนา Discover หลงจากมการก าหนดโครงสรางขอมลแลว สามารถคนหาขอมลจาก

Keywordได

2) หนา Visualization สามารถใชงานเครองมอการท า Visualization จากขอมลทมอยได

3) หนา Dashboard สามารถเลอกน า Visualization ทตงคาไวมาแสดงได

4) หนา Dev Tools สามารถคนหา น าเขา ลบ แกไข ขอมลผานหนา Dev Tools ได

จากผลลพธดงกลาว ท าใหขอมล Log ทน ามาทดสอบนน ถกน ามาใชประโยชนตามทตองการได

Page 60: al NTT COMMUNICATIONS (THAILAND) CO., LTD

บทท 5

บทสรปและขอเสนอแนะ

5.1 สรปผลการด าเนนโครงงาน จากการด าเนนโครงงาน ใชระยะเวลาทงหมด 6 สปดาห ในการศกษาคนควาขอมลท

เกยวของรวมไปถงวธการตงคาและใชงานโปรแกรม หลงจากเสรจสนการคนควา จงเรมออกแบบ

Diagram ทมคณสมบตเหมาะสมในการใหบรการจรง คอ มขนาดหนวยความจะและหนวยการ

ประมวลผลสมพนธกบความจ าเปน เพอใหเหมาะสมกบคาใชจายและงบประมาณ และมความ

มนคงของระบบ กอนการทดสอบ จ าเปนตองน าขอมลLogทเปนตวอกษรมาวเคราะหโครงสราง

และรายละเอยดทม เพอน ามาก าหนดชอและประเภทของขอมลแตละวรรคใน Log แลวจงเรมการ

ทดสอบโดยการตดตงระบบ โปรแกรมและน าเขาขอมลLogในโปรแกรม แลวจงใชงานโปรแกรม

ไดผลตามวตถประสงคและจดมงหมายทคาดหวงไว

5.2 แนวทางการแกไขปญหา จากการด าเนนโครงงานพบปญหาตาง ๆ ดงน

1) ปญหาในการตดตอประสานงานระหวางฝายงานตาง ๆ

ปญหานมสาเหตจาก บรษทเปนบรษทขนาดใหญ ในการท างานนนใน1งาน

ไมไดมเพยงแผนกเดยวทดแลงาน ในการตดตอขอใชงานหรอขอขอมลตาง ๆ มความจ าเปนตองนด

หมายลวงหนา แนวทางการแกไขปญหานคอ ควรเตรยมขอมลสงทตองการในการตดตอ

ประสานงานใหเรยบรอยเพอใหสามารถจดการไดในจ านวนนอยครงทรอ เพอความรวดเรว

2) ปญหาทรพยากรระบบไมเพยงพอ

ปญหานมสาเหตเกดจาก ขนาดของพนทใน Sever ไมเพยงพอตอการน ามาใชงาน

ในระบบทตองใชขอมลขนาดใหญ ท าใหตองรอจนกวาจะม Server ทพรอมใชงาน แนวทางการ

แกไขส าหรบปญหานคอการทดสอบในระบบทใชขอมลไมมากนกเหมาะสมกบทรพยากรทม

Page 61: al NTT COMMUNICATIONS (THAILAND) CO., LTD

47

3) ปญหาในการก าหนดคาโครงสรางของขอมล Log

สาเหตของปญหาน เกดจาก ขอมล Log ทตางทมาหรอตางประเภทกนนน ม

โครงสรางทแตกตางกน ในการน าเขาขอมลล Log เขาโปรแกรมวเคราะหขอมลนน หากตองการ

ความละเอยดของผลลพธ จะตองใชเวลาในการศกษาและก าหนดโครงสรางนาน แนวทางการแกไข

ส าหรบปญหานคอ คนหาขอมลโครงสราง Log ชนดตางๆเพมเตมใน internet และตองทราบ

จดมงหมายวาจะน าขอมลอะไรในขอมล Log ไปวเคราะหบาง

5.3 ขอเสนอแนะจากการด าเนนงาน 1) ควรพฒนาใหระบบเปนระบบใหญทสามารถเขาถงไดจากหลายลกคา (Multi-Tenant)

เพอลดคาใชจายและเวลาในการตดตงระบบตอ 1 ลกคา

2) ท า Interface ครอบใหเปน Brand ของ NTT

3) ก าหนดการตงคา Visualization พนฐาน เชน บอกไดวา Private IP ใดบางทออกส

Internet บอย หรอใชปรมาณ Internet มาก

Page 62: al NTT COMMUNICATIONS (THAILAND) CO., LTD

48

เอกสารอางอง

1. Big Data Technology[Online], Available : https://goo.gl/YjWdXK [2017, June 02 ]. 2. Big Data Analytics[Online], Available : [2015, September 27]. 3. High Availability[Online], Available : https://goo/gl/uoF6rU [2017, June 02]. 4. NoSQL[Online], Available : https://goo.gl/EvcBFD [2017, June 05]. 5. REST (Representational State Transfer)[Online], Available : https://goo/gl/sdBCcu

[2017, June 06]. 6. Java Virtual Machine[Online], Available : https://goo.gl/YpUaA6 [2017, June 07]. 6. โปรแกรมElasticSearch[Online], Available : https://goo.gl/vAwnZR [2017, June 12]. 7. โปรแกรม Logstash[Online], Available : https://goo.gl/YMCT5d [2017, June 15]. 8. โปรแกรม Kibana[Online], Available : https://goo.gl/zxHHxw [2017, June 07]. 9. โปรแกรม Kibana5[Online], Available : https://goo.gl/yyFqJU [2017, June 07]. 10. Virtual Machines[Online], Available : https://goo/gl/m9DG28 [2017, June 05]. 11. การท าGrok-pattern Logstash[Online], Available : https://goo.gl/dzlJfC

[2017, July 07].

Page 63: al NTT COMMUNICATIONS (THAILAND) CO., LTD

ภาคผนวก

Page 64: al NTT COMMUNICATIONS (THAILAND) CO., LTD

ภาคผนวก ก รายงานการปฏบตงานประจ าสปดาห (Weekly Report)

Page 65: al NTT COMMUNICATIONS (THAILAND) CO., LTD

59

ประวตผจดท าโครงงาน ชอ – สกล นางสาวจฑาทพย วรพงศอาภรณ

วน เดอน ปเกด 21 กนยายน 2538

ประวตการศกษา ระดบประถมศกษา ประถมศกษาตอนปลาย พ.ศ. 2550

โรงเรยนอนบาลพบลเวศม ระดบมธยมศกษา มธยม มธยมศกษาตอนปลาย พ.ศ. 2556

โรงเรยนสาธตมหาวทยาลยรามค าแหง ระดบอดมศกษา คณะเทคโนโลยสารสนเทศ สาขาเทคโนโลยสารสนเทศ พ.ศ. 2560

สถาบนเทคโนโลยไทย – ญปน ทนการศกษา - ไมม - ประวตการฝกอบรม - ไมม - ผลงานทไดรบการตพมพ - ไมม -