systemd, rsyslogd - บันทึกอยู่ที่ไหน


3

ผมได้รับการติดตั้งรุ่น 23 เซิร์ฟเวอร์ Fedora ซึ่งผมไม่ได้ทำอะไรที่สวยมากมีผู้ดูแลระบบที่ชาญฉลาดนอกเหนือจากการตั้งค่าssh, fail2ban, sambaและผู้ใช้

เมื่อวันก่อนฉันถูกล็อคอย่างสมบูรณ์จากระบบของฉันด้วยข้อความssh_exchange_identification: read: Connection reset by peerที่มี googling ทำให้ฉันไปที่ssh_exchange_identification: อ่าน: รีเซ็ตการเชื่อมต่อโดยเพื่อน

ดังนั้นฉันจึงสันนิษฐานว่าfail2banมีความผิดพลาดกับการแบน ไม่มีปัญหาใหญ่แค่ล็อกอินเข้าสู่เครื่อง 'ทางกายภาพ' และรีเซ็ตพวกเขา เมื่อพยายามทำสิ่งนี้ฉันเห็นว่าคอนโซลของฉันถูกน้ำท่วมด้วยข้อความบันทึก (ซึ่งฉันจำไม่ได้ว่า "systemd.service บางสิ่งบางอย่างแบบอ่านอย่างเดียว") น้ำท่วมครั้งนี้ทำให้เป็นไปไม่ได้ในการเข้าสู่ระบบฉันเริ่มพิมพ์ข้อมูลประจำตัวของฉันเพียงเพื่อจะเสียเพราะข้อความบันทึกจะถูกพิมพ์และรีเซ็ตข้อมูลประจำตัว

ฉันถูกบังคับให้รีบูตเครื่องเช่น กดปุ่มรีเซ็ต / ปุ่มเปิด / ปิดค้างบนเครื่อง

ตามที่ฉันต้องการที่จะได้รับที่ด้านล่างของปัญหาและหาสิ่งที่เป็นปัญหาฉันได้ขุดบันทึก ฉันดูเหมือนจะไม่สามารถหาสาเหตุได้

ถ้าฉันจะjournalctl --since 2016-04-10ได้รับดังต่อไปนี้

Apr 10 12:19:32 Server smartd[620]: Device: /dev/sdc [SAT], 47 Currently unreadable (pending) sectors
-- Reboot --
Apr 11 20:27:53 Server systemd-journal[148]: Runtime journal is using 8.0M (max allowed 81.0M, trying to leave 121.5M free of 802.5M available → current limit 81.0M).

ฉันลบบันทึกทั้งหมดจากเมื่อฉันคิดว่า trobles เริ่มต้นจนกว่าฉันจะเริ่มต้นระบบใหม่ ( /dev/sdcไดรฟ์ให้ข้อผิดพลาดนั้นตั้งแต่ฉันได้รับ)

ฉันยังอ่านhttps://freedesktop.org/wiki/Software/systemd/Debugging/ที่คุณควรตรวจสอบ/var/log/messagesบันทึก

ส่วนที่เกี่ยวข้องที่นี่ที่ฉันเห็นคือ

Mar  6 18:52:49 Server audit: USER_AUTH pid=3435 uid=0 auid=4294967295 ses=4294967295 subj=system_u:system_r:sshd_t:s0-s0:c0.c1023 msg='op=PAM:authentication grantors=? acct="root" exe="/usr/sbin/sshd" hostname=183.3.202.108 addr=183.3.202.108 terminal=ssh res=failed'
Apr 11 20:28:46 Server rsyslogd-2177: imjournal: begin to drop messages due to rate-limiting
Apr 11 20:39:15 Server rsyslogd-2177: imjournal: 91404 messages lost due to rate-limiting
Apr 11 20:39:15 Server dnf: repo: using cache for: rpmfusion-free

ซึ่งบอกฉันว่ามีข้อความเข้าสู่ระบบ 91404 อย่างไรก็ตามฉันไม่พบหนึ่งเดียวของพวกเขา ทั้งหมดถูกทิ้งไปไกลเท่าที่ฉันจะบอกได้

เนื่องจากฉันต้องการที่จะรู้ว่าสิ่งที่ 'ทำลาย' ระบบของฉันจริงมีที่ไหนอีกบ้างที่บันทึกอาจถูกจัดเก็บ? หรือฉันต้องอธิษฐานเพื่อให้ดวงดาวไม่สอดคล้องเพื่อทำให้เกิดปัญหาเดียวกันอีกครั้ง?

คำตอบ:


0

หมายเหตุ: หากไม่มีหลักฐานเพิ่มเติมเพื่อยืนยันความสงสัยของฉันนี่เป็นเพียงการเก็งกำไรตามสมมุติฐาน

คุณพูดถึงการเห็นบางสิ่งเกี่ยวกับ 'อ่านอย่างเดียว' อาจเป็นไปได้ว่าระบบของคุณพบความเสียหายที่ไม่สามารถกู้คืนได้หรือความผิดพลาดของฮาร์ดแวร์บนดิสก์ (หรือสายเคเบิลหรืออินเตอร์เฟซ sata เป็นต้น) และติดตั้ง root fs ใหม่เพื่ออ่านอย่างเดียวเพื่อป้องกันความเสียหาย / ความเสียหายเพิ่มเติม

สิ่งที่สำคัญที่สุดที่คุณต้องทำโดยเร็วที่สุดคือ 1. ตรวจสอบให้แน่ใจว่าข้อมูลสำรองของคุณทันสมัย, 2. ทดสอบดิสก์ของคุณอย่างละเอียด (เช่นการsmartctlทดสอบ), หรืออาจล้มเหลว

แต่กลับไปที่ปัญหาการบันทึก:

หากรูท fs (หรือ/var/log) เป็นแบบอ่านอย่างเดียวจะไม่มีการบันทึกลงในดิสก์

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

เช่นในสองระบบของฉัน ( ganeshและkali) ฉันมีดังต่อไปนี้ใน/etc/rsyslog.d/00remote.conf:

$ModLoad imudp   # provides UDP syslog reception
$UDPServerAddress 0.0.0.0
$UDPServerRun 514 

if $fromhost-ip == '127.0.0.1' and $syslogfacility-text == 'kern' then @kali

ganeshนั่นเป็นไฟล์ที่อยู่ใน บนkaliก็เหมือนกันยกเว้นว่าจะถูกแทนที่ด้วย@kali@ganesh

ส่งต่อkernรายการบันทึกสิ่งอำนวยความสะดวกทั้งหมดที่มาจาก localhost ไปยังโฮสต์การบันทึกระยะไกล การตรวจสอบที่อยู่ IP ป้องกันไม่ให้ลูปการบันทึกระยะไกลแบบรีโมต

มีวิธีอื่น ๆ ในการกำหนดค่าการเข้าสู่ระบบระยะไกลที่มีอยู่rsyslogรวมทั้งการเข้าสู่ระบบตามมากกว่าtcp udpนี่เป็นเพียงวิธีแรกที่ฉันพยายามเมื่อฉันต้องการมันหลายปีก่อน - มันใช้งานได้และเรียบง่ายและฉันยังไม่จำเป็นต้องเปลี่ยนเลย ค้นหาวิธีอื่น ๆในเว็บไซต์นี้และรายละเอียดเพิ่มเติม

BTW ตรวจสอบให้แน่ใจว่าทราฟฟิกขาเข้าสำหรับ udp พอร์ต 514 ถูกบล็อกที่ไฟร์วอลล์ของคุณ


ฉันทำ# smartctl -t long /dev/sdaซึ่งเป็นไดรฟ์ระบบของฉันและมันก็ออกมาสะอาด (หรือPassedและตอนนี้ฉันกำลังทำสิ่งเดียวกันกับไดรฟ์ทั้งหมด) ฉันไม่มีเครื่องอื่นที่จะใช้โชคไม่ดี ดังนั้นในปัจจุบันฉันไม่สามารถจัดเก็บบันทึกของฉันในเครื่องอื่นได้ ข้อเสนอแนะหรือความคิดอื่น ๆ ?
Chewtoy

มีคำถามอื่นเกิดขึ้น: หากไดรฟ์ที่จัดเก็บบันทึกเป็นแบบอ่านอย่างเดียว journalctl จะเขียน-- REBOOT --ไปยังบันทึกได้อย่างไร ฉันไม่ได้ป้อนด้วยตัวเอง มันอยู่ที่นั่นตอนที่ฉันมองเข้าไป ดังนั้นฉันคิดว่ามันเขียนเมื่อปิดเครื่อง
Chewtoy

ไม่มีความคิด ... ระบบส่วนใหญ่ของฉันคือ sysvinit และระบบเดียวที่ฉันมีที่ใช้ systemd (รวมถึง rsyslog) ไม่ได้เขียน REBOOT ไปยังล็อกไฟล์ใด ๆ ... แม้กระทั่งjournalctl -a | grep REBOOTคืนสิ่งใดก็ตาม
cas

BTW ถ้า / dev / sda ผ่านการทดสอบอาจเป็นไปได้ว่า / dev / sdc มีข้อผิดพลาดบางอย่างที่ทำให้อินเตอร์เฟซ sata ของเมนบอร์ดผิดเพี้ยนไป (หรือไดรเวอร์ sata / AHCI ของเคอร์เนล - ฉันเห็นว่าเกิดอะไรขึ้นกับ IDE และไดรฟ์ SCSI แต่ IIRC ไม่ได้มาพร้อมกับ SATA) ระบุว่าบันทึกทั้งหมดจะหายไปจากช่วงเวลาที่เกิดความผิดพลาดจนกระทั่งรีบูตฉันยังคิดว่ารูทของคุณอาจถูกเมาท์แบบอ่านอย่างเดียวอีกครั้ง
cas

ฉันมี 3 ไดรฟ์บนเซิร์ฟเวอร์ของฉัน sd {a, b, c} และฉันรัน smartctl ไม่นานเลยพวกเขาทั้งหมด ทุกคนมีรายงานว่าผ่านการทดสอบ นี่ทำให้ข้อความแสดงข้อผิดพลาด sdc เป็นความลับยิ่งสำหรับฉัน เกี่ยวกับ-- Reboot --ดูเหมือนว่าจะเป็นบางส่วน journalctl เวทมนตร์ซึ่งถูกแทรกในแต่ละบูตบางที? digitalocean.com/community/tutorials/…
Chewtoy
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.