Autor del tema #1
SED ile ağ bağlantısını doğrulama

Günlük sistem yönetiminde, ağ bağlantılarının sağlıklı çalıştığını basit ve güvenilir bir şekilde doğrulamak sık rastlanan bir ihtiyaçtır. Özellikle sunucu ortamlarında, betiklerle otomatik olarak bağlantıyı kontrol etmek ve sonuçları görmek iş süreçlerini hızlandırır. Bu yazıda, sed ile ağ bağlantısını doğrulama yaklaşımını tartışacağım; özellikle basit bir ping/çevrimsel kontrolü, log analizi ve çıktının güvenli biçimde raporlanması konularına odaklanıyorum.


  • İlk adım: ağ durumunu hızlıca doğrulama
    • Sed, doğrudan ağ bağlantısını test etmez; bunun için genelde ping veya ip ve route komutlarıyla bir durum elde edilir. Örneğin, bir ana bilgisayara ulaşılıp ulaşılamadığını basitçe kontrol etmek için önce bir komut çıktısını yakalarız:

    CÓDIGO
    12
    ping -c 1 -W 1 8.8.8.8 >/tmp/ping_once.out 2>&1 || true
    

    • Sonra bu çıktıyı sed ile değerlendiririz. Örneğin, paket kabul edildi mi, hedefe ulaşıldı mı, yoksa zaman aşımı mı gerçekleşti gibi metin parçalarını çıkarırız:

    CÓDIGO
    12
    grep -q "1 packets transmitted, 1 received" /tmp/ping_once.out && echo "BAĞLANTI: OK" || echo "BAĞLANTI: STEK" 
    

    • Burada sed yerine grep kullanımı basit ve güvenilir olabilir; sed’i sadece çıktının belirli satırlarını dönüştürmek için kullanmak daha doğru sonuç verecektir.

  • İleri senaryo: log dosyasında süreklilik kontrolü
    • Sunucudaki log dosyalarını gerçek zamanlı olarak izlemek ve ağ hatalarını tespit etmek için sed ile bir dönüşüm kurabiliriz. Örneğin, belirli bir hatayı içeren satırları normalize etmek ve tek bir standardize edilmiş hata mesajına dönüştürmek için:

    CÓDIGO
    12
    tail -f /var/log/syslog | sed -n '/network unreachable/ s//AĞ ERİŞİMİ KISITLI -CHECK/p'
    

    • Böylece hataların mevcut olması durumunda konsolda veya bir izleme aracında tek tip bir mesaj elde ederiz.

  • Bir sonraki adım: otomatik raporlama
    • Sed ile elde edilen çıktıyı, basit bir rapor formatına dönüştürüp günlük dosyasına append etmek için:

    CÓDIGO
    12
    /BAĞLANTI/!d; s//BAĞLANTI DURUMU: OK/; s/$/ [Tarih: ]/; >> /var/log/bağlantı_raporu.log
    

    • Burada sed’in akış işleme yeteneğini, diğer araçlarla birleştirerek zamana bağlı bir raporlama akışı kurmuş oluyoruz.
  • Kapsamlı kontrol senaryoları
    • Farklı hedefler için benzer desenler kurulur: DNS çözümleri, belirli portlar açık mı, veya VPN tünellerinin durumları gibi. Sed bu durumda dönüşüm kısımlarını standartlaştırmada faydalı olabilir; ancak gerçek bağlantı testleri için ping, curl veya nc gibi araçların çıktısına güvenmek gerekir.


[sİl]Not: Bu yazıda sed'in ana işlevi çıktıyı biçimlendirmek ya da dönüştürmek; ağ bağlantısını doğrudan test etmek için gerekli ana araçlar olan ping, curl, nc gibi komutlarla entegrasyon kurulur. İstersen belirli bir senaryoyu (örneğin belirli bir hizmetin her 5 dakikada bir ulaşılabilirliğini denetleyen bir betik) adım adım birlikte tasarlayalım ve çıktıları tek bir log formatında toplayalım. [/sİl]

Debes haber iniciado sesión para responder.

Usuarios que están viendo este tema (Total: 3, Miembros: 3, Invitados: 0)
Total: 3 (miembros: 3, invitados: 0)
0 citas seleccionadas