Ana Sayfa » *nix » FreeBSD üzerine Rsyslog Kurulumu ve Yapılandırması

FreeBSD üzerine Rsyslog Kurulumu ve Yapılandırması


BerbatKötüİdare EderGüzelHarika (Toplam 1 oy. 5 puan üzerinden ortalama 5,00 || Oy vererek siz de katkıda bulunabilirsiniz.)
Loading...

Warning: mysqli_query(): (HY000/3): Error writing file '/tmp/MYDBchD1' (Errcode: 28 - No space left on device) in /usr/share/nginx/html/syslogs/wp-includes/class-wpdb.php on line 2349

Syslog'un gelişmiş versiyonu olan Rsyslog'u sisteminizde kullanmak için kurulumunu kolayca yapabilir ve bir iki yapılandırma işlemi ile syslogd'nin yerine geçmesini sağlayabilirsiniz.

Rsyslog, sistemlere port edilmiş durumdadır. Yani port ağacından kurmak mümkün. İşe başlamadan önce port ağacınızın güncel olduğundan emin olun. Hızlıca güncellemek için şu adresten yararlanabilirsiniz: http://www.syslogs.org/2008/06/using-portsnap/

Rsyslog, port ağacında sysutils/rsyslog3 ismi ile bulunuyor. Sql destekli kurmak isterseniz sysutil dizini altındaki rsyslog3-mysql portunu kullanabilirsiniz. Ancak biz salt rsyslog kuracağımız için rsyslog3 isimli portu kullanacağız.

Kurulum


Port ağacında ilgili dizine  girin:

# cd /usr/ports/sysutils/rsyslog3

ve sonra herzamanki gibi kurulumu gerçekleştirin:

# make install clean

Rsyslog sisteme kurulduktan sonra rsyslog'u yapılandırmak gerekiyor.

Yapılandırma


Önce halihazırda çalışmakta olan syslogd'yi stop edelim.

# /etc/rc.d/syslogd stop

Şimdi syslog'un sistem açılışlarında otomatik olarak başlamaması için rc.conf dosyasına syslogd_enable=”NO” satırını ekliyoruz.

# echo 'syslogd_enable="NO"' >> /etc/rc.conf

Syslogd tamamen devre dışı bırakıldıktan sonra, aynı şekilde rsyslog'un sistem açılışlarında devreye girmesi için rc.conf'a gerekli satırları ekliyoruz:

echo 'rsyslogd_enable="YES"' >> /etc/rc.conf
echo 'rsyslogd_pidfile="/var/run/syslog.pid"' >> /etc/rc.conf
echo 'rsyslogd_flags="-c3"' >> /etc/rc.conf

Şimdi de, sistemde önceden syslogd tarafından kullanılan syslog.conf dosyasını rsyslog.conf ismi ile /usr/local/etc dizinine taşıyalım. Böylece, rsyslog, syslog'un şimdiye kadar yaptığı işi devralmış olacak ve log ayarlarınız bozulmayacak.

# cp /etc/syslog.conf /usr/local/etc/rsyslog.conf

Rsyslog çalışmaya hazır sayılır ancak önce rsyslog.conf dosyasına bir iki ekleme yapacağız.

/usr/local/etc/rsyslog.conf dosyasını editleyin:

# vi /usr/local/etc/rsyslog.conf

ve dosyanın en tepesine aşağıdaki satırları yapıştırın.

$ModLoad immark.so   # provides --MARK-- message capability
$ModLoad imuxsock.so # provides support for local system logging
$ModLoad imklog.so   # kernel logging

Ayrıca, rsyslog'u merkezi bir log sunucusu olarak kullanmak istemeniz durumunda, başka sistemlerden logları alabilmesi için network desteğini aktif hale getirin. Gene aynı dosya içerisine, yukarıda verilen satırların hemen altında şu ibareleri ekleyin:

# provides UDP syslog reception
$ModLoad imudp
$UDPServerRun 514

# provides TCP syslog reception
$ModLoad imtcp
$InputTCPServerRun 514

Satır açıklamalarından da anlaşılacağı üzere, üstteki kısım rsyslog'un udp 514. portu dinlemesi için imudp isimli modülü devreye alıyor. Aynı şey tcp 514. port için de imtcp modülü ile yapılıyor. Yani artık uzak sunuculardan bu rsyslog sunucusuna udp 514 ya da tcp 514 üzerinden log gönderilebilir.

Dosyayı kaydedip çıktıktan sonra rsyslog'u başlatıyoruz.

# /usr/local/etc/rc.d/rsyslog start

Herşey yolunda gittiyse rsyslog sunucusu çalışıyor demektir.

Rsyslog'un Test Edilmesi

Düzgün çalıştığını doğrulamak için, logger komutu ile bir log üretilebilir ve messages isimli log dosyasına yazılıp yazılmadığu test edilebilir.

# logger "Bu log'un, /var/log/messages dosyasına yazılması gerekir."

komutu verdikten sonra tail ile messages dosyasını kontrol edelim.

# tail /var/log/messages

Rsyslog'unuz düzgün çalışıyorsa, messages dosyasında aşağıdakine benzer bir satır görmeniz gerekir.

2009-08-30T21:46:55.921355+03:00 test-bsd cagri: Bu log'un, /var/log/messages dosyasna yazlmas gerekir.

Ayrıca, rsyslog'un tcp ve udp 514. portu dinleyip dinlemediğini anlamak için netstat komutundan yararlanılabilir:

# netstat -an |grep 514

Çıktı şu şekilde olmalıdır:

tcp4       0      0 *.514                  *.*                    LISTEN
tcp6       0      0 *.514                  *.*                    LISTEN
udp4       0      0 *.514                  *.*
udp6       0      0 *.514                  *.*

Evet görüldüğü gibi portlar dinleniyor, bu durumda rsyslog uzak sistemlerden gönderilecek logları da alabilecektir. Bu işlemin nasıl yapıldığını, Rsyslog ile Merkezi Log Sunucusu Kurulumu başlıklı yazıda bulabilirsiniz.

Ayrıca, herhangi bir tersliğe karşı rsyslog'u debub etmek için şu adımları izleyebilirsiniz.

Rsyslog'un Debug Edilmesi

Önce rsyslog'u stop edin.

# /usr/local/etc/rc.d/rsyslogd stop

ve komut satırından, debug parametresi ile start edin:

# /usr/local/sbin/rsyslogd -c3 -i /var/run/syslog.pid -f /usr/local/etc/rsyslog.conf -d

Bu şekilde rsyslog ile ilgili detaylı bilgi ekrana basılacaktır.

Genel olarak sistemlerde, rsyslog kurulumu bundan ibarettir.

Visited 1.262 times, 1 visit(s) today
Kategoriler: *nix |

Bu yazılar da ilginizi çekebilir:


- CentOS üzerine Rsyslog Kurulumu ve Yapılandırması
- phpLogCon ile Online Log Monitoring
- Rsyslog ile Merkezi Log Sunucusu Kurulumu
- FreeBSD Jail Kurulumu – Güvenli Network Servisleri
- Pure-FTPd Server ClamAV Entegrasyonu- FreeBSD

Yorumlar


  1. Oktay Hakkı Eskiyayla | (Ekim 8th, 2010 6:40 pm)

    Merhabalar öncelikleteşekkürler verdiginiz bilgi icin peki bu logları email adresine nasıl yollatabiliriz düzenli aralıklarla ve ts log imzalama debian da bir patch ile oluyordu bunda nasıl olacak onunla ilgili bir makalede yayınlarmısınız lütfen teşekkürler.

    [Cevapla]

  2. serkan | (Ekim 6th, 2016 5:29 pm)

    hocam merhabalar,

    yazılalı baya bir uzun zaman olmuş baya uğraştım fakat ben bunu bir türlü otomatik start edemedim.
    öncelikle şimdiki versiyonu fbsd8 serisinde son versiyon rsyslog-6.3.6.tbz syslogd yi bir türlü devre dışı bırakamadığımdan ismini değiştirdim. (rc.conf ve rc.d üzerinde disable yapmama rağmen her boot işleminden sonra yine onu başlatıyordu) sonrasında rsyslogd start diyerek yenisini başlatıyorum ve logları mysql e soruncuzca aktarıyorum. gel gelelim bunu da otomatik başlatamaz oldum. boot tan sonra manuel start deyip uygulamayı çalıştırabiliyorum ancak. çok takıldım. desteğinizi bekliyorum.

    [Cevapla]

Trackbacks

Yorumda bulunun.