คำสั่งแรก: มันตอบสนองหรือไม่
หากคุณไม่สามารถเข้าสู่ระบบได้จะมีปัญหาใหญ่กว่าเดิม โดยทั่วไปแล้วจะมีสองรสชาติ ได้แก่ ความล้มเหลวของฮาร์ดแวร์และความล้มเหลวของซอฟต์แวร์ ทั้งสองอย่างนี้อาจเป็นหายนะ เพื่อป้องกันข้อผิดพลาด DFA ให้ตรวจสอบสภาพฮาร์ดแวร์โดยทั่วไปก่อน - โดยทั่วไปการเหลือบมองอย่างง่ายจะเพียงพอ
คำสั่งที่สอง: โครงสร้างพื้นฐานของระบบมีสุขภาพที่ดีและเป็นระเบียบหรือไม่?
ตรวจสอบระบบ "Golden Triad" ของระบบ:
- เวลา CPU ที่เพียงพอนั้นเพียงพอสำหรับการประมวลผล
- มีพื้นที่ว่างในดิสก์เพียงพอสำหรับการจัดเก็บ
- หน่วยความจำเพียงพอสำหรับภาระงานฟรี
ในช่วงไม่กี่ทศวรรษที่ผ่านมากลุ่มที่สามได้ขยายไปสู่ "รูปสี่เหลี่ยม" ซึ่งรวมถึงการสื่อสาร (เครือข่าย):
- การเชื่อมต่อใช้งานได้ตอบสนองและมีความจุ
คำสั่งที่สาม: ความรุนแรงของปัญหาคืออะไร
โปรแกรมหรือบริการใดบ้างที่ได้รับผลกระทบ ในการลดลำดับความรุนแรงมันเป็นระบบ (ทั้งระบบ), คลัสเตอร์ (กลุ่มของโปรแกรม) หรือแยก (โปรแกรมเฉพาะ) หรือไม่? กลุ่มของโปรแกรมมักจะสะดุดเนื่องจากบริการพื้นฐานที่เฉพาะเจาะจงล้มเหลวหรือไม่ตอบสนอง บางครั้งปัญหาเกี่ยวกับระบบจะเกี่ยวข้องกับสิ่งนี้ (คิดว่า DNS หรือ IP ขัดแย้งกัน) แต่การรู้ว่าจะมองที่ไหนเป็นกุญแจสำคัญ
คำสั่งที่สี่: เครื่องมือวินิจฉัยให้ข้อมูลที่เป็นประโยชน์เกี่ยวข้องกับปัญหาหรือไม่
ตอนนี้คุณมีข้อมูลเกี่ยวกับความสมบูรณ์ของระบบ (ลำดับที่สอง) และส่วนใดของปัญหาที่พบ (ลำดับที่สาม) สิ่งนี้จะทำให้ง่ายต่อการแคบลงว่าปัญหาอยู่ที่ใด
ข้อความผิดพลาดหรือไฟล์บันทึกควรเป็นจุดอ้างอิงทั่วไปในการเดินทางครั้งนี้
ปัญหา CPU:
ปัญหาเนื้อที่ดิสก์ / IO:
- DF
- ดู่
- lsof
- iostat
- vmstat
ปัญหาหน่วยความจำ:
ปัญหาการเชื่อมต่อ:
- ปิง
- เส้นทาง (และ arp และ rarp และเพื่อน ๆ )
- iptables, ipchains, ipfw (สำหรับผู้ BSD เหล่านั้น)
- traceroute หรือ mtr
- โฮสต์, nslookup หรือขุด
- netstat
คำร้องเรียนที่พบบ่อยที่สุด (ที่ฉันได้ยิน):
อีเมลไม่ได้ส่งเร็วพอ (มากกว่าหนึ่งนาทีจากการส่งถึงผู้รับ) หรืออีเมลปฏิเสธการพยายามส่งของฉัน ซึ่งมักจะเกิดขึ้นกับตัว จำกัด อัตราใน Postfix ที่เริ่มขึ้นในระหว่างที่มีพายุสแปมซึ่งส่งผลกระทบต่อความสามารถในการรับการจัดส่งภายใน
ตัวอย่างชีวิตจริง:
อย่างไรก็ตามนี่ไม่ใช่กรณีเสมอไป ครั้งหนึ่งปัญหายังคงอยู่โดยไม่คำนึงถึงการรีสตาร์ทบริการ ดังนั้นหลังจาก 3 นาทีก็ถึงเวลาที่จะเริ่มมองไปรอบ ๆ CPU ไม่ว่าง แต่ต่ำกว่า 100% แต่โหลดเพิ่มขึ้นถึง 15 ในกล่องที่มีเพียง 2 คอร์และกำลังขู่ว่าจะสูงขึ้น คำสั่งด้านบนเปิดเผยว่าระบบอีเมลนั้นอยู่ในพิกัดพิกัดเกินพิกัดพร้อมกับเครื่องสแกนจดหมาย แต่ไม่มีกระบวนการลูก amavis ที่จะเห็น นั่นคือเบาะแส - คำสั่ง mail queue (mailq) แสดงข้อความที่ไม่ได้ส่ง 150+ ข้อความมากกว่า 80% เป็นสแปมใน 20 นาทีสุดท้าย การปรับอย่างรวดเร็วเพื่อลดตัว จำกัด อัตรา (ซึ่งช่วยลดอัตราการบริโภคของสแปมพายุ) ในขณะที่เพิ่มจำนวนกระบวนการสแกนอีเมลเด็ก (เพื่อช่วยในการประมวลผลงานค้าง) ตามด้วยการเริ่มบริการใหม่แก้ไขปัญหาและระบบสามารถ เพื่อให้การส่งมอบเสร็จสมบูรณ์ในเวลาอันสั้น
สาเหตุของปัญหาคือกระบวนการพ่อแม่ amavis ล้มลงตายและในที่สุดกระบวนการลูกก็วิ่งไปตามเส้นทางของพวกเขา (ในที่สุดพวกเขาก็จบลงด้วยตนเองหลังจากการสแกนจำนวนมากเพื่อป้องกันการรั่วไหลของหน่วยความจำ) ดังนั้นจึงมีกระบวนการ SMTP ใน postfix พยายามติดต่อ ... thin air ... เพื่อทำการสแกนสแปม / ไวรัสที่จำเป็น ดิสทริบิวชั่นที่ฉันใช้มีแพ็คเกจที่ล้าสมัยซึ่งจะไม่มีการอัพเดท เนื่องจากการติดตั้งนั้นจะถูกแทนที่ในหนึ่งปีหรือมากกว่านั้นฉัน "overrode" การติดตั้งเป็นเวอร์ชั่นล่าสุดด้วยตนเองซึ่งรวมถึงการแก้ไขข้อบกพร่องต่าง ๆ ฉันไม่ได้มีปัญหาเดียวกันตั้งแต่