ฉันจะติดตั้ง rsyslog เพื่อส่งบันทึกทั้งหมดไปยังเซิร์ฟเวอร์ระยะไกลหลายเครื่องได้อย่างไร


10

ฉันกำลังพยายามสร้าง rsyslog เพื่อส่งบันทึกทั้งหมดไปยังเซิร์ฟเวอร์ระยะไกล 2 แห่ง แต่ดูเหมือนว่า rsyslog จะส่งไปยังเซิร์ฟเวอร์รองเท่านั้นหากเซิร์ฟเวอร์แรกล้มเหลว

*.* @@server1
*.* @@server2

ถ้าฉันใส่ข้างต้นใน /etc/rsyslog.conf, server2 จะไม่ได้รับบันทึกใด ๆ ตราบใดที่ server1 ขึ้น ฉันจะบอก rsyslog ให้ส่งไปยังเซิร์ฟเวอร์ทั้งสองได้อย่างไร

นอกจากนี้เพื่อเป็นโบนัสพิเศษฉันต้องการใช้ "บัฟเฟอร์" ไฟล์ภายในเครื่องที่แตกต่างกัน 2 ไฟล์สำหรับการจัดเก็บในเครื่องหากเซิร์ฟเวอร์ระยะไกลลดลง

คำตอบ:


16

จาก การส่งต่อมากกว่า Server หนึ่ง ;

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

ที่จริงแล้วคุณต้องใช้ 2 local queue ที่ต่างกัน

กำหนดค่าไดเรกทอรีทำงาน

$WorkDirectory /var/spool/rsyslog

กำหนดค่ากฎการส่งต่อของคุณ

$ActionQueueType LinkedList
$ActionQueueFileName Forward1
$ActionResumeRetryCount -1
$ActionQueueSaveOnShutdown on
*.* @@server1

$ActionQueueType LinkedList
$ActionQueueFileName Forward2
$ActionResumeRetryCount -1
$ActionQueueSaveOnShutdown on
*.* @@server2

นั่นคือการกำหนดค่าที่ฉันใช้จริงรวมถึงไฟล์คิวที่แตกต่างกัน แต่มันก็ยังไม่ทำงาน ฉันเห็นบันทึกที่มาถึง "server2" เท่านั้นหากฉันปิด "server1"
Daniele Testa

ขอโทษฉันไม่ดี ฉันมีกฎไฟร์วอลล์ที่ไม่ถูกต้อง :) การกำหนดค่าดั้งเดิมของฉันใช้งานได้หลังจากที่ฉันแก้ไขปัญหาไฟร์วอลล์แล้ว
Daniele Testa

ไฟร์วอลล์จะทำทุกครั้ง .. ฉันควรถามเกี่ยวกับเรื่องนี้! :) ไม่ว่าการกำหนดค่าที่คุณมีอยู่จะทำงานอย่างไร upvote สำหรับความพยายามของฉัน? เว็บไซต์นี้ทำงานได้ดีที่สุดเมื่อระบบการลงคะแนนส่งเสริมการมีส่วนร่วม โปรดดูหน้าทัวร์เมื่อคุณมีโอกาส
Aaron Copley

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