1.                                                

23-) Sıfırdan Temel Linux Eğitimi [Log Kayıtları]

'Dökümanlar' forumunda Al-Farabi tarafından 8 Temmuz 2018 tarihinde açılan konu

  1. Al-Farabi

    Al-Farabi Albay

    Katılım:
    16 Ocak 2016
    Mesaj:
    1,349
    Beğeniler:
    128
    Ödül Puanları:
    63

    Log Kayıtları
    Sistemde olan sorunlar, işlemler, değişiklikler ve neredeyse her şey kayıt altına alınarak saklanır. Bu kayıt altına alınan bilgilere log deniyor. Neden log(kayıt) tutulmak zorunda diye soracak olursanız; kısaca sistemin olumsuz bir durumla karşılaşması halinde sorunun yaşanma nedeninin belirlenmesi, sistem güvenliğini sağlama, gerektiğinde veri kurtarma ve adli bilişim gibi alanlarda başvurmamız gereken yegane kaynaklardır log dosyaları. Anlayacağınız log(kayıt) dosyaları sistem bütünü için çok önemli yer tutmaktadır.

    Log Dosyaları
    Linux sisteminde log dosyalarının çok büyük kısmı /var dizini altında log klasörü içerisinde tutuluyor. Ayrıca log dizini içerisinde de belli başlı programlara ve servislere ait logları bulunduran başka alt dizinler bulunuyor. Bu durumu gözlemlemek için komut satırına cd /var/log yazarak log dosyalarının tutulduğu dizine gidip dizin içerisinde iken ls komutu ile dizin içeriğini listeleyelim.

    [​IMG]

    Bir çok kayıt dosyası listelenmiş oldu. Örneğin ben buradan, oturum açma işlemlerini ve detaylarını tutan auth.log dosyasını açarak sistemde yapılmış olan oturum açma işlemlerini ve detaylarını inceleyebilirim. Ancak bu noktada bir kısa bilgi Linux sistemi log dosyalarının çok fazla yer kaplamasını önlemek için üzerine yazma metodunu kullanıyor. Bu noktada cron servisi ile log kayıtları her hafta eklenerek maksimum 1 ay kadar eskiyi yani 4 haftayı kayıt altında tutuyor. Bu tutulan kayıtlar 4 hafta sonunda; "log_dosyası.1.gz", "log_dosyası.2.gz", "log_dosyası.3.gz" şeklinde arşivlenerek saklanıyor. Yani örneğin siz eğer auth.log dosyasının bu ay değil de geçmişteki aylardaki kayıtlarına bakmak isterseniz. Arşivlenmiş olan "auth.log.1.gz", "auth.log.2.gz", "auth.log.3.gz" şeklindeki dosyalara bakmanız gerekir.

    Log dosyalarını incelerken kolaylık olması açısından daha önce de kullanmış olduğumuz ve dosyanın alt(tail/kuyruk) kısımlarını listeleyen tail komutundan yararlanacağız. Bu sayede uzun uzadıya dosyanın tamamına bakmak yerine son eklenen bilgileri inceleyebileceğiz.

    Hemen örnek olması açısından oturum açma işlemlerini ve detaylarını tutan auth.log kayıt dosyasını açalım. Bu açma işlemini de yalnızca dosyada en son yapılmış 5 değişikliği gösterecek şekilde yapalım. Bunun için konsola tail -n 5 auth.logkomutumuzu giriyoruz.

    [​IMG]

    Komutumuzu girmemizle birlikte konsol bize son 5 oturum açma işlemlerini ve detaylarını listelemiş oldu.

    Hazır yeri gelmişken tail komutuyla sistemdeki olayların anlık olarak takibini yapalım. Bunun için sistemdeki olayların kaydını tutan messages dosyasını okumalıyız. Bu okuma işlemini sistemdeki anlık hareketleri takip etmek için yaptığımızdan, okuduğumuz dosyaya yeni eklenen her veriyi anlık görmek için tail -f messages komutunu kullanıyoruz. Buradaki tail -fkomutunu açıklayacak olursam; biliyorsunuz tail komutu dosyanının alt kısımlarını görüntülememize olanak tanıyan bir komut. Ve bu komutun -f parametreside bu görüntülenecek kısım için dosyayı sürekli yeniden tarayarak dosyaya en son eklenen verileri bize göstermekle mükellef. Yani tail komutunun f parametresi bize yalnızca dosyaya en son eklenen ifadeleri güncel şekilde listeliyor.

    [​IMG]

    dmesg
    Sistem açılışından itibaren çekirdek tarafından üretilen tüm iletiler ve kernel hakkındaki kayıtlar /proc/kmsg dizininde tutuluyor. Ancak biz bütün kernel kayıtları yerine, sistem açılışında yazan açılış notlarını dmesg komutu ile görüntüleyebiliriz. Yani dmesgkomutu sadece tampondaki son iletileri gösterir. Bu komutun kullanımına genelde sistem açılışında bildirilen problemlerin tespiti ve diğer sistem uyarılarını saptamak için başvurulur.

    [​IMG]

    Elbetteki çıktı çok daha uzun ancak ben örnek olması açısından çıktıları kısaca verdim. Eğer siz bu çıktıları filtrelemek isterseniz grep komutunu kullanarak ilgili çıktılara rahatlıkla ulaşabileceğinizi biliyorsunuz. Örneğin yalnızca hataları görüntülemek istersek konsola dmesg | grep "fail" şeklinde yazdığımızda, konsol bize yalnızca sistem açılışında belirtilen hataları basacaktır.

    [​IMG]

    Gördüğünüz gibi "fail" ifadesinin geçtiği yani hataların belirtildiği tüm iletiler karşımıza gelmiş oldu.

    last
    Komutumuzun isminden de az çok anlaşılacağı gibi; en son oturum açan kullanıcıları listelemek için last komutunu kullanabiliriz.

    [​IMG]

    last komutuyla en son oturum açan kullanıcılar uzunca listelenmiş oldu.

    Eğer uzunca liste almak istemezsek komutumuzu en son listelemek istediğimiz satır sayısını belirterek last -satır_sayısışeklinde belirterek istediğimiz uzunlukta çıktı elde edebiliriz.

    Örneğin ben sadece son 2 oturum hareketini görüntülemek istersem komutumu last -2 şeklinde belirtmem yeterli.

    [​IMG]

    Veya sondan 4 oturuma bakmak istersem komutumuzu last -4 şeklinde kullanırım.

    [​IMG]

    Ayrıca kullanıcı adına göre oturum açma bilgisi sorgulayabiliriz. Örneğin ben yalnızca "burak" isimli kullanıcı hesabının oturum hareketlerini görmek istersem, konsola last burak şeklinde yazdığımda karşıma yalnızca "burak" kullanıcı hesabının oturum hareketleri gelir.

    [​IMG]

    Gördüğünüz gibi yalnızca "burak" kullanıcı hesabının oturum açma bilgileri listelenmiş oldu. Yani kullanıcıya göre oturum bilgilerini öğrenmek için, komutu last kullanıcı_adı şeklinde kullanabilirsiniz.

    [​IMG]


    Dokümantasyon Kaynağı
    [​IMG]
    Her türlü soru, öneri veya görüşleriniz için bana bu adresten geri bildirimde bulunabilirsiniz.

    Videolu eğitimi incelemek için buraya tıklayın.
     
    Son düzenleme: 8 Temmuz 2018
    MrX bunu beğendi.

Bu Sayfayı Paylaş

Share