บันทึกการเลือก / เขียนควรจะอยู่ที่ไหน?


13

ฉันกำลังติดตั้งแพคเกจที่กำหนดเองเพื่อ/opt/package_nameจัดเก็บไฟล์การกำหนดค่าใน/etc/opt/package_nameและไฟล์คงที่ใน/var/opt/package_name/static/- ทั้งหมดตามอนุสัญญาที่แนะนำโดย FHS [ 1 ] [ 2 ] [ 3 ]

ฉันต้องเก็บ logfiles ด้วย ฉันต้องการให้พวกเขาสามารถค้นพบได้โดยเครื่องมือวิเคราะห์ดังนั้นพวกเขาจึงควรอยู่ในตำแหน่งปกติ สิ่งเหล่านี้ควรเข้าไปใน:

  • /var/log/package_name (เช่นแพคเกจระบบแม้ว่าจะเป็นแพ็คเกจที่กำหนดเอง)
  • /var/opt/package_name/log(ติดตามการ/var/optประชุม - แต่สิ่งนี้สามารถค้นพบได้หรือไม่)
  • อื่น ๆ อีก?

คุณมีตัวอย่างของเครื่องมือวิเคราะห์ที่คำนึงถึงการสแกน / var / log หรือไม่?
sourcejedi

5
ทำไม syslog ไม่ใช่คำตอบ?
Joshua

คำตอบ:


19

ฉันจะวางไว้ใน/var/log/package_name; /var/opt/package_name/logมันสอดคล้องกับหลักการของความประหลาดใจอย่างน้อยดีกว่า ฉันไม่มีการอ้างถึงสิ่งนี้ มันตรงกับที่ฉันค้นหาบันทึก

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

  • ทุกเครื่องมือทั่วไปกับ "การวิเคราะห์ล็อก" syslogเป็นคุณลักษณะที่ปรากฏอยู่แล้วนาฬิกา
  • การปลดปล่อยไฟล์บันทึกและซีแมนทิกส์การหมุนได้รับการจัดการสำหรับฉัน ฉันไม่ต้องตั้งกลไกlogrotateให้บอกให้ฉันปล่อยไฟล์และเปิดใหม่ ฉันไม่ต้องบอกlogrotateเกี่ยวกับไฟล์ใหม่เพื่อหมุน!
  • การขนถ่ายล็อกไปยังเซิร์ฟเวอร์บันทึกกลางได้รับการจัดการสำหรับฉันหากไซต์ต้องการ เครื่องมือที่มีอยู่เช่นrsyslogนี้จะถูกใช้งานหากจำเป็นดังนั้นฉันจึงไม่ต้องพิจารณาการใช้คุณสมบัตินั้น
  • การควบคุมการเข้าถึง (POSIX และเช่น SELinux) รอบ ๆ ไฟล์บันทึกได้รับการจัดการอยู่แล้วดังนั้นฉันจึงไม่จำเป็นต้องให้ความสำคัญกับซีแมนทิกส์ความปลอดภัยเฉพาะการแจกจ่ายมากนัก

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


8

ขณะที่คุณกำลังต่อไปนี้การประชุม FHS /var/opt/package_name/logสำหรับแฟ้มการกำหนดค่าแพคเกจของคุณคุณควรจะสอดคล้องและจัดเก็บล็อกไฟล์ใน

รัฐ FHS:

ข้อมูลตัวแปรของแพ็คเกจใน / opt ต้องติดตั้งใน / var / opt /

และยังระบุ

ไม่มีไฟล์แพ็กเกจอื่นที่อาจมีอยู่นอกลำดับชั้น / opt, / var / opt และ / etc / optยกเว้นไฟล์แพ็กเกจเหล่านั้นที่ต้องอยู่ในตำแหน่งเฉพาะภายในแผนผังระบบไฟล์เพื่อให้ทำงานได้อย่างถูกต้อง ตัวอย่างเช่นไฟล์ล็อกอุปกรณ์ต้องอยู่ใน / var / lock และอุปกรณ์ต้องอยู่ใน / dev

การมีไฟล์บันทึกใต้/var/optไม่ได้ป้องกันไม่ให้แพคเกจทำงานได้อย่างถูกต้องดังนั้นการใช้/var/logแทนที่จะเป็นการละเมิดมาตรฐานอย่างชัดเจน

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

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

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