คำถามติดแท็ก logs

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

7
`หาง -f` จนกว่าจะเห็นข้อความ
ฉันมีเซิร์ฟเวอร์ CI ที่มีอินเตอร์เฟสบรรทัดคำสั่งที่อนุญาตให้ฉันเริ่มต้นงานจากระยะไกล ( jenkinsเซิร์ฟเวอร์ CI และjenkins-cli.jarเครื่องมือ) หลังจากที่ฉันปิดงานฉันtail -fบันทึก (ขออภัยสำหรับคำสั่งยุ่ง): ssh -t my-jenkins-host.com "tail -f \"/var/lib/jenkins/jobs/$job_name/builds/\`ls -ltr /var/lib/jenkins/jobs/$job_name/builds/ | grep '^l' | tail -n 1|awk '{print \$9}'\`/log\"" หลังจากงานเสร็จสมบูรณ์โดยปกติหลังจากอย่างน้อย 5 นาทีฉันได้รับบรรทัดต่อไปนี้ในผลลัพธ์: Finished: SUCCESS มีวิธีที่ดีในการหยุดบันทึกตามจุดนี้หรือไม่? เช่นจะมีtail_until 'some line' my-file.logคำสั่งหรือไม่? โบนัส:เครดิตพิเศษถ้าคุณสามารถให้คำตอบที่ส่งกลับ 0 เมื่อจับคู่ความสำเร็จได้ 1 เมื่อจับคู่ FAILURE ได้และโซลูชันของคุณทำงานบน mac! (ซึ่งฉันเชื่อว่าเป็น bsd ตาม)
20 logs  tail 

5
การประทับเวลาสหสัมพันธ์ / var / log / *
/var/log/messages, /var/log/syslogและบางล็อกไฟล์อื่น ๆ Jan 13 14:13:10ที่ใช้การประทับเวลาที่มีเวลาที่แน่นอนเช่น /var/log/Xorg.0.logและ/var/log/dmesgเช่นเดียวกับผลลัพธ์ของการ$ dmesgใช้รูปแบบที่ดูเหมือน [50595.991610] malkovich: malkovich malkovich malkovich malkovich ฉันเดา / รวบรวมว่าตัวเลขนั้นแสดงถึงวินาทีและไมโครวินาทีนับตั้งแต่เริ่มต้น อย่างไรก็ตามความพยายามของฉันในการเชื่อมโยงชุดการประทับเวลาสองชุดนี้ (โดยใช้เอาต์พุตจากuptime) ให้ความแตกต่างประมาณ 5000 วินาที นี่เป็นระยะเวลาโดยประมาณที่คอมพิวเตอร์ของฉันถูกระงับ มีวิธีที่สะดวกในการแมปการประทับเวลาตัวเลขที่ใช้โดย dmesg และ Xorg ในการลงเวลาที่แน่นอนหรือไม่? ปรับปรุง เป็นขั้นตอนเบื้องต้นในการคิดออกและหวังว่าจะทำให้คำถามของฉันชัดเจนยิ่งขึ้นฉันได้เขียนสคริปต์ Pythonเพื่อแยกวิเคราะห์/var/log/syslogและแสดงเวลาที่เบี่ยงเบน บนเครื่องของฉันรันอูบุนตู 10.10, ไฟล์นั้นมีหลายบรรทัดเคอร์เนลที่มาจากการประทับทั้ง dmesg timestamp และ syslog timestamp สคริปต์เอาต์พุตบรรทัดสำหรับแต่ละบรรทัดในไฟล์นั้นซึ่งมีเวลาประทับเคอร์เนล การใช้งาน: python syslogdriver.py /var/log/syslog | column -nts $'\t' เอาต์พุตที่ถูกสกัด (ดูด้านล่างสำหรับคำจำกัดความของคอลัมน์): …
20 linux  xorg  logs  timestamps 

1
โดยที่ / var / log / Messages
ฉันมีหลายแหล่งที่บอกว่า/var/log/messagesมีข้อความบันทึกระบบ แต่ฉันไม่มีไฟล์นั้น (Ubuntu 11, Debian) ตอนนี้ไฟล์ข้อความอยู่ที่อื่นหรือไม่? ฉันลองใช้locateเพื่อค้นหา แต่ไม่เห็น
19 ubuntu  logs 

2
คำอธิบายของค่า kernel.printk
ระหว่าง Debian ที่ 5 และ 6 ค่าเริ่มต้นแนะนำใน kernel.printk /etc/sysctl.confก็เปลี่ยนจากการkernel.printk = 4 4 1 7 kernel.printk = 3 4 1 3ฉันเข้าใจว่าค่าแรกสอดคล้องกับสิ่งที่กำลังจะไปที่คอนโซล 3 ค่าถัดไปคืออะไร ค่าตัวเลขมีความหมายเหมือนกับระดับบันทึก syslog หรือไม่? หรือพวกเขามีคำจำกัดความที่แตกต่างกันอย่างไร ฉันไม่มีเอกสารบางอย่างในการค้นหาของฉันหรือเป็นเพียงแหล่งเดียวในการหาที่มาของเคอร์เนล
19 linux  kernel  logs  sysctl 

2
จะตรวจสอบสาเหตุของการแฮงค์ทั้งหมดได้อย่างไร
เครื่องอาร์ชของฉันบางครั้งแฮงค์ก็ไม่ตอบสนองใด ๆ กับเมาส์หรือแป้นพิมพ์ เคอร์เซอร์ถูกตรึง Ctrl-Alt-Backsp จะไม่หยุด X11 และ ctrl-alt-del ไม่ทำอะไรเลย cpu, เครือข่ายและกิจกรรมของดิสก์ใน conky และ icewm หยุดการอัพเดต ในไม่กี่นาทีพัดลมก็จะเปิดขึ้น วิธีเดียวที่จะทำให้คอมพิวเตอร์ทำอะไรเลยก็คือปิดเครื่อง เมื่อบู๊ตเครื่องหน้าจอแสดงอุณหภูมิของ CPU จะแสดง 70 ถึง 80C ก่อนที่จะหยุดฉันมักจะทำกิจกรรมความเข้มต่ำเช่นการท่องเว็บรับประมาณ 50C บันทึกไม่มีอะไรพิเศษเมื่อเทียบกับการปิดปกติ ตัวตรวจสอบหน่วยความจำทำงานได้ดีโดยไม่มีข้อบกพร่อง ฉันจะตรวจสอบได้อย่างไรว่าทำไมถึงวางสาย มีข้อมูลพิเศษที่ฉันสามารถหาเบาะแสได้หรือไม่? มีอะไรที่รุนแรงน้อยไปกว่าการปิดเครื่องเพื่อรับการกระทำบางอย่างถ้ามีกระสุน จำกัด หรือเสียงเตือน แต่อาจให้เบาะแสหรือไม่ เครื่องนี้เป็นแล็ปท็อป Gateway P6860 17 "(เทอะทะ แต่ทรงพลัง) และใช้งาน Arch 64 บิตเป็นรุ่นล่าสุด (ณ เดือนมีนาคม 2011) ฉันมี Arch มาเป็นเวลานานโดยไม่มีปัญหานี้เปลี่ยนเป็น …

2
ฉันจะล้างรายการ journalctl สำหรับหน่วยเฉพาะได้อย่างไร
ฉันใช้เวลาสองสามวันในการเขียนสคริปต์หลามและสร้างไฟล์หน่วย systemd ขึ้นมา ในระหว่างการทดสอบสคริปต์บันทึกข้อผิดพลาดจำนวนมากเพื่อเจอร์นัล ฉันต้องการลบข้อผิดพลาดจากเจอร์นัลตอนที่ฉันทำไปแล้ว มีหลายวิธีในการล้างวารสารทั้งหมดตามที่อธิบายไว้ที่นี่: วิธีล้าง journalctl รวมถึงการใช้การjournalctl --vacuum-time=2dใช้journalctl --vacuum-size=500Mและการตั้งค่าชั่วคราวSystemMaxUse=ใน /etc/systemd/journald.conf ให้มีค่าต่ำมาก ทั้งหมดเหล่านี้ดูเหมือนจะล้างวารสารทั้งหมดส่งผลกระทบต่อทุกหน่วย ฉันแค่ต้องล้างรายการสำหรับหน่วยเดียว เป็นไปได้ไหม



1
Postfix mail logs ยังคงแสดง“ ไม่ได้ตั้งค่าโดเมน NIS”
ฉันเพิ่งตั้งค่าเซิร์ฟเวอร์อีเมลใหม่โดยใช้ Postfix และ Dovecot ฉันได้รับการแก้ไขปัญหาและบรรทัดนี้ปรากฏในบันทึกของฉัน (โดยเฉพาะ mail.info และ mail.log) โดเมน NIS คืออะไรและฉันจะแก้ไขปัญหาได้อย่างไร postfix/smtpd[6107]: warning: dict_nis_init: NIS domain name not set - NIS lookups disabled
18 logs  postfix 

6
คุณจะเก็บเฉพาะไฟล์ n บรรทัดสุดท้ายของไฟล์บันทึกได้อย่างไร
สคริปต์ที่ฉันเขียนทำบางสิ่งและท้ายที่สุดจะผนวกบางบรรทัดเข้ากับล็อกไฟล์ของตัวเอง ฉันต้องการเก็บเฉพาะไฟล์ n บรรทัดสุดท้าย (พูด, 1,000 บรรทัด) ของล็อกไฟล์ ซึ่งสามารถทำได้ในตอนท้ายของสคริปต์ด้วยวิธีนี้: tail -n 1000 myscript.log > myscript.log.tmp mv -f myscript.log.tmp myscript.log แต่จะมีวิธีที่สะอาดและสง่างามกว่านี้ไหม? อาจสำเร็จด้วยคำสั่งเดียว?

9
วิธีการอ่านข้อความปิดหลังจากนั้น?
ฉันใช้ Lubuntu 11.10 ทุกครั้งที่ฉันปิดตัวลงฉันสามารถอ่าน FAIL ด้วยตัวอักษรสีแดง แต่ฉันไม่สามารถอ่านเพิ่มเติมได้ ดังนั้นวิธีการอ่านข้อความบันทึกและพยายามที่จะแก้ปัญหาได้อย่างไร
18 logs  shutdown  init  openrc 


2
หน้าจอ GNU: พิมพ์เซสชันที่แยกออกไปยัง stdout
ฉันแค่ต้องการให้ภาพรวมอย่างรวดเร็วของscreenเซสชันGNU ที่แยกออกมาของฉัน เป็นไปได้ที่จะดัมพ์เนื้อหาปัจจุบันไปยัง stdout หรือไม่? สิ่งที่ต้องการ screen --print SESSION_NAME > file.txt

1
เอาต์พุตของคำสั่ง“ ล่าสุด”
ใครช่วยอธิบายฉันได้ว่าอะไรคือความหมายของคอลัมน์สุดท้ายของผลลัพธ์ของlastคำสั่ง? ฉันสนใจในความหมายของมันโดยเฉพาะอย่างยิ่งกับrebootผู้ใช้หลอก reboot system boot 2.6.32-28-generi Sat Feb 12 08:31 - 18:09 (9+09:37) 9 + 09: 37 หมายความว่าอะไร
17 logs  last 

1
การหมุนไฟล์บันทึกขณะที่กระบวนการยังทำงานอยู่
/var/log/dragonturtle.logฉันมีกระบวนการทำงานที่เขียนออกมาตรฐานและข้อผิดพลาดมาตรฐานไปยังล็อกไฟล์ มีอยู่แล้วเพื่อหมุนไฟล์บันทึกและมีขั้นตอนอย่างต่อเนื่องในการเขียนไปยังไฟล์บันทึกใหม่โดยไม่ต้องฆ่ากระบวนการ? สิ่งที่เกิดขึ้นในปัจจุบัน (กำหนดค่า logrotate ด้านล่าง) กระบวนการเขียนถึง /var/log/dragonturtle.log Logrotate ย้าย/var/log/dragonturtle.logไปที่/var/log/dragonturtle.log.1 กระบวนการเขียนต่อไป /var/log/dragonturtle.log.1 สิ่งที่ฉันต้องการจะเกิดขึ้น: กระบวนการเขียนถึง /var/log/dragonturtle.log บันทึกการคัดลอก/var/log/dragonturtle.logไปยัง/var/log/dragonturtle.log.1 ตัดทอน Logrotate /var/log/dragonturtle.log กระบวนการเขียนต่อไป /var/log/dragonturtle.log /etc/logrotate.d/dragonturtle: /var/log/dragonturtle.log { daily missingok rotate 7 compress delaycompress notifempty create 644 dragonturtle dragonturtle }
16 logs  stdout  logrotate 

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