Docker & DevOps Fundamentals · บทเรียน

โซลูชันการเก็บบันทึกแบบรวมศูนย์

ตั้งค่าระบบเก็บบันทึกแบบรวมศูนย์ เช่น พื้นฐานสแตก ELK เพื่อรวบรวมและวิเคราะห์บันทึกของคอนเทนเนอร์

บทเรียน 2 จาก 411 ขั้นตอน

โซลูชันการเก็บบันทึกแบบรวมศูนย์ เป็นบทเรียน Docker & DevOps Fundamentals ฟรีบน CoddyKit นี่คือบทเรียนที่ 2 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน Docker & DevOps Fundamentals และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส Docker & DevOps Fundamentals มีบทเรียนทั้งหมด 4 บทเรียน

เหตุใดจึงควรรวมบันทึกข้อมูลไว้ที่ศูนย์กลาง

ลองนึกภาพว่าคุณมีคอนเทนเนอร์จำนวนมาก ซึ่งแต่ละรายการสร้างบันทึกข้อมูลขึ้นมา หากข้อผิดพลาดกระจายอยู่ในไฟล์บันทึกหลายร้อยไฟล์ คุณจะค้นหาข้อผิดพลาดนั้นได้อย่างไร

  • บันทึกข้อมูลกระจัดกระจาย: บันทึกข้อมูลอยู่บนเซิร์ฟเวอร์หรือคอนเทนเนอร์คนละแห่ง ทำให้ค้นหาได้ยาก
  • ไม่มีข้อมูลเชิงลึกแบบเรียลไทม์: คุณไม่สามารถมองเห็นรูปแบบหรือปัญหาที่กำลังเกิดขึ้นได้โดยง่าย
  • วิเคราะห์ได้ยาก: การไล่ตรวจบันทึกข้อมูลด้วยตนเองใช้เวลานานและมีโอกาสเกิดข้อผิดพลาด

การบันทึกข้อมูลแบบรวมศูนย์จึงเข้ามาช่วยในส่วนนี้

โซลูชันการเก็บบันทึกแบบรวมศูนย์ — ภาพประกอบ 1

การบันทึกข้อมูลแบบรวมศูนย์คืออะไร

การบันทึกข้อมูลแบบรวมศูนย์คือแนวทางการรวบรวมบันทึกข้อมูลจากแอปพลิเคชันและโครงสร้างพื้นฐานทั้งหมดมาไว้ในตำแหน่งศูนย์กลางแห่งเดียว

ลองนึกภาพว่าที่นี่เป็นหอควบคุมสำหรับข้อความทั้งหมดจากระบบของคุณ แทนที่จะต้องดูบันทึกข้อมูลของคอนเทนเนอร์แต่ละรายการ คุณจะมีแพลตฟอร์มเดียวสำหรับ:

  • รวบรวม: นำบันทึกข้อมูลทั้งหมดมารวมไว้ด้วยกัน
  • จัดเก็บ: เก็บบันทึกข้อมูลไว้ในฐานข้อมูลที่เป็นระเบียบและค้นหาได้
  • วิเคราะห์: ค้นหา กรอง และแสดงภาพข้อมูลบันทึกเพื่อค้นหาข้อมูลเชิงลึก

วิธีนี้ช่วยให้การแก้ไขปัญหาเร็วขึ้นและมีประสิทธิภาพมากขึ้น

ส่วนประกอบสำคัญของระบบ

โดยทั่วไประบบการบันทึกข้อมูลแบบรวมศูนย์ประกอบด้วยส่วนสำคัญหลายส่วนที่ทำงานร่วมกัน:

  • ตัวรวบรวมบันทึกข้อมูล: โปรแกรมขนาดเล็กที่ทำงานบนเซิร์ฟเวอร์หรือคอนเทนเนอร์แต่ละแห่งเพื่อรวบรวมบันทึกข้อมูล
  • ตัวรวมบันทึกข้อมูล: บริการที่รับบันทึกข้อมูลจากตัวรวบรวม ประมวลผล แล้วส่งไปจัดเก็บ
  • พื้นที่จัดเก็บบันทึกข้อมูล: ฐานข้อมูลที่ปรับให้เหมาะกับการจัดเก็บและค้นหาข้อมูลบันทึกปริมาณมาก
  • เครื่องมือแสดงภาพข้อมูล: แผงควบคุมและส่วนติดต่อสำหรับสำรวจ ค้นหา และแสดงภาพบันทึกข้อมูล

ส่วนประกอบเหล่านี้ช่วยให้บันทึกข้อมูลไหลจากแหล่งที่มาไปสู่การวิเคราะห์ได้อย่างราบรื่น

แนะนำ ELK Stack

ELK Stack คือชุดเครื่องมือโอเพนซอร์สยอดนิยมสำหรับการบันทึกข้อมูลแบบรวมศูนย์ ELK ย่อมาจาก:

  • Elasticsearch: เครื่องมือค้นหาและวิเคราะห์ข้อมูล
  • Logstash: กระบวนการส่งผ่านและประมวลผลข้อมูล
  • Kibana: แผงควบคุมสำหรับแสดงภาพข้อมูล

เมื่อนำมาทำงานร่วมกัน เครื่องมือเหล่านี้จะเป็นโซลูชันที่ทรงพลังสำหรับรวบรวม จัดเก็บ และวิเคราะห์บันทึกข้อมูลจากแอปพลิเคชันและโครงสร้างพื้นฐานของคุณ

Elasticsearch: แหล่งจัดเก็บข้อมูล

Elasticsearch เป็นหัวใจของ ELK Stack ในด้านการจัดเก็บและค้นหาข้อมูล โดยเป็นเครื่องมือค้นหาข้อความแบบเต็มรูปแบบที่กระจายการทำงานและขยายขนาดได้สูง

เครื่องมือนี้นำบันทึกข้อมูลที่ผ่านการประมวลผลแล้วมาจัดเก็บในรูปแบบที่ช่วยให้ค้นหาและวิเคราะห์ได้รวดเร็วอย่างมาก แม้จะมีข้อมูลในระดับเพตะไบต์

  • จัดเก็บบันทึกข้อมูลในเอกสาร JSON
  • มีความสามารถในการค้นหาที่ทรงพลัง
  • ขยายระบบในแนวนอนเพื่อรองรับชุดข้อมูลขนาดใหญ่

Logstash: ตัวส่งข้อมูล

Logstash ทำหน้าที่เป็นกระบวนการส่งผ่านและประมวลผลข้อมูล โดยรวบรวมข้อมูลจากแหล่งต่าง ๆ แปลงข้อมูล แล้วส่งไปยัง 'คลังข้อมูล' (โดยทั่วไปคือ Elasticsearch)

เครื่องมือนี้มีความยืดหยุ่นสูง และรองรับรูปแบบกับแหล่งที่มาของบันทึกข้อมูลได้หลากหลาย

  • ข้อมูลเข้า: รับบันทึกข้อมูล (เช่น จากไฟล์ เครือข่าย หรือตัวรวบรวม)
  • ตัวกรอง: แยกวิเคราะห์ แปลง และเพิ่มข้อมูลให้กับข้อมูลบันทึก
  • ข้อมูลออก: ส่งข้อมูลที่ประมวลผลแล้วไปยัง Elasticsearch หรือปลายทางอื่น

Kibana: เครื่องมือแสดงภาพข้อมูล

Kibana คือช่องทางสำหรับดูข้อมูลที่จัดเก็บใน Elasticsearch โดยเป็นเครื่องมืออันทรงพลังสำหรับแสดงภาพข้อมูลและสร้างแผงควบคุม

ด้วย Kibana คุณสามารถ:

  • ค้นหาและสำรวจ: สืบค้นข้อมูลบันทึกได้อย่างง่ายดาย
  • แสดงภาพข้อมูล: สร้างแผนภูมิ กราฟ และแผนที่จากบันทึกข้อมูล
  • แผงควบคุม: สร้างแผงควบคุมแบบโต้ตอบเพื่อตรวจสอบสุขภาพของระบบและพฤติกรรมของแอปพลิเคชันแบบเรียลไทม์

เครื่องมือนี้ช่วยเปลี่ยนข้อมูลดิบให้เป็นข้อมูลเชิงลึกที่นำไปใช้ได้

การสร้างบันทึกข้อมูลของคอนเทนเนอร์

ก่อนจะรวบรวมบันทึกข้อมูลได้ จะต้องมีการสร้างบันทึกข้อมูลขึ้นมาก่อน แอปพลิเคชันส่วนใหญ่ภายในคอนเทนเนอร์จะเขียนข้อมูลออกไปยัง stdout (เอาต์พุตมาตรฐาน) หรือ stderr (ข้อผิดพลาดมาตรฐาน)

Docker จะบันทึกกระแสข้อมูลเหล่านี้เป็นบันทึกข้อมูลของคอนเทนเนอร์ ลองเรียกใช้คำสั่งง่าย ๆ นี้เพื่อดูคอนเทนเนอร์สร้างข้อมูลออกมา:

docker run --rm alpine/git ls -l /

ลำดับการไหลของบันทึกข้อมูลด้วย ELK ในเชิงแนวคิด

ต่อไปนี้คือลำดับการไหลของบันทึกข้อมูลในระบบ ELK แบบย่อ:

  1. แอปพลิเคชันภายในคอนเทนเนอร์ Docker เขียนบันทึกข้อมูลไปยัง stdout
  2. ตัวรวบรวมบันทึกข้อมูล (เช่น Filebeat ซึ่งมักใช้ร่วมกับ ELK) รวบรวมบันทึกข้อมูลเหล่านี้
  3. ตัวรวบรวมส่งบันทึกข้อมูลไปยัง Logstash เพื่อประมวลผล
  4. Logstash แยกวิเคราะห์และแปลงบันทึกข้อมูล
  5. ส่งบันทึกข้อมูลที่ประมวลผลแล้วไปยัง Elasticsearch เพื่อจัดเก็บ
  6. Kibana เชื่อมต่อกับ Elasticsearch เพื่อแสดงภาพและค้นหาบันทึกข้อมูล

กระบวนการนี้สร้างเส้นทางที่ชัดเจนสำหรับบันทึกข้อมูลทั้งหมดจากคอนเทนเนอร์ของคุณ

ตรวจสอบความเข้าใจอย่างรวดเร็ว: บทบาทของ ELK

ข้อใดต่อไปนี้อธิบายบทบาทของส่วนประกอบต่าง ๆ ใน ELK Stack ได้ถูกต้อง

ทบทวน: การบันทึกข้อมูลแบบรวมศูนย์

ทำได้ดีมาก คุณได้เรียนรู้พื้นฐานของการบันทึกข้อมูลแบบรวมศูนย์และ ELK Stack แล้ว

  • การบันทึกข้อมูลแบบรวมศูนย์รวบรวมบันทึกข้อมูลจากหลายแหล่งไว้ในที่เดียว
  • ช่วยให้แก้ไขปัญหาได้เร็วขึ้นและได้รับข้อมูลเชิงลึกที่ดีขึ้น
  • ELK Stack (Elasticsearch, Logstash, Kibana) เป็นโซลูชันยอดนิยม
  • Elasticsearch จัดเก็บและทำดัชนีบันทึกข้อมูล
  • Logstash ประมวลผลและแปลงบันทึกข้อมูล
  • Kibana แสดงภาพและสำรวจบันทึกข้อมูล

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

เริ่มต้นได้ฟรี

เรียนรู้ Docker & DevOps Fundamentals ด้วย AI tutor — ฟรี

เขียนและเรียกใช้โค้ดจริงในเบราว์เซอร์ของคุณ รับความช่วยเหลือทันทีจาก AI tutor 24/7 และเรียนรู้ต่อจากที่คุณหยุดบนเว็บหรือในแอป

คอร์ส
12
บทเรียน
48

คำถามที่พบบ่อย

บทเรียน “โซลูชันการเก็บบันทึกแบบรวมศูนย์” ฟรีหรือไม่

ใช่ — ข้อความเต็มของ “โซลูชันการเก็บบันทึกแบบรวมศูนย์” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส Docker & DevOps Fundamentals ให้อัปเกรดเป็น CoddyKit PRO คอร์ส Docker & DevOps Fundamentals มีบทเรียนทั้งหมด 4 บทเรียน

คุณจะเรียนรู้อะไรในบทเรียน “โซลูชันการเก็บบันทึกแบบรวมศูนย์”

ตั้งค่าระบบเก็บบันทึกแบบรวมศูนย์ เช่น พื้นฐานสแตก ELK เพื่อรวบรวมและวิเคราะห์บันทึกของคอนเทนเนอร์ คุณปฏิบัติ Docker & DevOps Fundamentals ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน

คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน Docker & DevOps Fundamentals หรือไม่

ไม่จำเป็นต้องมีประสบการณ์มาก่อน Docker & DevOps Fundamentals บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 2 จากทั้งหมด 4 บทเรียน

บทเรียน “โซลูชันการเก็บบันทึกแบบรวมศูนย์” ใช้เวลานานแค่ไหน

บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย

ฉันเขียนและรันโค้ดในบทเรียน Docker & DevOps Fundamentals นี้ได้ไหม

ได้ บทเรียน Docker & DevOps Fundamentals ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ

บทเรียนทั้งหมดในหลักสูตรนี้

  1. บทนำสู่การตรวจสอบระบบ
  2. โซลูชันการเก็บบันทึกแบบรวมศูนย์
  3. การแจ้งเตือนและการตอบสนองต่อเหตุการณ์
  4. เมทริกซ์ แดชบอร์ด และ SLI/SLO
← กลับไปที่ Docker & DevOps Fundamentals