Dün bir müşterimizde ilginç bir sorun yaşadık. Sistemde yanlış dns ayarları bulunması sebebi ile syslog dışardan aldığı tüm verileri 10 saniyelik periyotlarda ve eksik yazmakta idi. DNS ayarının bozuk olduğunu görüp geçerli dns ayarlarını girince durum çözüldü.
Aslında DNS ayarlarının bozuk olduğunu syslog ile yaşadığımız bu sorundan değil firewall’dan gelen loglardan çözdük, fakat bir şekilde düzgün bir dns adresi girince herşey yoluna girmiş oldu.
DNS ile Syslog arasında ki bu ilişkiyi pek anlayamadım, araştırmalarım da pek bir sonuç elde edemedim… Bilen birileri bu soruyu yanıtlarsa çok mutlu olacağım…
/etc/hosts dosyasında sistemin loopback arayüzünü tanımlayan bir satır eksikse böyle bir sorun olabilir.
Ya da syslog ağ üzerinden yine aynı makinaya loglayacak şekilde ayarlanmışsa DNS sorunu logların gecikmesine ve çöpe atılmasına yol açmış olabilir.
Bir yerlerde syslog’un başka bilgisayarlara çıktı verebileceğine dair bir şeyler hatırlıyorum sanki.. O yazı yine gezegen’de çıkmıştı. Kim yazdı ya da tam olarak bunu mu içeriyordu hatırlayamıyorum ama belki de bundan kaynaklanan bir ilgisi olabilir.
syslog-ng kullanıyor ve use dns(yes) yapmış isen dns kullanması son derece normal olur bunun yanında time_reopen default olarak 10′dur dolayısı ile 10 saniyelik geçikme kısmı da buradan çıkarılabilir.
Tabii bütün bunları doğrulamak için hangi syslog yazılımın kullanıldığı ve config dosyasının nasıl olduğunun bilgisine ihtiyaç var.
Hani madem soru olarak sormuşsun o zaman şu dökümanı okumak gerekir soru sormadan önce.
http://catb.org/~esr/faqs/smart-questions.html
Yukarıda sorduğun sorunun sana sorulduğunu düşünürsen neden bu linki verdiğim açık olacaktır.
@Murat Koç
Verdiğiniz bilgiler için teşekkür ederim. Standart ubuntu üzerinde kurulu gelen syslog’u kullanıyorum. syslog.conf içerisinde time veya dns ile ilgili bir alan göremediğim için zaten sorunun kaynağını anlayamadım.
İkinci konuya gelince,
Eğer bu soruyu bir foruma, mail listesine vb bir ortama sormuş olsaydım dediğiniz doğruydu ki zaten böylesine çıplak bir durumun bu tarz yerlere bu şekli ile sorulmasının pek bir manası olmadığını düşünerek buraya yazdım, denk gelir bilen birileri cevaplar diye.
Rica ederim öncelikle, yine de detay belirtmek her zaman faydalıdır. Örneğin bu sefer de “standart ubuntu” demişsiniz, fakat hangi versiyon olduğunu söylememişsiniz. Jaunty, Karmic? server edition kurduğunuzu düşünerek ve karmic kurduğunuzu düşünerek yanıtlayacağım. Çünkü Jaunty ve Karmic versiyonlarındaki default syslog farklıdır. Jaunty de syslogd kullanılır iken Karmic de rsyslog kullanılır.
Her ne kadar rsyslog formatı ve davranışı ile syslogd ile compatible olmaya çalışmış olsa da ondan kat kat daha fazla özelliklere sahip olan bir üründür.
Gelelim dns ve syslog ilişkisine, öncelikli olarak default kurulumda hem syslogd hem de rsyslog log gönderen makinaların isimlerini çözmeye ve loga IP olarak değil hostname olarak yazmaya çalışırlar. İlişki bundan dolayı kaynaklanıyor. Her iki sistemde de syslogd binarysini çalıştırırken -x parametresini vermek dns kullanımını ortadan kaldırır. Dolayısı ile yanlış dns kullanımı belirttiğiniz sorunlara yol açacaktır.
Örneğin rsyslog dns disable iken 22000mps kadar log basabilirken dns enable edildiğinde bunun ancak yarı değerine çıkabilir.
Log dosyasına IP olarak bastırıp raporlama aracında dns çözümleme işini yaptırmak performans açısından oldukça iyi bir yöntem olacaktır. Tabii bu yapılandırmanız ancak uygun ise olabilir.
Kolay Gelsin,
Ubuntu rsyslog kullanır default. conf da dns in neden gerek olduğu da açıkça görünüyor