Linux Türevi Sistemlerde Log Analizi için Pratik Bilgiler

Merhabalar

Bu makalede linux işletim sistemlerinde sistem log dosyalarını ve log dosyalarını okumak için pratik linux komutlarını anlatmaya çalışacağım.

Linux sistemlerde varsayılan olarak log dosyaları /var/log/ dizini altında tutulur. Bazı uygulama geliştiriciler, keyfi olarak farklı dizinlerde kayıt tutabilir (combat, apache, clamav vb.) aşağıdaki komutu kullanarak log dosyalarının bulunduğu dizine girebilirsiniz.

root#: cd /var/log/

1

Linux sistem log dosyası /var/log/syslog dosyasında tutulur. Aşağıdaki komutu kullanarak sisteminizin log dosyasını görebilirsiniz, enter tuşuna basarak log dosyasında ilerleyebilirsiniz.

root#: cat /var/log/syslog | less

1

Sistem syslog dosyası ile ilgili bir örnek yapalım, sistem günlüğüne bir mesaj yazalım ardından yazdığımız mesajı syslog dosyasından görelim. Bu işi yapan logger programı hızlı bir şekilde basit bir komutla sistem günlüğüne mesaj yazmanızı sağlar. Aşağıdaki komutu kullanarak sistem günlüğüne “Hello” yazalım, hemen ardından tail komutunu kullanarak yazdığımız mesajı görelim.

root#: logger "Hello"
root#: tail -f /var/log/syslog

1

Linux işletim sistemlerinde başarısız ssh girişleri ve sistem login ‘lerini /var/log/auth.log dosyasının içerisinde bulabilirsiniz. Örnek olması amacıyla herhangi bir kullanıcı sizin sisteminize başarısız ssh girişimlerinde bulunsun daha sonra sizde aşağıdaki komutu kullanarak o kullanıcının yaptığı başarısız ssh denemelerini görebilirsiniz.

root#: cat /var/log/auth.log | grep sshd

1

Linux işletim sistemi boot edilirken oluşan kayıtlar /var/log/dmesg dosyasında tutulur. Kayıtları iki farklı şekilde görüntüleyebilirsiniz birincisi dmesg komutunu kullanarak görebilirsiniz ikinci seçeneğiniz ise aşağıdaki komutu kullanarak görebilirsiniz.

root#: cat /var/log/dmesg | less
1
 
Sisteminizde kurduğunuz paket günlüklerini /var/log/apt/term.log dosyasının içerisinde bulabilirsiniz. Aşağıdaki komutu kullanarak log dosyasını görüntüleyebilirsiniz.
root#: strings /var/log/apt/term.log | less
1
 
Linux işletim sisteminizde kullandığınız geçmiş komutları /var/log/apt/history.log dosyasında bulabilirsiniz. Bir başka seçeneğiniz ise history komutunu kullanarak ‘da geçmişte kullandığınız komutları görebilirsiniz.
root#: cat /var/log/apt/history.log | less
1
 
Sisteminize en son giriş ve çıkış yapmış olan kullanıcıların, terminal ismi, tarih, saat vb. bilgileri /var/log/wtmp dosyasının içerisinde bulabilirsiniz. Bir başka seçenek ise last ve lastlog bu iki komutu ‘da kullanarak görebilirsiniz. Aşağıdaki komutu kullanarak wtmp dosyasını görüntüleyebilirsiniz.
root#: last -f /var/log/wtmp | less
1
 
Linux işletim sistemlerinde log okumak için kullanılabilecek pratik linux komutları. Tail komutunun -f (follow) parametresi diye güzel bir komut satırı seçeneği vardır, herhangi bir log dosyasını eş zamanlı olarak takip etmenizi sağlar. Aşağıdaki komutu kullanarak bir log dosyasını eş zamanlı olarak izleyebilirsiniz.
root#: tail -f dosya_ismi

1

Cat komutu linux sistemlerde düz metin dosyalarını görüntülemek için kullanılan güzel bir komuttur. Aşağıdaki komutu pratik olarak kullanabilirsiniz, aşağıdaki komut herhangi bir dosyanın baştan sona kadar olan satır sayılarını gösterir.
root#: cat -n dosya_ismi
1
 
Bazı durumlarda büyük boyuttaki dosyaların ilk baştan 10-20 satırını yada sondan 10-20 satırını okumamız gerekebiliyor. Bu durumlarda head ve tail komutlarını kullanarak baştan veya sondan istediğiniz kadar satırın gözükmesini sağlayabilirsiniz. Tail komutu parametresiz kullanıldığı zaman bir dosyanın son satırlarını ekrana basar, ama siz son satırlarını değilde son 15 satırını ekrana basmak isterseniz aşağıdaki komutu kullanabilirsiniz.
root#: tail -n 15 dosya_ismi
1
Head komutu normalde parametresiz girildiği zaman bir dosyanın ilk satırlarını ekrana basar. Aşağıdaki komutu kullanarak bir dosyanın ilk 20 satırını ekrana basabilirsiniz.
root#: head -20 dosya_ismi
1
Herhangi bir dosyanın içindeki yazıları terminal ekranında sayfa sayfa görüntülemek isterseniz less komutunu kullanabilirsiniz. Dosyayı görüntülerken enter tuşuna basarak dosya içerisinde ilerleyebilirsiniz dosyadan çıkmak isterseniz q tuşuna basmanız yeterli olacaktır.
root#: less dosya_ismi
1
 
Bir dosyanın içerisinde belirli bir bir kelimeyi aramak isterseniz grep komutu pek çok parametresi olan güçlü bir komuttur. Örnek olarak aşağıdaki komutu kullanarak bir dosyanın içerisinde status kelimesini aratabilirsiniz.
root#: grep status dosya_ismi
1
 
Bir başka seçenek ise bir dosyanın içerisinde belirli bir kelime dışında kalanları listeleyebilirsiniz. Örnek olarak dosya.txt dosyasının içerisinde status geçmeyen kelimeleri listelemesini istiyoruz.
root#: grep -v status dosya_ismi
1
 
Bir dosyanın içerisinde aradığınız kelimenin kaç kez kullanıldığını görmek isterseniz grep komutunun -c parametresini kullanabilirsiniz. Bir dosyanın içerisinde herhangi bir kelime aratırken küçük/büyük harf duyarsızlığını kullanmak isterseniz -i parametresini ek olarak kullanabilirsiniz.
root#: grep -c status dosya_ismi

root#: grep -c -i status dosya_ismi
1
 
NOT: Ek olarak log okumak için geliştirilmiş bir program olan ” multitail  aracı pratik olarak kullanılabilir.
Bu yazının aynısını diğer blogumda bulabilirsiniz.
Tagged with: , , , , , , , , , , ,

Leave a Reply

Your email address will not be published. Required fields are marked *

*

Archives