Score:1

จะวินิจฉัยแอปพลิเคชันเซิร์ฟเวอร์ Java ที่กำลังจะตายอย่างเงียบๆ ได้อย่างไร

ธง cn

เราเรียกใช้คลัสเตอร์ของแอปเซิร์ฟเวอร์ Java Spring บนอินสแตนซ์ AWS EC2 ที่เรียกใช้ Centos 7 เรามีการตรวจสอบสถานภาพในแอปเหล่านั้น และในบางครั้งเสียงเตือนจะดังขึ้น และเราจะพบว่ากระบวนการ Java ได้หายไปอย่างเงียบๆ เราไม่พบสิ่งใดเลยในบันทึกใดๆ...ทั้งบันทึกของเราเองหรือบันทึกของระบบเรามี "catch Throwable" ภายนอกรอบโค้ดของเราที่บันทึกสิ่งที่จับได้ แต่เราเรียกใช้ Tomcat ซึ่งมีเธรดของตัวเอง เราได้เพิ่มการบันทึกเพิ่มเติมเพื่อพยายามบันทึกช่วงเวลาที่มันหายไป แต่จนถึงขณะนี้ยังไม่มีข้อมูลใดๆ

ฉันได้ตรวจสอบคำถามนี้แล้ว: จะทราบได้อย่างไรว่าเหตุใดกระบวนการ Java จึงเสียชีวิตโดยไร้ร่องรอยใน Linux ฉันไม่เห็นอะไรที่เป็นประโยชน์ที่นั่น

ขณะนี้เราไม่สามารถรวม Launcher ของกระบวนการเหล่านี้ในโซลูชันได้ เรื่องมันยาว. เชื่อฉันเถอะว่าเราได้พยายามไปตามเส้นทางนั้นแล้ว

ข้อเสนอแนะใด ๆ ฉันสงสัยว่าฉันควรรวมกระบวนการ Java ไว้ในกระบวนการพาเรนต์ภายนอกที่ตรวจสอบและบันทึกสัญญาณทั้งหมดจากกระบวนการย่อย Java อย่างระมัดระวังหรือไม่ ฉันสงสัยว่ามีวิธีแก้ปัญหาแบบสำเร็จรูปที่ฉันยังไม่พบหรือไม่ ความคิดใด ๆ ที่จะได้รับการชื่นชมอย่างมาก.

Michael Hampton avatar
cz flag
คุณเริ่มแอพเหล่านี้ได้อย่างไร?
CryptoFool avatar
cn flag
เรากำลังใช้ Chef Habitat แต่เรากำลังเปลี่ยนไปใช้อย่างอื่น และเราไม่ต้องการแตะต้องการตั้งค่าของมัน การจัดการกระบวนการแย่มากแม้ว่าจะเสนอให้ปิดการใช้งานคุณสมบัติการจัดการกระบวนการทั้งหมด ฉันไม่อยากไปที่นั่น ฉันสามารถหยุดเซิร์ฟเวอร์ที่ทำงานอย่างเป็นทางการแล้วเรียกใช้เวอร์ชันของฉันเองด้วยตนเองหรือผ่านตัวจัดการกระบวนการอื่นหากจำเป็น ฉันไม่รู้ว่าการตั้งค่าดังกล่าวจะแสดงปัญหาเดียวกันหรือไม่ ถ้าไม่ อย่างน้อยเราก็สงสัย Habitat มากขึ้น
CryptoFool avatar
cn flag
ฉันได้พิจารณาดูว่า systemd สามารถทำอะไรให้ฉันได้บ้าง เมื่อมองแวบแรก ดูเหมือนจะซับซ้อนและไม่จำเป็นต้องเป็นประโยชน์เสมอไป ฉันรู้ว่ามีผู้จัดการกระบวนการคนอื่นๆ อยู่ที่นั่น ฉันหวังว่าจะพบสิ่งที่มีความหมายสำหรับการดีบักและ/หรือการแก้ไขปัญหาสถานการณ์เช่นฉัน ฉันเป็นโปรแกรมเมอร์ ไม่ใช่ผู้ดูแลระบบ ดังนั้นฉันยังบริสุทธิ์สำหรับเรื่องทั้งหมดนี้
Michael Hampton avatar
cz flag
https://docs.spring.io/spring-boot/docs/current/reference/html/deployment.html#deployment.installing.nix-services.system-d
CryptoFool avatar
cn flag
@MichaelHampton - ขอบคุณ แต่คำถามของฉันไม่ใช่วิธีติดตั้งบริการภายใต้ systemd ฉันรู้ว่าต้องทำอย่างไร คำถามคือหากปล่อยให้ systemd จัดการตลอดอายุการใช้งานของแอพ/บริการของฉัน มันสามารถบอกฉันได้บ้างว่าทำไมแอพของฉันถึงตาย โดยที่ฉันจะไม่ได้รับจากแหล่งข้อมูลที่มีอยู่ หากสามารถทำได้ ฉันต้องทำการกำหนดค่าประเภทใดเพื่อให้ได้ข้อมูลที่เป็นไปได้มากที่สุดจาก systemd เมื่อแอปของฉันหายไป

โพสต์คำตอบ

คนส่วนใหญ่ไม่เข้าใจว่าการถามคำถามมากมายจะปลดล็อกการเรียนรู้และปรับปรุงความสัมพันธ์ระหว่างบุคคล ตัวอย่างเช่น ในการศึกษาของ Alison แม้ว่าผู้คนจะจำได้อย่างแม่นยำว่ามีคำถามกี่ข้อที่ถูกถามในการสนทนา แต่พวกเขาไม่เข้าใจความเชื่อมโยงระหว่างคำถามและความชอบ จากการศึกษาทั้ง 4 เรื่องที่ผู้เข้าร่วมมีส่วนร่วมในการสนทนาด้วยตนเองหรืออ่านบันทึกการสนทนาของผู้อื่น ผู้คนมักไม่ตระหนักว่าการถามคำถามจะมีอิทธิพลหรือมีอิทธิพลต่อระดับมิตรภาพระหว่างผู้สนทนา