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

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


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

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

Bir önceki yazımda, rsyslog'un FreeBSD sistemler üzerine nasıl kurulabileceğinden bahsetmiştim. Şimdi ise bir sistemde, rsyslog kurulumu ve syslog'un rsyslog ile değiştirilmesi işleminin nasıl yapılacağından bahsetmek istiyorum.

üzerine rsyslog kurulumu ve yapılandırmasını bir kaç adımda halletmek mümkün. İlgili yazılımın rpm dosyaları, paket depolarında bulunduğundan dolayı, kurulumu yum ile yapmak mümkün. Kurulum sonucunda, sistem syslogd'nin ayarları ile çalışmak üzere ayarlanmış oluyor. Aşağıdaki adımları takip ederek kurulumu gerçekleştirebilirsiniz.

Kurulum


rsyslog paketini yum kullanarak her zamanki gibi kuruyoruz.

#yum install rsyslog

Kurulumdan sonra yapılandırma işlemlerine geçebiliriz.

Yapılandırma


sistemde syslog ve rsyslog olmak üzere iki adet log daemon'ı yüklü duruma geliyor. Chkconfig –list ile kontrol edebilirsiniz:

# chkconfig --list |grep syslog

Çıktı şu şekilde olacaktır:

rsyslog         0:off   1:off   2:off  3:off  4:off  5:off  6:off
syslog          0:off   1:off   2:on   3:on   4:on   5:on   6:off

Yukarıdaki çıktıda görüldüğü gibi hem syslog hem de rsyslog sisteme yüklü durumda. Syslog 2,3,4 ve 5. run level'larda otomatik olarak çalıştırılmak üzere ayarlanmış görünüyor. Şimdi biz syslog'u tüm run levellar'da off duruma getirip, rsyslog'u 2,3,4 ve 5 için on durumuna getireceğiz:

# chkconfig --level 2345 syslog off
# chkconfig --level 2345 rsyslog on

Tekrar kontrol ettiğiniz zaman syslog'un devre dışı bırakılıp rsyslog'un on duruma getirildiğini görebilirsiniz. Bu işlem tamam, ancak şu an syslogd sistemde çalışmakta. Bu nedenle, önce syslogd'yi durduruyoruz:

# service syslog stop

Sonra da rsyslog'u start ediyoruz.

# service rsyslog start

Artık rsyslog devrede ve syslog'un görevini almış durumda. ps ile kontrol edelim:

# ps aux |grep rsyslog

Çıktı şuna benzer olacaktır:

root      4557  0.0  0.3  12284   912 ?        Sl   12:53   0:00 rsyslogd -m 0

Herşey yolunda görünüyor. Rsyslog, /etc/rsyslog.conf dosyasının içeriğinden kareket ederek logları işleyecektir ve bu dosyanın içeriği orjinal syslog.conf dosyası ile aynı olduğu gibi loglar herzamanki gibi işlenmeye devam edecektir. Birazdan testleri yapacağız ancak önce, rsyslog'un uzak sunuculardan da log alabilmesi için network özelliğini aktif edelim.

/etc/sysconfig/rsyslog dosyasını editleyin:

# vi /etc/sysconfig/rsyslog

Dosya içerisinde aşağıdaki satırı bulun:

SYSLOGD_OPTIONS="-m 0"

ve -m 0 ibaresinin hemen yanında -r514 parametresini ekleyin:

SYSLOGD_OPTIONS="-m 0 -r514"

Bu şekilde rsyslog'un network desteği aktif olacak ve udp 514 portunu dinlemeye başlayacaktır. Ancak değişikliklerin devreye girmesi için rsyslog'u restart etmek gerekiyor.

# service rsyslog restart

Herşey yolunda gittiyse, şimdi rsyslog'un çalışıp çalışmadığını kontrol edelim.

Rsyslogun Test Edilmesi

Test için logger komutundan yararlanılıp bir log üretilebilir:

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

Komutun sonucu olarak, üretilen log, /var/log/messages dosyasına yazılacaktır. tail ile bakalım:

# tail /var/log/messages

Çıktıda aşağıdak gibi bir satır görmeniz gerekir.

Aug 31 14:03:20 test-centos root: Bu log'un, /var/log/messages dosyas.na yazılması gerekir.

Bir de rsyslog'u yapılandırırken, network özelliğini devreye almıştık. Dolayısı ile şu an rsyslog'un udp 514. portu dinliyor olması gerekir. Bunu da kontrol etmek için netstat komutundan yararlanabiliriz.

# netstat -an |grep 514

Çıktı şu şekilde olacaktır:

udp        0      0 0.0.0.0:514                 0.0.0.0:*
udp        0      0 :::514                      :::

Görüldüğü gibi udp 514 bind edilmiş durumda. Bu şekilde uzak sistemlerden rsyslog'a ileti gönderebilir ve merkezi log sunucusu olarak kullanabilirsiniz. Bu işlemin nasıl yapıldığını, Rsyslog ile Merkezi Log Sunucusu Kurulumu başlıklı yazıda bulabilirsiniz.

Son olarak, herhangi bir problem durumunda rsyslog'un debug edilmesi işlemine değinmek istiyorum.

Rsyslog'un Debug Edilmesi

Önce rsyslog'u stop edin:

# service rsyslog stop

Sonrasında simdi rsyslog'u komut satırından maneul olarak debug parametreri ile başlatıyoruz.:

# rsyslogd -m 0 -r514 -d

Bu şekilde rsyslog ile ilgili ne olup bittiğini ekrandan takip edebilirsiniz.

Evet, genel olarak CentOS üzerine rsyslog kurulumu ve yapılandırması bu şekildeydi. Siz de syslog yerine gelişmiş rsyslog kullanmak isterseniz bu dökümanın faydası dokunabilir.

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

Bu yazılar da ilginizi çekebilir:


- FreeBSD üzerine Rsyslog Kurulumu ve Yapılandırması
- CentOS üzerinde Fail2Ban ile Brute Force Önlemi
- Rsyslog ile Merkezi Log Sunucusu Kurulumu
- phpLogCon ile Online Log Monitoring
- CentOS Üzerine MongoDB Kurulumu

Yorumlar


  1. ali degirmen | (Mart 28th, 2010 4:39 am)

    Merhaba vps satın almakla başlayan centos maceramda ilk hafta dolmadan çok şey öğrendim. Genelde yabancı kaynaklardan yararlanarak çözmeye çalıştığım sistem için şimdiye kadar gördüğüm en güzel türkçe içerik sizin siteniz. Gerçekten emeğinize sağlık.

    Sorunuma gelince. ilk denemem olduğu için bir -R komutu faciasıyla tüm dosya izinleri ve hakları birbirine girdi.
    rpm –setugids -a komutuyla geri dönmeye çalışsam da nafile.. Tüm servisleri tek tek eski haline getirmeyi becersem de syslog service ini bir türlü aktif hale getiremedim.rsyslog u görünce (madem bu çalışmıyor çalışanı kullanırım) mantığıyla harekete geçtim. fakat yum install ile scripti yüklesem de chkconfig de listeleyemedim.

    chkconfig yapınca sadece syslog un çalıştığını görüyorum
    syslog 0:off 1:off 2:on 3:on 4:on 5:on 6:off

    yum install da sorun yok gibi duruyor tüm yüklemeleri yaptıktan sonra nothing to do ile komutu bitiyor.

    Sizce sorun ne olabilir?

    [Cevapla]

    Cagri Ersen tarafından yanıtlandı.

    Merhaba,

    chkconfig –list |grep syslog

    komusutunun ciktisi nedir ?

    Bir de

    ps aux |grep syslog

    ciktisini paste eder misiniz ?

    [Cevapla]

    ali degirmen tarafından yanıtlandı.

    [root@vps69203 ~]# chkconfig –list | grep syslog
    syslog 0:off 1:off 2:on 3:on 4:on 5:on 6:off
    [root@vps69203 ~]# ps aux | grep syslog
    root 22152 0.0 0.0 3748 676 pts/0 S+ 12:33 0:00 grep syslog
    root 28427 0.0 0.0 1616 532 ? Ss 02:18 0:01 syslogd -m 0

    buradan bakınca 1-6 ya kadar olan sayıların anlamı ne bilmiyorum ama burada on yazsada plesk service kısmında service stopped olarak duruyor.

    [Cevapla]

    Cagri Ersen tarafından yanıtlandı.

    Rsyslog kurulmamis sanirim.

    Ayrica syslog da calismakta su anda. Fakat plesk konusunda fikrim yok malesef.

    [Cevapla]

  2. Murat | (Ağustos 18th, 2010 2:33 pm)

    Belgeleriniz için teşekkür ederim. Müsadenizle bir not eklemek istiyorum network özelliğini aktif edebilmek için
    SYSLOGD_OPTIONS=”-m 0 -r514″
    şeklinde port belirtmek gerekiyor.

    rsyslogd 3.22.1, compiled with:
    FEATURE_REGEXP: Yes
    FEATURE_LARGEFILE: Yes
    FEATURE_NETZIP (message compression): Yes
    GSSAPI Kerberos 5 support: Yes
    FEATURE_DEBUG (debug build, slow code): No
    Atomic operations supported: No
    Runtime Instrumentation (slow code): No

    See http://www.rsyslog.com for more information.

    [Cevapla]

    Cagri Ersen tarafından yanıtlandı.

    Evet bu sekilde farkli port numarası da verebilirsiniz.
    Katkiniz icin tesekkurler,

    [Cevapla]

  3. Özgür | (Temmuz 29th, 2011 8:50 am)

    Merhaba,

    “yum install rsyslog” komutu dosyayı bulamadığı için indiremiyor. Bende rsyslog sitesinden indirip elle kurmayı denedim. ancak “tar -zxvf” ile açtığım dosyadan ./configure dosyasını “./configure –prefix=/usr/local” komutuyla çalıştırdım . Ancak yine hata aldım. Krşılaştığım hata alttadır. Sebebi ne olabilir acaba ?
    ————–
    configure: error: Package requirements (libestr >= 0.1.1) were not met:

    No package ‘libestr’ found

    Consider adjusting the PKG_CONFIG_PATH environment variable if you
    installed software in a non-standard prefix.

    Alternatively, you may set the environment variables LIBESTR_CFLAGS
    and LIBESTR_LIBS to avoid the need to call pkg-config.
    See the pkg-config man page for more details.
    ————–

    [Cevapla]

    Özgür tarafından yanıtlandı.

    Merhaba

    Sorun çözüldü. “libestr paketinin versiyonunu güncelledim ve sorun aşıldı.

    Başka bir konuyu da not düşmek isterim .
    “yum install” komutunda “another app is currently holding the yum lock” hatası alıyorsak “yum clean all” komutu ile sorunu aşabiliyoruz.

    Kurulumesnasında karşılaştığım diğer bir sorun ise ;
    “netstat -an |grep 514” listede göremedim. Sorun neden kaynaklıyor olabilir ??

    Teşekkürler..

    Kolay Gelsin…

    [Cevapla]

    Cagri Ersen tarafından yanıtlandı.

    Selamlar,

    Son yasadiginiz sorunun nedeni rsyslog’un 514 no’lu portu dinlememesinden kaynaklaniyor. Normalde network ozelliginin aktif edilmesi icin herhangi bir port bildirmeye gerek yoktu. Ancak sanirim artik ozellikle bildirmek gerekiyor.

    İslem su sekilde:

    /etc/sysconfig/rsyslog dosyasini editleyin ve icerisindeki

    SYSLOGD_OPTIONS=”-m 0″

    ibaresine su sekilde olacak gibi ekleme yapin:

    SYSLOGD_OPTIONS=”-m 0 -r514″

    ve rsyslog’u restart edin. Bu sekilde sorun duzelecektir.

    [Cevapla]

  4. GAREZ | (Şubat 6th, 2014 3:31 pm)

    huawei hg253s routerda bunu nasıl ayarlıyoruz?

    [Cevapla]

Trackbacks

Yorumda bulunun.