2 คะแนน โดย GN⁺ 2024-03-25 | 1 ความคิดเห็น | แชร์ทาง WhatsApp

เครื่องมือภาวะวิกฤตบน Linux

  • ให้รายชื่อ "เครื่องมือภาวะวิกฤต" ที่ควรติดตั้งไว้เป็นค่าเริ่มต้นบนเซิร์ฟเวอร์ Linux พร้อมชื่อแพ็กเกจ (Ubuntu) ที่มีเครื่องมือเหล่านั้น
  • ครอบคลุมเครื่องมือสำหรับสถิติพื้นฐาน, system log, ข้อมูลอุปกรณ์, สถิติอุปกรณ์, เครื่องมือเครือข่าย, สถิติ NUMA, network sniffer, profiler และสถิติ PMU เป็นต้น
  • bpfcc-tools (bcc) และ bpftrace มีเครื่องมือ eBPF ให้ใช้งาน โดย bcc มีความสามารถมากกว่า และ bpftrace สามารถแก้ไขได้แบบเรียลไทม์
  • แนะนำให้ติดตั้งเครื่องมือวิเคราะห์ตัวเร่งความเร็วเฉพาะทางหรือเครื่องมือดีบักบางอย่างไว้ล่วงหน้าตามประเภทของเซิร์ฟเวอร์
  • เครื่องมือวิเคราะห์ที่จำเป็นเหล่านี้ไม่ได้เปลี่ยนบ่อย จึงจำเป็นต้องอัปเดตเพียงไม่กี่ปีครั้ง

ความสำคัญของการติดตั้งเครื่องมือในช่วงวิกฤต

  • อธิบายพร้อมยกตัวอย่างถึงปัญหาที่อาจเกิดขึ้นเมื่อต้องติดตั้งซอฟต์แวร์ระหว่างสถานการณ์วิกฤตใน production
  • ระบบอาจช้าจนใช้เวลานานในการติดตั้งเครื่องมือที่ต้องการ และอาจติดปัญหาการตั้งค่าหรือ policy ด้านความปลอดภัยหลายอย่างจนติดตั้งได้ยาก
  • เพื่อให้วินิจฉัยและแก้ปัญหาได้อย่างรวดเร็วในภาวะวิกฤต จึงควรติดตั้งเครื่องมือรับมือไว้ล่วงหน้า

ความเห็นของ GN⁺

  • บทความนี้ให้ข้อมูลที่มีประโยชน์มากสำหรับผู้ดูแลระบบหรือ SRE (Site Reliability Engineer) โดยเน้นย้ำความสำคัญของการเตรียมพร้อมล่วงหน้าเพื่อให้สามารถใช้เครื่องมือที่จำเป็นได้ทันทีในสถานการณ์วิกฤตจริง
  • การติดตั้งเครื่องมือรับมือภาวะวิกฤตล่วงหน้าช่วยเพิ่มความพร้อมใช้งานและความยืดหยุ่นในการฟื้นตัวของระบบ และช่วยลด downtime ที่อาจเกิดขึ้นได้
  • อย่างไรก็ตาม การหาสมดุลระหว่างความปลอดภัยกับประสิทธิภาพเป็นสิ่งสำคัญ เช่น หากมีการติดตั้งเครื่องมือที่ไม่จำเป็นไว้ในระบบ ผู้โจมตีอาจนำไปใช้ในทางที่ผิดได้
  • Linux distribution อาจพิจารณารวมเครื่องมือรับมือภาวะวิกฤตมาให้โดยค่าเริ่มต้นสำหรับสภาพแวดล้อมองค์กร แต่ทั้งนี้ก็ขึ้นอยู่กับนโยบายความปลอดภัยและความต้องการของแต่ละองค์กร
  • ในชุมชนโอเพนซอร์สมีเครื่องมือด้าน monitoring และ performance analysis ที่หลากหลายอยู่แล้ว เช่น Prometheus และ Grafana ซึ่งถูกใช้อย่างแพร่หลายในการมอนิเตอร์ประสิทธิภาพระบบ การนำเครื่องมือเหล่านี้มาใช้ร่วมกับเครื่องมือรับมือภาวะวิกฤตจะช่วยให้การดูแลระบบมีประสิทธิภาพยิ่งขึ้น

1 ความคิดเห็น

 
GN⁺ 2024-03-25
ความเห็นจาก Hacker News
  • 4:07pm การติดตั้งแพ็กเกจล้มเหลว ไม่สามารถ resolve repository ได้ มีปัญหากับการตั้งค่า /etc/apt…

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

    • เครื่องมือจำนวนมากภายใน Docker image ถูกเครื่องมือสแกนความปลอดภัยระบุว่าเป็นปัจจัยเสี่ยง เครื่องมืออย่าง gdb เป็นสิ่งที่น่ากังวล แต่เครื่องมืออีกหลายอย่างไม่ใช่
    • เพื่อหลีกเลี่ยงปัญหานี้ บางคนเก็บเครื่องมือไว้เป็น static binary ใน volume แยก หรือใช้ mount path เป็น installation prefix เพื่อคอมไพล์และติดตั้ง เมื่อจำเป็นต้องดีบัก ทีมปฏิบัติการก็จะเมานต์ volume แบบอ่านอย่างเดียวชั่วคราว
  • หากมีเครื่องมือดีบักที่ต้องเปิดใช้ฟีเจอร์บางอย่างของเคอร์เนล ก็มีความกังวลเกี่ยวกับผลกระทบต่อคอนเทนเนอร์อื่นที่รันอยู่บนโฮสต์เดียวกัน

  • บนระบบ FreeBSD มีไดเรกทอรี /rescue/ ซึ่งมีไฟล์ไบนารีแบบ static link ขนาดราว 17MB เพียงไฟล์เดียว ที่รวมเครื่องมือสำคัญประมาณ 150 รายการไว้ด้วยกัน

  • ตอนทำงานที่ Netflix, Brendan และทีมของเขาติดตั้งเครื่องมือดีบักอย่าง bpftrace, bcc และ perf ที่ใช้งานได้จริงไว้ทั่วระบบ และสิ่งนี้ช่วยชีวิตไว้หลายครั้ง

  • แปลกใจที่ strace ไม่อยู่ในรายการ เป็นเครื่องมือที่มีประโยชน์มาก โดยเฉพาะเวลาที่โปรแกรมคืนข้อความผิดพลาดที่ใช้การไม่ได้หรือผิดจากความเป็นจริง

  • เวลาสัมภาษณ์ตำแหน่งสาย SRE มักจะพูดถึงเครื่องมือเหล่านี้เสมอ สิ่งสำคัญไม่ใช่คำสั่งเฉพาะที่ผู้สมัครจำได้ แต่คือรู้ว่าอะไรทำได้บ้าง มีเครื่องมือประเภทใดให้ใช้ และใช้อย่างไร

  • ในสถานการณ์ฉุกเฉินที่ติดตั้งเครื่องมือไม่ได้ สามารถรันยูทิลิตีจำนวนมากผ่าน Docker ได้ ตัวอย่างเช่น มีการเสนอวิธี build และรัน Docker container สำหรับ tcpdump โดยเชื่อมต่อกับ host network

  • แม้จะชอบ yum install มากกว่า แต่ถ้าใช้ Docker ได้ นี่ก็เป็นทางเลือกที่ใช้งานได้แม้จะต้องมีการแมปเพิ่มเติม ในการตั้งค่า rootless/podman อาจใช้ไม่ได้

  • ไม่มีการพูดถึง nmap, netstat, nc ทั้งที่เครื่องมือเหล่านี้ช่วยแก้ปัญหามาแล้วหลายครั้ง

  • ขอสิทธิ์ root ได้ไหม? ต้องเปิดตั๋วให้ผู้ดูแลระบบก่อนถึงจะทำอะไรได้สักอย่าง

  • อีกอย่างที่อยากเพิ่มคือ nmap ปัญหาการเชื่อมต่อเครือข่ายอาจไม่แสดงชัดเจนในบางแอป