Kullanıcı davranışları ve günlük işlemler: sed ile işlem geçmişini inceleme

0 Réponses 3 Vues
Votants
Participants
Auteur de la discussion #1
sed ile işlem geçmişini inceleme

İşletim sistemi üzerinde komut geçmişini veya uygulama loglarını daha etkin incelemek için sed, akış düzenleyici olarak güçlü bir araçtır. Özellikle günlük dosyalarında belirli kalıpları çekmek, satırları dönüştürmek veya after-the-fact analiz için hacimli logları özetlemek gerektiğinde sezgisel ama sağlam bir yardımcıdır. Aşağıda, sed’in temel kullanımlarını ve işlemlerin geçmişini anlamak için nasıl uygulanabileceğini adım adım ele alıyorum.


  • Günlük dosyasından belirli tarih aralığını çıkarmak: sed –n '/2024-08-01/,/2024-08-31/p' /var/log/syslog
    • Bu komut, 1 Ağustos 2024 ile 31 Ağustos 2024 arasındaki satırları filtreler. Eğer zaman damgası farklı bir formattaysa düzenli ifadeyi buna göre uyarlamak gerekir.

  • Belirli bir hata kategorisini toplamak: sed -n '/ERROR/p' /var/log/app.log
    • Sadece ERROR içeren satırları getirir; birden çok dosyada arama için sed ile birlikte birden çok dosyayı yönlendirmek de mümkün.

  • Satır içeriğini dönüştürerek özetlemek: sed 's/^[^ ]* [^ ]* //; s/bytes=[0-9]*/bytes=REDACTED/g' logfile.log
    • İçerikleri sadeleştirmek veya hassas bilgileri maskelemek için satır içi dönüşümler uygulanabilir. Bu, geçmişi incelemek için okunabilirliği artırır.

  • Birden çok kalıbı tek seferde çekmek: sed -n '/login/,/logout/p' access.log
    • Kullanıcı giriş-çıkış akışını kapsayan segmentleri bir araya getirir; özellikle oturum bazlı analizlerde yararlıdır.

  • Dosya içeriğini önce birleştirip sonra filtrelemek: sed -e '1,100p' -e '/session/ p' logfile.log >まとめ.log
    • Kısmi içeriği toplayıp ayrı bir dosyada incelemek için kullanılır. Özellikle çok sayfalı logları pencerelerde toplarken faydalıdır.

  • Yedekten veya arşivden geçmiş satırlarını temizlemek: sed -i '/^#/d' historical.log
    • Yorum satırlarını veya istenmeyen etiketleri geçmişten çıkararak temiz bir analiz kümesi oluşturur.

  • Zaman damgası parçalarını normalleştirmek: sed 's/\([0-9]\{2\}:[0-9]\{2\}:[0-9]\{2\}\).*/TIME:\1/' logfile.log
    • Farklı zaman damgalarını tek bir format altında karşılaştırılabilir hale getirir.



Sed ile işlem geçmişini incelemek, özellikle günlük dosyalarında hacimli veriyi hedeflenen kalıplarda çıkarıp dönüşüm yaparak anlamlandırmayı kolaylaştırır. Buradan elde edilen özetler, sistem davranışlarını anlamsal olarak karşılaştırmak için temel bir referans seti oluşturur.


CODE
123456# Örnek senaryo: Belirli bir sunucu uygulamasının günlüklerinde son 100 satırı almak
tail -n 100 /var/log/app.log | sed -n '$p'
[b]Ancak sed ile kendi filtrelememizi uygulayalım:[/b]
sed -n '100,199p' /var/log/app.log
[b]Zaman damgası ile filtreleme:[/b]
sed -n '/2024-08-15/,/2024-08-16/p' /var/log/app.log


Bu yöntemler, geçmişi anlamlı bir şekilde analiz etmek için başlangıç noktaları sağlar. Sizin özel log formatınız ve hedefiniz nedir? Hangi tür olayları (giriş/çıkış, hata, çalışma süresi vb.) daha sık analiz etmeniz gerekiyor?

Vous devez être connecté pour répondre.

0 citations sélectionnées