CentOS üzerine Rsyslog Kurulumu ve Yapılandırması
Warning: mysqli_query(): (HY000/3): Error writing file '/tmp/MYEqi1qq' (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 centos bir sistemde, rsyslog kurulumu ve syslog'un rsyslog ile değiştirilmesi işleminin nasıl yapılacağından bahsetmek istiyorum.
centos üzerine rsyslog kurulumu ve yapılandırmasını bir kaç adımda halletmek mümkün. İlgili yazılımın rpm dosyaları, centos 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.
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
Trackbacks
Yorumda bulunun.
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]
Merhaba,
chkconfig –list |grep syslog
komusutunun ciktisi nedir ?
Bir de
ps aux |grep syslog
ciktisini paste eder misiniz ?
[Cevapla]
[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]
Rsyslog kurulmamis sanirim.
Ayrica syslog da calismakta su anda. Fakat plesk konusunda fikrim yok malesef.
[Cevapla]
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]
Evet bu sekilde farkli port numarası da verebilirsiniz.
Katkiniz icin tesekkurler,
[Cevapla]
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]
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]
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]
huawei hg253s routerda bunu nasıl ayarlıyoruz?
[Cevapla]