การขนส่งเข้าสู่ระบบและการรวมในระดับ


14

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

1) การขนส่งข้อความ

วิธีคลาสสิคคือการใช้ syslog เพื่อบันทึกข้อความไปยังโฮสต์ระยะไกล ใช้งานได้ดีสำหรับแอปพลิเคชันที่ลงชื่อเข้าใช้ syslog แต่มีประโยชน์น้อยกว่าสำหรับแอปที่เขียนไปยังไฟล์ในเครื่อง วิธีแก้ไขปัญหานี้อาจรวมถึงการมีล็อกแอปพลิเคชันลงใน FIFO ที่เชื่อมต่อกับโปรแกรมเพื่อส่งข้อความโดยใช้ syslog หรือโดยการเขียนสิ่งที่จะ grep ไฟล์โลคัลและส่งเอาต์พุตไปยังโฮสต์ syslog กลาง อย่างไรก็ตามหากเราพบปัญหาในการเขียนเครื่องมือเพื่อส่งข้อความไปยัง syslog เราควรจะแทนที่ล็อตทั้งหมดด้วยดีกว่าเช่นScribeของ Facebook ที่ให้ความยืดหยุ่นและความน่าเชื่อถือมากกว่า syslog หรือไม่?

2) การรวมข้อความ

รายการบันทึกดูเหมือนจะเป็นหนึ่งในสองประเภท: ต่อโฮสต์และต่อบริการ ข้อความต่อโฮสต์คือข้อความที่เกิดขึ้นในเครื่องเดียว คิดว่าดิสก์ล้มเหลวหรือเข้าสู่ระบบที่น่าสงสัย ข้อความต่อบริการเกิดขึ้นในโฮสต์ส่วนใหญ่หรือทั้งหมดที่ใช้บริการ ตัวอย่างเช่นเราต้องการทราบว่าเมื่อ Apache พบข้อผิดพลาด SSI แต่เราไม่ต้องการข้อผิดพลาดเดียวกันจาก 100 เครื่อง ในทุกกรณีเราต้องการเห็นเพียงหนึ่งข้อความแต่ละประเภท: เราไม่ต้องการ 10 ข้อความที่บอกว่าดิสก์เดียวกันล้มเหลวและเราไม่ต้องการข้อความทุกครั้งที่มีการตี SSI ที่เสียหาย

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

3) การสร้างการแจ้งเตือน

เราจะบอกผู้ดูแลระบบของเราได้อย่างไรเมื่อมีบางสิ่งที่น่าสนใจเกิดขึ้น ส่งกล่องจดหมายเข้ากลุ่มหรือไม่ ฉีดเข้า Nagios?

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

อัปเดต:เรากำลังใช้ Nagios สำหรับการตรวจสอบซึ่งเหมาะสำหรับการตรวจสอบโฮสต์ / บริการทดสอบ / ฯลฯ แต่ก็มีประโยชน์น้อยกว่าสำหรับการคัดลอกไฟล์บันทึก ฉันรู้ว่ามีปลั๊กอินการบันทึกสำหรับ Nagios แต่ฉันสนใจในสิ่งที่ปรับขนาดได้และลำดับชั้นมากกว่าการแจ้งเตือนต่อโฮสต์


ที่เกี่ยวข้องกัน - serverfault.com/questions/62687/alternatives-to-splunk :)
วอร์เรน

คำตอบ:


5

ฉันใช้ระบบที่แตกต่างกันสามระบบในการรวบรวมบันทึก:

  1. Syslog / syslog-ng ส่งต่อไปยังหนึ่งโฮสต์
  2. Zenoss สำหรับการรวมและการแจ้งเตือนเหตุการณ์
  3. Splunkสำหรับการรวมบันทึกและการค้นหา

สำหรับ # 3 ฉันมักจะใช้ syslog-ng เพื่อส่งต่อข้อความจากแต่ละโฮสต์ไปยัง splunk โดยตรง นอกจากนี้ยังสามารถแยกวิเคราะห์ไฟล์บันทึกได้โดยตรง แต่อาจเป็นเรื่องเจ็บปวด

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


+1 สำหรับ Splunk คุณสามารถมี Splunk ทริกเกอร์สคริปต์ภายนอกเมื่อตรวจพบเหตุการณ์บางอย่าง ไม่ว่าจะเป็นการส่งจดหมายหรือกับดัก SNMP
Murali Suriar

2

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

http://www.ossec.net/


1

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

PS: ฉันเป็นผู้พัฒนาโซลูชันนี้


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

0

คุณต้องมองให้เป็นระบบการตรวจสอบเช่นZenoss แกน เหนือสิ่งอื่นใดมันบอกว่าในหน้าแนะนำ:

การตรวจสอบและการจัดการกิจกรรมของ Zenoss ให้ความสามารถในการรวบรวมข้อมูลบันทึกและข้อมูลเหตุการณ์จากแหล่งต่าง ๆ รวมถึงการตรวจสอบความพร้อมใช้งานการตรวจสอบประสิทธิภาพแหล่งที่มาของ syslog แหล่งที่มาของ SNMP Trap, บันทึกเหตุการณ์ของ Windows

ดูสิ่งที่เครื่องมือทำคุณใช้เพื่อตรวจสอบเซิร์ฟเวอร์ของคุณ


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