ตรวจสอบความคืบหน้าของโปรแกรมบนเซิร์ฟเวอร์หลายเครื่อง


9

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

วิธีนี้น่าเบื่อดังนั้นสิ่งที่เรากำลังมองหาคือโซลูชันที่ทำการตรวจสอบความคืบหน้าของโปรแกรมโดยอัตโนมัติ (เอาต์พุตบน CLI) สำหรับเซิร์ฟเวอร์หลายเครื่องในเวลาเดียวกัน เราต้องการโซลูชัน web UI ที่เหมาะสม แต่ CLI ก็เหมาะสมเช่นกัน

ขอบคุณสำหรับการอ่าน.


ใช้โพรและ grafana :-)
Reinstate Monica - M. Schröder

คำตอบ:


8

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

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

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


นี่ไม่ใช่สิ่งเดียว ฉันชอบความคิดของคุณเกี่ยวกับการลงทุนเวลาในการตรวจสอบอัตโนมัติและรวมศูนย์การบันทึก คุณมีคำแนะนำเกี่ยวกับเครื่องมือที่ใช้งานได้ฟรีและทำงานได้ดีกับโฮสต์ของ Ubuntu ที่รันโปรแกรมหรือไม่?
guano

@guano ฉันคิดว่า Wissam ได้ครอบคลุมเครื่องมือเฉพาะทั้งหมดที่ฉันจะพูดถึงนอกเหนือจากการใช้บางสิ่งเช่น Sensu เพื่อเพิ่มพลังการแจ้งเตือน
Xiong Chiamiov

4

Graylog

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

ฉันติดตั้งและใช้งานกอง ELKสองสามตัวสำหรับทั้งการรวมบันทึกและระบบธุรกิจอัจฉริยะและยังทำงาน / ดูแลเทาล็อกเป็นเวลาประมาณสองปีแล้วที่นายจ้างปัจจุบันของฉัน ฉันแนะนำ graylog เพราะมันมีคุณสมบัติในตัวต่อไปนี้และในความคิดของฉัน - ง่ายต่อการติดตั้งและบำรุงรักษาเล็กน้อย:

  • เว็บอินเตอร์เฟส
  • ความสามารถของผู้ใช้หลายคน
  • การแจ้งเตือน

เท่าที่ฉันเข้าใจสถานการณ์ของคุณดูเหมือนว่าคุณจำเป็นต้องดำเนินการหรือได้รับการแจ้งเตือนในบางเหตุการณ์ที่ปรากฏในสตรีมข้อความบันทึกของคุณ ถ้าเราดูที่คุณสมบัติ Graylog :

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

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

หากต้องการให้ graylog ลองใช้ฉันขอแนะนำสองขั้นตอนต่อไปนี้:

  • ตั้งค่าโฮสต์เฉพาะซึ่งสามารถเข้าถึงได้โดยโฮสต์แอปพลิเคชันทั้งหมดของคุณเพื่อเรียกใช้ graylog (และการพึ่งพา MongoDB และ ElasticSearch)
  • ส่งบันทึกจากแอปพลิเคชันของคุณไปยัง graylog (อาจเป็นข้อความGELF )

หมายเหตุ: สองขั้นตอนเหล่านี้มีความสามารถในการเติมหน้าและหน้าแนวปฏิบัติที่ดีที่สุดและควรได้รับความคิดอย่างน้อยสองสามอย่าง ไม่ต้องพูดถึงว่า graylog ไม่ใช่โซลูชันการตรวจสอบและ graylog นั้นควรได้รับการตรวจสอบโดยเครื่องมือตรวจสอบที่เหมาะสม (เช่น Icinga, Prometheus, Nagios เป็นต้น)


3

ฉันเห็นด้วยกับ @Xiong Chiamiov และฉันต้องการให้ตัวเลือกที่ชัดเจนมากขึ้น ถ้าคุณต้องการเส้น CLI ทุกที่จะตรวจสอบผมจะแนะนำให้เปลี่ยนเส้นทางทั้งหมดที่ส่งออกไปยังไฟล์ที่เฉพาะเจาะจงและข้อผิดพลาดไปยังแฟ้มอื่นแล้วใช้logstashหรือfilebeatจะส่งทั้งสองไฟล์นี้เพื่อElasticSearchแล้วคุณสามารถกำหนดค่าLogtrilกับKibanaให้คุณดูวิเคราะห์ค้นหาและบันทึกเหตุการณ์หางจากโฮสต์หลายแห่งแบบเรียลไทม์ด้วยส่วนติดต่อที่เป็นมิตร


1

ส่วนกลาง tmux

ในขณะที่คำตอบอื่น ๆ นั้นฉลาดกว่าและฉลาดกว่าในระยะยาวฉันคิดว่าโซลูชัน CLI แฮ็คที่รวดเร็วนั้นควรค่าแก่การกล่าวถึง ทำงานtmuxบนเซิร์ฟเวอร์เครื่องเดียวที่สามารถเข้าถึงเซิร์ฟเวอร์อื่นทั้งหมดได้ สถานที่ที่ดีสำหรับสิ่งนี้คือกล่องกระโดดหรือสถานที่อื่นที่คนทั่วไปมักจะลงชื่อเข้าใช้อยู่แล้ว ภายใน "ส่วนกลาง" นี้tmuxssh ไปยังแต่ละกล่องในบานหน้าต่างที่แตกต่างกันและปรับแต่งไฟล์บันทึกใด ๆ ก็ตามที่จำเป็น คุณสามารถใช้ctrl- b "ที่จะได้รับบานหน้าต่างอื่น ๆ tmuxในแท็บหนึ่งภายใน ตอนนี้ทุกคนต้องทำเพื่อตรวจสอบสิ่งที่แนบมากับtmuxเซสชั่น"กลาง" และพวกเขาสามารถเห็นกลุ่มทั้งหมดได้อย่างรวดเร็ว

ฉันใช้เวลาส่วนใหญ่ในการสร้างโซลูชันเว็บ UI ที่คุณกำลังทำอยู่ แต่ถ้าคุณต้องการแฮ็กข้อมูลวันนี้พร้อมกันtmuxสามารถบันทึกได้ทั้งวัน

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.