| Feb 19, 2020

< 1 MIN READ

Written by Ashnik Team
ELK

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

ทีมงานด้านเทคนิคของ 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


Go to Top