ซอฟต์แวร์ใดที่ฉันสามารถใช้เพื่อดึงล็อกไฟล์จากเซิร์ฟเวอร์ระยะไกลหลายเครื่องผ่าน SSH [ปิด]


1

ฉันรู้ว่าฉันสามารถทำได้โดยใช้สคริปต์ แต่ฉันต้องการที่จะรู้ว่ามีสิ่งที่เป็นซอฟต์แวร์ "พร้อมทำ" ซึ่งช่วยให้ฉันกำหนดค่าโฮสต์ (และเส้นทางไฟล์) ที่ฉันต้องการดึง (ปกติ ช่วงเวลา) จากไหน

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


ลองใช้ googling "ทำให้โฮสต์หลายโฮสต์อัตโนมัติ"
Jenny D

1
หรือดียิ่งขึ้นตั้งค่าเซิร์ฟเวอร์ syslog ส่วนกลางทันทีแทนการเข้าสู่ระบบท้องถิ่นและการคัดลอกไฟล์ที่ตามมา
Markus W Mahlberg

คำตอบ:


4

สิ่งที่คุณต้องการคือส่วนประกอบที่เรียกว่า 'log shipper' (เพื่อไม่ให้สับสนกับการจำลองฐานข้อมูล) Logstash จัดหาอุปกรณ์ตัวเดียว มันถูกเรียกว่า 'ตัวแทน' และมันเขียนใน Java หากคุณไม่ต้องการติดตั้ง [รุ่นที่เฉพาะเจาะจงของ] Java บนเซิร์ฟเวอร์ทั้งหมดของคุณ (ซึ่งเป็นคำคัดค้านที่ค่อนข้างสมเหตุสมผล) แสดงว่ามีทางเลือกมากมาย

ผู้ส่งบันทึกข้อมูลมีคุณสมบัติทั่วไปบางอย่างที่คุณสามารถเปรียบเทียบได้:

  • พวกเขามักจะสามารถดูไฟล์ใน (ใกล้) เรียลไทม์ทั้งการสำรวจ (ทั่วไป) หรือใช้ inotify;
  • โดยทั่วไปแล้วพวกเขาจะรับมือได้ดีกับเหตุการณ์การหมุนเวียนบันทึก
  • พวกเขามักจะถูกนำไปใช้ในหนึ่งในหลายภาษา;
  • พวกเขาจะสามารถอ่านจากแหล่งข้อมูลต่าง ๆ (มากมาย) รวมถึงฐานข้อมูลประเภทต่าง ๆ หรือบันทึกเหตุการณ์ของ windows
  • ตัวเลือกการสนับสนุนเชิงพาณิชย์มักมีให้เลือกเช่นเดียวกับตัวเลือกฟรี เวอร์ชั่นฟรีของรุ่นฟรีอาจมีตัวเลือกอินพุตให้มากกว่านี้
  • พวกเขาต่างกันในเรื่องความพร้อมใช้งานข้ามแพลตฟอร์ม
  • ต้นทุนใบอนุญาตสำหรับแพลตฟอร์มที่แตกต่างกันอาจแตกต่างกันอย่างมาก (เช่น rsyslog บน Windows และ Linux)
  • ความสามารถในการขยายและรอยเท้าที่ทำนั้นแตกต่างกันอย่างมาก
  • พวกเขาอาจ (ไม่) สามารถส่งบันทึกผ่าน SSL;
  • พวกเขาอาจ (ไม่) สามารถบัฟเฟอร์เหตุการณ์ได้หากผู้รับไม่พร้อมใช้งาน
  • พวกเขาอาจ (ไม่) สามารถแปลง / กรองข้อความ;
  • มีระดับความสามารถในการเขียนสคริปต์ที่แตกต่างกัน

Logstash Book มีรายการอยู่บ้าง เช่นคนตัดไม้ (เขียนใน Go และไม่ได้บรรจุในระบบปฏิบัติการของฉัน) และยังมีคนอื่น ๆ อีกมากมาย

rsyslog ยังสามารถอ่านได้จากไฟล์ แต่ค่าลิขสิทธิ์สำหรับ Windows อาจทำให้คุณต้องติดใจ แต่สิ่งนี้มีประโยชน์หากคุณมีอุปกรณ์ RHEL / Centos / อื่น ๆ ที่ติดตั้ง rsyslog (โดยทั่วไปแล้วคุณจะไม่มีอิสระในการติดตั้งสิ่งที่คุณต้องการด้วยเหตุผลด้านการสนับสนุน)

ปัจจุบันฉันใช้ nxlog ซึ่งเขียนด้วยภาษา C; มันมีขนาดเล็กพอสมควรไม่มีรันไทม์ที่น่ารำคาญหรือสร้างการพึ่งพา ทำงานบน Linux และ Windows อย่างน้อยที่สุด รังเพลิงค่อนข้างดี สร้างง่ายบนแพลตฟอร์มที่ไม่มีแพ็คเกจให้ มีเอกสารที่ดีเกี่ยวกับนางฟ้า (แต่อาจยังดีกว่า); นักพัฒนาที่ตอบสนอง; มีการสนับสนุนเชิงพาณิชย์ สามารถส่งผ่าน SSL อ่านจากกลุ่มอินพุตที่ต่างกันรวมถึงไฟล์ syslog บันทึกเหตุการณ์ของ windows และอื่น ๆ ทำการประมวลผลบางอย่างรวมถึงการใช้แท็กเครือข่ายเพื่อประมวลผลใน logstash ในภายหลัง ส่งออกไปยังกลุ่มของสิ่งต่าง ๆ ทั้งหมด (ฉันกำลังส่งของฉันไปยังเซิร์ฟเวอร์บันทึกกลางซึ่งบัฟเฟอร์เขียนลงดิสก์หมุนไฟล์และส่งข้อมูลไปยัง Logstash เพื่อนำเข้าสู่การค้นหายืดหยุ่น)

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

อย่างไรก็ตามเนื่องจากคุณพูดถึงการใช้ SSH อย่างชัดเจน (นั่นเป็นข้อกำหนดจริงหรือไม่) คุณสามารถตั้งค่า scp คีย์ที่ได้รับอนุญาตของไฟล์แล้วมี logstash feed อยู่ในเครื่อง และ (สมมติว่าคุณเรียก logstash ใหม่ทุกครั้ง) ใช้ประโยชน์จากความสามารถของ logstash ในการบันทึกตำแหน่งที่อยู่ในไฟล์ สิ่งหนึ่งที่ต้องระวังเกี่ยวกับคุณอาจไม่ต้องการให้ inode เปลี่ยนดังนั้นเขียนทับไฟล์โดยใช้ '... > file.txt' ซึ่งจะแทนที่เนื้อหา แต่ไม่ต้องแทนที่ไฟล์เอง อย่างไรก็ตามนั่นอาจจะทำให้หงุดหงิดจากการหมุนบันทึก คุณต้องการให้ผู้ส่งบันทึกบนเครื่องระยะไกล การใช้ rsyslog จะมีประโยชน์หากมีข้อกำหนดสำหรับสภาพแวดล้อมแบบสัมผัสเพียงเล็กน้อยแม้ว่าคุณจะไม่มีความสามารถในการส่งผ่าน SSL (แม้ว่าอาจจะเป็น rsyslog รุ่นที่ปรับปรุงแล้วก็ตาม)

หวังว่าจะช่วยคาเมรอน

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