Günlük analizi: grep, awk, jq, olay kimlikleri
Metin tabanlı günlükleri süzmek için grep, awk, jq kalıpları ve önemli Linux/Windows olay kimlikleri.
Son güncelleme 2026-09
grep temel kalıplar
grep -i hata gunluk.logBüyük ve küçük harf duyarsız arama yapar.
grep -v basarili gunluk.logBelirtilen deseni içermeyen satırları gösterir.
grep -c 'Failed password' auth.logEşleşen satır sayısını verir, toplam deneme sayısını gösterir.
grep -n 'error' uygulama.logEşleşen satırların satır numarasını da gösterir.
grep -E '4625|4648' gunluk.txtGenişletilmiş düzenli ifadeyle birden çok deseni aynı anda arar.
grep -r 'TODO' /uygulama/Bir dizin ağacındaki tüm dosyalarda deseni arar.
awk temel kalıplar
awk '{print $1}' erisim.logHer satırın ilk alanını, genelde IP adresini yazdırır.
awk -F',' '{print $2}' veri.csvVirgülü alan ayırıcı kabul edip ikinci sütunu yazdırır.
awk '$9==404 {print $1}' erisim.logDokuzuncu alanı 404 olan satırların ilk alanını yazdırır.
awk '{s+=$1} END {print s}' rakamlar.txtBir sütundaki sayıları toplayıp sonunda yazdırır.
awk 'NR>1' veri.csvİlk satırı atlayarak geri kalanını yazdırır.
jq temel kalıplar
jq '.kullanici.ad' veri.jsonİç içe bir alanın değerini okur.
jq '.[] | .id' liste.jsonBir JSON dizisindeki her ögenin id alanını sırayla yazdırır.
jq 'select(.seviye=="kritik")' gunluk.jsonYalnız belirtilen koşulu sağlayan kayıtları filtreler.
jq -r '.mesaj' gunluk.jsonSonucu tırnaksız, ham metin olarak yazdırır.
jq '[.[] | .sure] | add' gunluk.jsonBir dizideki sayısal alanları toplar.
Linux önemli olay kaynakları
sshd: Accepted passwordBaşarılı SSH parola girişini gösterir, auth.log veya journalctl'de görülür.
sshd: Failed passwordBaşarısız SSH giriş denemesini gösterir, tekrar sayısı kaba kuvvet göstergesi olabilir.
sudo: COMMAND=sudo ile çalıştırılan komutu ve çalıştıran kullanıcıyı kaydeder.
useradd[…]: new userYeni kullanıcı hesabı oluşturulduğunu kaydeder.
CRON: (kullanici) CMDZamanlanmış görevin çalıştığını kaydeder.
journalctl -kYalnız çekirdek günlüğünü gösterir, donanım ve güvenlik modülü olaylarını içerir.
Windows önemli olay kimlikleri
4624Başarılı oturum açma.
4625Başarısız oturum açma denemesi.
4648Açık kimlik bilgisiyle oturum açma, yanal hareket incelemesinde önemlidir.
4672Yönetici düzeyinde özel ayrıcalıklarla oturum açma.
4688Yeni bir sürecin oluşturulması.
4697Sisteme bir servis kurulması.
4720Yeni bir kullanıcı hesabı oluşturulması.
1102Güvenlik günlüğünün temizlenmesi, iz gizleme göstergesi olabilir.
Birleşik hat örnekleri
grep 'Failed password' auth.log | awk '{print $(NF-3)}' | sort | uniq -c | sort -rnBaşarısız girişleri kaynak IP'ye göre sayıp en çok denenenden sıralar.
cat erisim.log | awk '{print $1}' | sort | uniq -c | sort -rn | head -10En çok istek gönderen ilk 10 kaynağı listeler.
journalctl -u sshd --since today | grep Failed | wc -lBugün oluşan başarısız SSH girişi sayısını verir.
grep -oE '([0-9]{1,3}\.){3}[0-9]{1,3}' gunluk.log | sort -uGünlükten benzersiz IP adreslerini ayıklar.
tail -n 1000 gunluk.log | grep -ci hataSon 1000 satır içindeki hata sayısını verir.