Eggdrop

Eggdrop Log Ayarları: Kanal ve Bot Günlüklerini Yapılandırmak

· Güncelleme: · 5 dk okuma

Eggdrop Log Ayarları: Kanal ve Bot Günlüklerini Yapılandırmak
İçindekiler
  1. logfile Satırının Yapısı
  2. Log Seviyeleri
  3. Partyline'da Canlı Log İzlemek
  4. Günlük Döndürme
  5. Zaman Damgası
  6. Kanal Logları ve İstatistikler
  7. Gizlilik ve Sorumluluk
  8. Önerilen Başlangıç Yapılandırması
  9. Gerçek Bir Senaryo
  10. Logları Okumak ve Aramak
  11. Sonuç

Bir bot sessizce çalışırken arka planda ne olup bittiğini bilmenin tek yolu loglardır. Bot neden çöktü, kim hangi kullanıcıya op verdi, dün gece kanalda ne oldu, bir script neden hata verdi? Bütün bu soruların cevabı log dosyalarındadır. Eggdrop log ayarları, botun hangi olayları hangi dosyalara kaydedeceğini belirler. Doğru yapılandırılmış loglar sorun gidermeyi kolaylaştırır; kötü yapılandırılmış loglar ise ya hiçbir şey göstermez ya da diski dolduracak kadar büyür.

logfile Satırının Yapısı

Eggdrop'ta loglar eggdrop.conf'taki logfile satırlarıyla tanımlanır:

logfile mco * "logs/eggdrop.log"
logfile jpk #kanal "logs/kanal.log"

Satırın üç parçası vardır:

  1. Seviyeler: Hangi olay türlerinin kaydedileceği (mco, jpk gibi harfler).
  2. Kanal: Hangi kanalın olaylarının kaydedileceği. * bütün kanallar ve kanal dışı olaylar anlamına gelir.
  3. Dosya yolu: Logların yazılacağı dosya.

Birden fazla logfile satırı tanımlayarak farklı olay türlerini farklı dosyalara ayırabilirsiniz. Bu, örneğin botun teknik loglarını kanal sohbetlerinden ayırmak için idealdir. Yapılandırma dosyasının genel yapısı için eggdrop.conf ayarları yazımıza bakın.

Log Seviyeleri

HarfKaydedilen olaylar
mBota gelen özel mesajlar, notice'lar ve CTCP'ler
pKanal mesajları ve notice'ları (public)
kAtmalar, banlar ve mod değişiklikleri
jGiriş, çıkış, nick değişiklikleri, bölünmeler
sSunucu bağlantıları ve sunucu mesajları
bBotnet bağlantıları ve botnet mesajları
cKullanıcıların partyline ve mesaj komutları
oDiğer bot mesajları ve genel bilgiler
wWallops mesajları
xDosya aktarımları
d, h ve benzerleriHata ayıklama ve ham sunucu trafiği

Hata ayıklama seviyeleri çok ayrıntılı veri üretir ve yalnızca belirli bir sorunu ararken geçici olarak açılmalıdır. Ham sunucu trafiğini kaydeden seviyeler, NickServ'e gönderilen parolalar gibi hassas bilgileri de içerebilir; bu yüzden bu seviyelerle oluşturulan dosyaları sorun çözüldükten sonra güvenli şekilde silin. Seviyelerin tam listesi ve sürüme özgü ayrıntılar için eggdrop.conf örneğindeki açıklamaları okuyun.

Partyline'da Canlı Log İzlemek

Log seviyeleri yalnızca dosyalar için değil, partyline ekranı için de geçerlidir. .console komutuyla partyline'da hangi olayları canlı olarak görmek istediğinizi belirleyebilirsiniz:

.console #kanal mkcobs

Bu, sorun giderirken çok kullanışlıdır: Bir script hata veriyorsa konsolunuzu ilgili seviyelere ayarlayıp olayları canlı izleyebilirsiniz. Partyline kullanımı hakkında daha fazlası partyline yazımızda.

Günlük Döndürme

Log dosyaları zamanla büyür. Kalabalık bir kanalın mesaj logu birkaç hafta içinde yüzlerce megabayta ulaşabilir. Eggdrop'un yerleşik günlük döndürme ayarları, log dosyalarını belirli aralıklarla yeni bir dosyaya geçirir ve eski dosyayı tarihli bir isimle saklar. İlgili ayarlar arasında logların her gün döndürülmesi, dosya adına tarih eklenmesi ve dosyanın belirli bir boyutu aşınca döndürülmesi gibi seçenekler bulunur. Ayar adları sürüme göre değişebileceği için eggdrop.conf örneğinizdeki log bölümünü inceleyin.

Döndürülen eski logları sıkıştırıp belirli bir süreden sonra silmek için crontab'a basit bir temizlik komutu eklenebilir. Örneğin 30 günden eski log dosyalarını silmek, hem disk alanını korur hem de kişisel verilerin gereğinden uzun saklanmasını önler. Crontab kullanımını autobotchk ve crontab yazımızda anlattık.

Zaman Damgası

Her log satırının başında olayın zamanı yer alır. Zaman damgasının biçimi yapılandırılabilir. Saniye hassasiyeti, olayların sırasını anlamak için yararlıdır. Botun çalıştığı sunucunun saat diliminin doğru ayarlandığından emin olun; aksi hâlde loglardaki zamanlar gerçek zamandan saatlerce farklı görünebilir ve olayları diğer kaynaklarla karşılaştırmak zorlaşır.

Kanal Logları ve İstatistikler

Kanal mesajlarını kaydetmenin yaygın bir amacı istatistik üretmektir. Kanal log dosyalarını işleyerek en aktif kullanıcıları, en yoğun saatleri ve en çok kullanılan kelimeleri gösteren web sayfaları oluşturan araçlar vardır. Bu araçların çoğu belirli bir log biçimini bekler; Eggdrop'un log biçimini destekleyip desteklemediğini kontrol edin. İstatistik sayfası yayımlayacaksanız kanal kullanıcılarını önceden bilgilendirin ve özel kanalların istatistiklerini kamuya açık hâle getirmeyin.

Gizlilik ve Sorumluluk

Kanal loglarını tutmak, kullanıcıların yazdıklarını saklamak demektir. Bu bir sorumluluk getirir:

  • Bilgilendirme: Kanal konusunda veya karşılama mesajında kanalın loglandığını belirtin.
  • Erişim kontrolü: Log dosyalarının izinlerini yalnızca botu çalıştıran kullanıcının okuyabileceği şekilde ayarlayın.
  • Saklama süresi: Logları süresiz tutmayın; ihtiyacınız olan süreyi belirleyip eskilerini silin.
  • Özel mesajlar: Bota gönderilen özel mesajlar parolalar içerebilir. m seviyesini dikkatli kullanın.
  • Ağ kuralları: Bazı ağların kanal loglarının yayımlanmasıyla ilgili kuralları vardır; ağınızın politikasını okuyun.

Genel güvenlik önlemleri için Eggdrop güvenliği yazımıza bakın.

Önerilen Başlangıç Yapılandırması

Çoğu bot için şu düzen iyi bir başlangıçtır:

logfile mcobs * "logs/bot.log"
logfile jk #kanal "logs/kanal-olaylar.log"

İlk dosya botun teknik işleyişini, ikincisi ise kanaldaki giriş-çıkış ve atma-ban olaylarını kaydeder. Kanal mesajlarını kaydetmeye gerçekten ihtiyacınız yoksa p seviyesini eklemeyin. Böylece hem disk kullanımı düşük kalır hem de gizlilik riski azalır.

Gerçek Bir Senaryo

Bir botun sahibi, botun her gece saat üç civarında kanaldan düştüğünü fark ediyor ama nedenini bilmiyor. Log dosyasında yalnızca kanal mesajları kaydedildiği için teknik bilgi yok. Sahibi s ve o seviyelerini ekleyerek sunucu ve bot mesajlarını kaydetmeye başlıyor. Ertesi gün loglarda, botun her gece aynı saatte çalışan bir yedekleme işlemi sırasında bağlantısının zaman aşımına uğradığı görülüyor. Yedekleme saatini değiştirdikten sonra sorun ortadan kalkıyor. Sahibi, sorun çözüldükten sonra log seviyelerini makul bir düzeye geri çekiyor.

Logları Okumak ve Aramak

Büyük log dosyalarında aradığınızı bulmak için Unix'in temel araçları yeterlidir. Belirli bir nickin geçtiği satırları bulmak, belirli bir tarih aralığını incelemek veya hata mesajlarını filtrelemek için metin arama komutlarını kullanabilirsiniz. Sorun giderirken önce olayın yaklaşık zamanını belirleyin, ardından o zamana ait satırları inceleyin. Hata mesajlarının hemen öncesindeki satırlar genellikle sorunun kaynağını gösterir. Bu alışkanlık, özellikle script hatalarını ararken saatlerce zaman kazandırır.

Sonuç

Loglar botunuzun kara kutusudur. Teknik logları sohbet loglarından ayırın, seviyeleri ihtiyacınıza göre seçin, günlük döndürmeyi açın, eski dosyaları temizleyin ve kullanıcıların gizliliğine saygı gösterin. Bot verilerinizi kaybetmemek için sıradaki rehberimiz Eggdrop yedekleme.

IRC sorunun mu var? Kanalda birlikte çözelim.

💬 Kanala Bağlan

Sıkça Sorulan Sorular

Eggdrop log seviyeleri ne anlama gelir?

Her seviye harfi bir olay türünü temsil eder; örneğin k atma ve banları, j giriş-çıkışları, p kanal mesajlarını, o bot mesajlarını kaydeder.

Log dosyaları neden çok büyüyor?

Kalabalık kanallarda mesaj logları hızla büyür. Günlük döndürme ve eski dosyaları sıkıştırıp silmek bu sorunu çözer.

Kanal loglarını tutmak yasal mı?

Bu, ağın kurallarına ve bulunduğunuz yerin mevzuatına bağlıdır. Kullanıcıları bilgilendirmek ve logları güvenli saklamak en azından temel sorumluluktur.