it-swarm-tr.com

Sistem kapanmasına neden olan günlüklerden nasıl öğrenilir?

Örneğin. Bunu /var/log/messages:

Mar 01 23:12:34 hostname shutdown: shutting down for system halt

Kapatmanın nedenini bulmanın bir yolu var mı? Örneğin. Konsoldan mı çalıştırıldı yoksa birileri güç düğmesine mi vuruldu, vs.?

123
alex

Yalnızca kök ayrıcalıklı programlar bir sistemi düzgün bir şekilde kapatabilir. Yani bir sistem normal bir şekilde kapatıldığında, kök ayrıcalıklarına sahip bir kullanıcı veya bir acpi betiğidir. Her iki durumda da günlükleri kontrol ederek öğrenebilirsiniz. ACpi kapatma, güç düğmesine basma, aşırı ısınma veya düşük pil (dizüstü bilgisayar) nedeniyle olabilir. Üçüncü sebep olan, güç kaynağı kesildiğinde UPS yazılımını unuttum, bu yine de bir uyarı gönderecek.

Son zamanlarda nezaketsiz bir şekilde kapanmaya başlayan, aşırı ısındığı ve mobo'nun erken kapanacak şekilde yapılandırıldığı bir sistemim vardı. Sistemin günlükleri kaydetme şansı yoktu, ancak neyse ki sistemin sıcaklığını izlemek, kapanmadan hemen önce artmaya başladığını gösterdi.

Yani normal bir kapanma olursa, kayıt olur, bir saldırı ise ... iyi şanslar ve soğuk bir kapanma ise bilmek için en iyi şansın çevresini kontrol etmek ve izlemek.

50
forcefsck

Aşağıdaki komutları deneyin:

Son yeniden başlatma girişlerinin listesini görüntüle: last reboot | less

Son kapatma girişlerinin listesini görüntüle: last -x | less

veya daha doğrusu: last -x | grep shutdown | less

Ancak bunu kimin yaptığını bilemezsiniz. Bunu kimin yaptığını bilmek istiyorsanız, bir dahaki sefere bileceğiniz anlamına gelen bir kod eklemeniz gerekir.

Bu kaynağı çevrimiçi buldum. Sizin için yararlı olabilir:

Sistemimi kimin veya neyin durdurduğunu bulma

127

2 şeyi incelemek zorundasınız:

  1. last -x komutunun çıktısı
  2. /var/log/ içindeki günlük dosyaları

Bu 2 komutu kullanın ve daha fazla bilgi için okumaya devam edin.

last -x | head | tac

grep -iv ': starting\|kernel: .*: Power Button\|watching system buttons\|Stopped Cleaning Up\|Started Crash recovery kernel' \
  /var/log/messages /var/log/syslog /var/log/apcupsd* \
  | grep -iw 'recover[a-z]*\|power[a-z]*\|shut[a-z ]*down\|rsyslogd\|ups'

1) Son -x komutunun çıktısı ile ilgili olarak

Bu komutu * çalıştırın ve çıktıyı aşağıdaki örneklerle karşılaştırın:

last -x | head | tac

Normal kapatma örnekleri

Normal bir kapatma ve açma şu şekilde görünür (bir kapatma olayı ve ardından bir sistem önyükleme olayı olduğunu unutmayın):

runlevel (to lvl 0)   2.6.32- Sat Mar 17 08:48 - 08:51  (00:02) 
shutdown system down  ... <-- first the system shuts down   
reboot   system boot  ... <-- afterwards the system boots
runlevel (to lvl 3)       

Bazı durumlarda bunu görebilirsiniz (kapatma hakkında bir satır olmadığını ancak sistemin "durma durumu" olan çalışma seviyesi 0'da olduğunu unutmayın):

runlevel (to lvl 0)   ... <-- first the system shuts down (init level 0)
reboot   system boot  ... <-- afterwards the system boots
runlevel (to lvl 2)   2.6.24-... Fri Aug 10 15:58 - 15:32 (2+23:34)   

Beklenmedik kapanış örnekleri

Güç kaybından beklenmeyen bir kapanma şöyle görünür (önceki bir sistem kapatma olayı olmadan bir sistem önyükleme olayınız olduğunu unutmayın):

runlevel (to lvl 3)   ... <-- the system was running since this momemnt
reboot   system boot  ... <-- then we've a boot WITHOUT a prior shutdown
runlevel (to lvl 3)   3.10.0-693.21.1. Sun Jun 17 15:40 - 09:51  (18:11)    

2)/var/log/içindeki günlüklerle ilgili olarak

En ilginç günlük iletilerini filtrelemek için bir bash komutu şudur:

grep -iv ': starting\|kernel: .*: Power Button\|watching system buttons\|Stopped Cleaning Up\|Started Crash recovery kernel' \
  /var/log/messages /var/log/syslog /var/log/apcupsd* \
  | grep -iw 'recover[a-z]*\|power[a-z]*\|shut[a-z ]*down\|rsyslogd\|ups'

Beklenmedik bir güç kesintisi veya donanım arızası meydana geldiğinde dosya sistemleri düzgün bir şekilde sökülmeyecektir, bu nedenle bir sonraki önyüklemede aşağıdaki gibi günlükler alabilirsiniz:

EXT4-fs ... INFO: recovery required ... 
Starting XFS recovery filesystem ...
systemd-fsck: ... recovering journal
systemd-journald: File /var/log/journal/.../system.journal corrupted or uncleanly shut down, renaming and replacing.

Kullanıcı güç düğmesine bastığı için sistem kapatıldığında aşağıdaki gibi günlükleri alırsınız:

systemd-logind: Power key pressed.
systemd-logind: Powering Off...
systemd-logind: System is powering down.

Yalnızca sistem düzenli olarak kapatıldığında aşağıdaki gibi günlükleri alırsınız:

rsyslogd: ... exiting on signal 15

Sistem aşırı ısınma nedeniyle kapatıldığında aşağıdaki gibi günlükleri alırsınız:

critical temperature reached...,shutting down

Bir UPS'niz varsa ve gücü ve kapanışı izlemek için bir arka plan programı kullanıyorsanız, günlüklerini açıkça kontrol etmelisiniz (NUT günlükleri/var/log/mesajlar üzerinde ancak apcupsd günlükleri/var/log/apcupsd *)


Notlar

*: Man sayfasından last açıklaması:

last [...] prints information about connect times of users. 
Records are printed from most recent to least recent.  
[...]
The special users reboot and shutdown log in when the system reboots
or (surprise) shuts down. 

En son 10 etkinliği saklamak için head kullanıyoruz ve siparişi tersine çevirmek için tac kullanıyoruz, böylece en sondan en azına kadar olan olaydan son baskıların alınmasıyla karıştırılmıyoruz.

26
ndemou

Keşfedilecek bazı olası günlük dosyaları: (bir Ubuntu sistemi buldum, ancak çoğu Linux/Unix sisteminde mevcut olduklarını umuyorum)

/var/log/debug
/var/log/syslog (will be pretty full and may be harder to browse)
/var/log/user.log
/var/log/kern.log
/var/log/boot

Yine, bu günlük dosyaları bir Ubuntu sisteminde mevcuttur, bu nedenle dosya adları farklı olabilir. tail komutu arkadaşınızdır.

11
user6148

last ile sistem kapatma girişlerini ve çalıştırma düzeyi değişikliklerini görüntüleyerek ve shutdown ve reboot üzerinde filtreleme kullanarak basitleştirin:

last -x shutdown reboot
8
jhvaras

Tamamen tatmin edici değil

Debian 7.8'e benzer bir ihtiyaç duydum ve günlükte net ve açık bir mesaj olmadığını gözlemledim, bu biraz şaşırtıcı.

/var/log Aracılığıyla Grep, makinenin kapatıldığı zamanı söyler, düzgün daemons kapatma vb. Gösterir, ancak ilk nedeni değil.

shutdown[25861]: shutting down for system halt

Bahsedilen diğer çözümler (last -x) Pek yardımcı olmadı.

Nasıl çalıştığına bakmak

Şunları içeren /etc/acpi/powerbtn-acpi-support.sh Okunuyor:

 eğer [-x /etc/acpi/powerbtn.sh]; sonra 
 # Acpid paketindeki eski yapılandırma komut dosyası ile uyumluluk 
 /etc/acpi/powerbtn.sh[.____. closeupElif [-x /etc/acpi/powerbtn.sh.dpkg-bak] ; sonra 
 # Yönetici paketinden eski yapılandırma komut dosyası ile uyumluluk 
 # hala yönetici tarafından değiştirildiği için 
 /etc/acpi/powerbtn.sh.dpkg-bak 
 else 
 # Normal kullanım. 
/sbin/shutdown -h -P şimdi "Güç düğmesi basıldı" 
 fi 

shutdown komutunun parametresi olarak açık bir metin verildiğine dikkat edin. Bu dizenin kapatma programı tarafından otomatik olarak günlüğe kaydedilmesini beklerdim.

Daha iyi günlükler için ayarlama

Her neyse, açık bir mesaj almak için aşağıdaki metni (kök olarak) yeni oluşturulmuş bir /etc/acpi/powerbtn.sh İle chmod a+x /etc/acpi/powerbtn.sh

 #!/bin/sh 
 kaydedici /etc/acpi/powerbtn.sh, muhtemelen "Güç düğmesine basıldı" 
/sbin/shutdown -h -P now "Güç düğmesi "basılı 

Bu şekilde yapılması muhtemelen /etc/acpi/powerbtn-acpi-support.sh Üzerinde değişiklik yapmaktan daha uzun süreli bir değişiklik yapacaktır. İkinci seçenek, muhtemelen acpi-support-base Paketinin bir sonraki yükseltmesindeki etkisini kaybedecektir.

Ubuntu 14.04'ten farklı bir şekilde fark edilir (/etc/acpi/powerbtn.shacpid paketinden farklı içerikle zaten var). Ayrıca Debian 8 muhtemelen farklı yapıyor. Varyant sunmaktan çekinmeyin.

Kar!

Ve şimdi güç düğmesine basıldığında, /var/log/messages, /var/log/syslog Ve /var/log/user.log Öğelerinde aşağıdaki gibi bir satır görünür:

logger: in /etc/acpi/powerbtn.sh, presumably Power button pressed

Şimdi bu günlükte açık bir mesaj.

8

Sadece beceriksiz bir fikrim var, ama belki sizin için çalışır: last komutunu girin ve tüm kullanıcılar için giriş bilgilerini kontrol edin. daha sonra, kullanıcılara, o anda giriş yapmış olan halt için gerekli izinle filtre uygulayın. sonra onların .bash_history dosyası durmuş olup olmadıklarını görmek için.

4
sazary

Benim durumumda aşırı ısınma problemi yaşadım ve/var/log klasöründe 'grep shut *' ile/var/log/syslog girişini buldum.

Günlüğe kaydedilen hata şuydu:

Feb 23 15:59:49 luca-LIFEBOOK-A530 kernel: [24746.497174] thermal thermal_zone0: critical temperature reached(99 C),shutting down
1
luandrea

Sadece benim KVM VM (burada bir Host yeniden başlatma konukların temiz bir kapatma yaptığını merak ettim) üzerinde çip), ben /var/log/auth.log (Aynı şeyi gösteren last -x shutdown 'A ek olarak) Bu satırlar burada ortaya çıktı:

Sep  3 23:56:31 Web systemd-logind[531]: Power key pressed.
Sep  3 23:56:31 Web systemd-logind[531]: Powering Off...
Sep  3 23:56:31 Web systemd-logind[531]: System is powering down.
Sep  3 23:55:45 Web systemd-logind[591]: New seat seat0.
Sep  3 23:55:45 Web systemd-logind[591]: Watching system buttons on /dev/input/event0 (Power Button)
Sep  3 23:55:54 Web sshd[805]: Server listening on 0.0.0.0 port 22.
Sep  3 23:55:54 Web sshd[805]: Server listening on :: port 22.

last -x Bu satırları gösterir, en sonuncusu ilk sırada sırayla yazdırıldıklarına dikkat edin (ilk önce son satırı okuyun ve sonra yukarı çıkın), ancak saat nedeniyle sıfırlama (önyükleme öncesi 23:56, sonra 23:55) önceki satırlarda da görülüyor, sipariş biraz şaşırtıcı görünüyor:

runlevel (to lvl 2)   3.13.0-129-gener Sun Sep  3 23:55 - 22:04  (22:08)    
reboot   system boot  3.13.0-129-gener Sun Sep  3 23:55 - 22:04  (22:08)    
shutdown system down  3.13.0-123-gener Sun Sep  3 23:56 - 23:55  (00:00)    
runlevel (to lvl 0)   3.13.0-123-gener Sun Sep  3 23:56 - 23:56  (00:00)

Benim açımdan, konuklar Host başlatıldığında temiz bir şekilde kapanıp kapanmadığını kontrol ederek, konuklardan birine (ssh) giriş yapabilir ve Host'u önyüklediğimde terminalde bu hatları alarak orada kalabilirim:

[email protected]:~#
Broadcast message from [email protected]
        (unknown) at 22:25 ...

The system is going down for power off NOW!
Connection to web closed by remote Host.
Connection to web closed.
1
stolsvik

takma adın bir komut dosyasına kapatılması
komut dosyası tüm parametreleri, vb. orijinal kapanma yürütülebilir dosyasına vermelidir
AMA: senaryo bunları günlüğe kaydetmelidir

0
LanceBaynes