No Comments

สร้างสภาพแวดล้อมแบบเรียลไทม์เพื่อเฝ้าติดตามไฟล์ล็อกของคอนเทนเนอร์โดยใช้ Global ELK

Ayandeep Das | Technical Specialist - ETL, Ashnik
Mumbai, 19 Feb 2020
Ayan-FImg

by , , No Comments

19-Feb-2020

ทีมงานด้านเทคนิคของ Ashnik ออกแบบโซลูชันต่างๆ ที่สามารถนำไปใช้เพื่อแก้ปัญหาหลากหลายประเภทที่ธุรกิจต้องพบเจอ หนึ่งในโซลูชันที่น่าสนใจดังกล่าวซึ่งเราพัฒนาขึ้นให้มีความสามารถปรับขนาดตามการใช้งานได้ นั่นคือโซลูชันสำหรับเฝ้าติดตามไฟล์ล็อกของคอนเทนเนอร์แบบเรียลไทม์โดยใช้สแต็ก Global ELK ภายนอกคอนเทนเนอร์ Openshift แทนการใช้ EFK ภายในคอนเทนเนอร์ต่างๆ เพื่อแก้ปัญหาดังกล่าว และเราได้พัฒนาโซลูชันนี้ขึ้นเพื่อใช้เป็นสูตรสำเร็จสำหรับแก้ปัญหาที่คล้ายคลึงกันซึ่งเกิดขึ้นในสภาพแวดล้อมแบบต่างๆ ของลูกค้าแต่ละราย

ความคับข้องใจที่สำคัญประการหนึ่งซึ่งเรามักได้ยินอยู่บ่อยครั้งคือลูกค้าไม่สามารถเก็บรวบรวมไฟล์ล็อกจากทุกศูนย์ข้อมูลมาไว้รวมกันได้ และโดยส่วนมากแล้ว ศูนย์ข้อมูลแต่ละแห่งก็จะมีคอนเทนเนอร์แตกต่างกัน และมีการติดตั้ง EFK (Elasticsearch, Fluentd, Kibana) แยกต่างหากเป็น Daemon Set ทำงานอยู่ในแต่ละคอนเทนเนอร์ ในกรณีเช่นนี้ สิ่งที่เกิดขึ้นก็คือมี EFK หลายชุดติดตั้งอยู่ในศูนย์ข้อมูลต่างๆ ซึ่งเป็นการสิ้นเปลืองต้นทุนอย่างมาก แต่ก็ยังไม่สามารถดูไฟล์ล็อกของคอนเทนเนอร์ทั้งหมดจากศูนย์กลางได้อยู่ดี ยิ่งไปกว่านั้น เนื่องจากฟีเจอร์ในการกรองของ Fluentd มีข้อจำกัด จึงอาจทำให้ไม่สามารถบันทึกรายละเอียดที่สำคัญทั้งหมดไว้ได้

ข้อดีของโซลูชันนี้

เราขจัดการพึ่งพา ELK บนแพลตฟอร์มคอนเทนเนอร์ออกไป โดยทำหน้าที่เป็นแพลตฟอร์ม Global ELK ซึ่งจะ ingest ข้อมูลจากศูนย์ข้อมูลหลายแห่งและคอนเทนเนอร์หลายรายการมาไว้รวมกันในแพลตฟอร์ม ELK แบบรวมศูนย์

ดังนั้นจึงมีต้นทุนน้อยมากและลดความจำเป็นในการบำรุงรักษาโครงสร้างพื้นฐานลง เนื่องจากใช้แพลตฟอร์ม ELK เพียงแพลตฟอร์มเดียวแทนที่จะใช้ EFK แยกกันในแต่ละคอนเทนเนอร์

การใช้ Logstash ทำให้ฟีเจอร์นี้สามารถใช้ปลั๊กอินตัวกรองได้มากกว่า 200 รายการ ซึ่งจะให้ข้อมูลเชิงลึกมากมายเกี่ยวกับธุรกิจในไฟล์ล็อกที่สร้างขึ้น และทำได้อย่างง่ายดายด้วย

สถาปัตยกรรมในรูปแบบนี้สามารถปรับขนาดตามการใช้งานได้ง่ายและมีภูมิคุ้มกันต่อข้อผิดพลาด อีกทั้งสามารถจัดการได้จากส่วนกลางโดยไม่ต้องไปวุ่นวายกับคอนเทนเนอร์เลย

ป้องกันคอนเทนเนอร์รีสตาร์ทบ่อยครั้งเมื่อมีการแก้ไขข้อมูลต้นทาง

ระบบต้นทางคือคอนเทนเนอร์มีภาระน้อยมาก เพราะ Filebeat หรือ Metricbeat เป็นตัวจัดส่งข้อมูล (Data Shipper) ที่ใช้ทรัพยากรน้อยเมื่อเทียบกับ Fluentd

แพลตฟอร์มนี้สามารถใช้เป็บเซอร์วิสทุกครั้งที่มีการเพิ่มคอนเทนเนอร์ใหม่

โซลูชันที่เราพัฒนา

Ashnik ยังคงสร้างสรรค์นวัตกรรมการแก้ไขปัญหามาอย่างต่อเนื่อง โดยสั่งสมความรู้ความเชี่ยวชาญระดับองค์กรและการร่วมงานกับหลากหลายอุตสาหกรรมมากว่า 10 ปี หลังจากรับรู้ความคับข้องใจและอุปสรรคบางอย่างที่ลูกค้าต้องประสบในปัจจุบัน เราจึงได้พัฒนา ‘โซลูชันที่ใช้ ELK ภายนอกแพลตฟอร์มคอนเทนเนอร์ Openshift’ นี้ขึ้นมา ซึ่งเป็นโซลูชันที่สามารถปรับขนาดตามการใช้งานได้เป็นอย่างดี มีภูมิคุ้มกันต่อข้อผิดพลาด และมีประสิทธิภาพสูง หากคุณคือผู้หนึ่งที่กำลังเผชิญปัญหานี้ เรายินดีให้คำปรึกษา สำหรับบทความนี้ เราขออธิบายการทำงานของโซลูชันดังนี้

สมมติว่าคุณใช้คอนเทนเนอร์ Openshift เวอร์ชัน 3xx คุณติดตั้ง Filebeat ที่ระดับโหนดซึ่งมีไฟล์ล็อกของคอนเทนเนอร์อยู่ Filebeat ติดตั้งโดยใช้ rpm และทำงานเป็นเซอร์วิส

โปรดทราบว่าในระบบนี้ เราจะต้องกำหนด IP สาธารณะให้กับคอนเทนเนอร์ต่างๆ ซึ่งจะใช้ไม่ได้ใน Openshift เวอร์ชัน 4xx ขึ้นไป

Filebeat จะอ่านไฟล์ล็อกของคอนเทนเนอร์และจะใส่เมตาดาต้าให้กับคอนเทนเนอร์ไปพร้อมกันแบบเรียลไทม์

สร้างสภาพแวดล้อมแบบเรียลไทม์เพื่อเฝ้าติดตามไฟล์ล็อกของคอนเทนเนอร์โดยใช้ ELK ส่วนกลาง

Logstash, Elasticsearch และ Kibana จะติดตั้งอยู่ภายนอก Openshift และจะทำงานเป็นเซอร์วิสพร้อมกับรับไฟล์ล็อกที่ส่งมาจาก Filebeat

เราจะใช้ Logstash เพื่อกรองไฟล์ล็อกและเพื่อให้ข้อมูลเชิงลึกยิ่งขึ้นเกี่ยวกับไฟล์ล็อกที่รับเข้ามา จากนั้นจะ ingest ไปยัง Elasticsearch

Elasticsearch จะติดตั้งใน 3 โหนดเป็นอย่างน้อย คุณสามารถเพิ่มจำนวนโหนดตามปริมาณข้อมูลที่ได้รับจาก Filebeat และยังสามารถใช้สถาปัตกรรม hot and warm ได้ ในที่นี้ เราปรับใช้และกำหนดค่า Elasticsearch แบบ 3 โหนด

คุณสามารถสร้างแดชบอร์ดขึ้นใน Kibana ได้เพื่อแสดงกราฟิกของข้อมูลเชิงลึกที่เพิ่มเข้ามาควบคู่กับเมตาดาต้าเริ่มต้นของคอนเทนเนอร์

บทสรุป

สถาปัตยกรรม ELK สามารถนำไปใช้ได้ในทุกสภาพแวดล้อมที่มีความจำเป็นต้องเฝ้าติดตามข้อมูลในแบบเรียลไทม์ ไม่ว่าจะเป็นไฟล์ล็อกหรือข้อมูลเซ็นเซอร์ก็ตาม ELK และฟีเจอร์ในการเฝ้าติดตามจะให้ข้อมูลเชิงลึกแก่ธุรกิจ และยังมีฟีเจอร์ขั้นสูงต่างๆ เกี่ยวกับแดชบอร์ดซึ่งมีจุดแข็งที่ไม่มีระบบอื่นเทียบได้

หากคุณใช้ Elasticsearch ในแพลตฟอร์มแบบคอนเทนเนอร์แต่ไม่มีประสิทธิภาพเพียงพอ คุณจะขาดความสามารถในการปรับขนาดตามการใช้งานและภูมิคุ้มกันต่อข้อผิดพลาด นี่คือจุดที่ทีม Ashnik สามารถใช้ความรู้ความเชี่ยวชลาญในการปรับใช้ ELK แบบส่วนกลางและรวมศูนย์ เพื่อให้มั่นใจว่าสถาปัตยกรรมที่คุณใช้งานจะปรับขนาดตามการใช้งานได้อย่างดีและทนต่อข้อผิดพลาดโดยมีค่าใช้จ่ายน้อยที่สุด

ดังเช่นที่องค์กรทุกแห่งและลูกค้าทุกคนต่างกล่าวไว้ว่า เราสามารถนำเทคโนโลยีไปใช้ได้ง่ายๆ ในสภาพแวดล้อมแบบใดก็ได้ แต่จะต้องใช้ให้เกิดประโยชน์สูงสุดและถูกต้องมากที่สุดจึงจะมีโอกาสประสบความสำเร็จสูงที่สุด และสิ่งนี้นี่เองคือหัวใจสำคัญของผลิตภัณฑ์โซลูชันของ Ashnik ที่กำลังเติบโตไปทั่วทั้งเอเชียตะวันออกเฉียงใต้และอินเดีย หากคุณพบปัญหาในลักษณะเดียวกันนี้ กรุณาส่งข้อความสั้นๆ ถึงเราที่ success@ashnik.com และเราจะติดต่อกลับเพื่อช่วยแก้ปัญหาให้กับคุณ

 

Thai blog translated bynew-dData-Logo

 

0
0

  • Ayandeep is a Technical Specialist – ETL at Ashnik, Mumbai. He is instrumental in growing Ashnik’s business through his technical engagements and is a Subject Matter Expert in Pentaho & Big Data Solutions. He has over 8 years of experience in designing and developing solutions on technologies like Pentaho, ETL, Big Data, Oracle, PLSQL, Core Java, Spark, Kafka.

More From Ayandeep Das | Technical Specialist - ETL, Ashnik :
19-Feb-2020