Graylog ile Merkezi Log Sistemi Kurmak


Ozellikle coklu sunucu ile calisan sistemlerde log yapilarini merkezi bir sisteme tasimak, problem oldugu anda gormek ve monitorize etmek acisindan buyuk faydalar saglar. Bu yazimizda graylog ile merkezi bir log sistemini nasil kuracagimizi hizlica anlatmaya calisacagim 🙂

Graylog Kurulumu

Graylog’u kurmak oldukca kolay, IPV4 adresi ve PASSWORD tanimladiktan sonra provision.sh kurulumu yapacaktir. (En azindan 2G rami olan bir makine oneririm)

Bu sekilde kurulumu tamamladiginizda ipadresi:9000 adresine gidip, admin kullanicisi ve tanimladiginiz PASSWORD degeri ile giris yapabilirsiniz.

Input Olusturmak

Graylog farkli turde pek cok input’u destekler, Graylog Extended Log Format (GELF), syslog raw, syslog vs.. gibi

syslog-udp

Ornegin syslog’u basacagimiz bir input olusturalim. (Dikkat: port default olarak 514 gelecektir, 1024’in altindaki portlarda root gerektirdigi icin ona gore bir deger verin)

 

sorunsuz sekilde input olusturduysaniz, su sekilde gorunecektir:

syslog-input

 

Loglari Gonderelim

Simdi sira geldi, loglari graylog makinemize akitmaya

/etc/rsyslog.d dizini altinda graylog ayarimiz icin bir dosya olusturalim. “90-graylog2.conf”.


*.* @GRAYLOG_IP_ADRESI_BURAYA:1514;RSYSLOG_SyslogProtocol23Format

seklinde tanimlama yapip

service rsyslog restart

rsyslog’u yeniden baslattiginizda loglarin artik graylog’a gittigini goreceksiniz 🙂

NGINX Contentpack

Nginx icin gordugum guzel bir contentpack’i de nasil kullanacagimizi anlatip bitireyim;

Oncelikle https://github.com/Graylog2/graylog-contentpack-nginx adresinden content_pack.json dosyasini indiriyoruz.

System > Content Packs sayfasina gidip, indirdigimiz json dosyasini “import content pack” kismindan aktariyoruz.

nginx-contentpack

Iyi de ne is yapti bu?

Nginx icin stream, input, dashboard vs… gibi seyleri tek seferde halletti.

Nginx logunu duzgun bir sekilde graylog’a gondermek icin github sayfasinda da anlatildigi gibi nginx’i log ayarini duzenlemeniz gerekiyor.


log_format graylog2_format '$remote_addr - $remote_user [$time_local] "$request" $status $body_bytes_sent "$http_referer" "$http_user_agent" "$http_x_forwarded_for" <msec=$msec|connection=$connection|connection_requests=$connection_requests|millis=$request_time>';

syslog:server=GRAYLOG_IP_ADRESI:12301 graylog2_format;

error_log syslog:server=GRAYLOG_IP_ADRESI:12302;

nginx uzerinden syslog basabilme ozelligi 1.7.1 ve sonrasi icin gecerli, nginx eskiyse guncelleyin bi’ zahmet 🙂

Sonuc:

graylog-nginx-dashboard

 

 

Reklamlar

4 thoughts on “Graylog ile Merkezi Log Sistemi Kurmak

  1. paylaşım için saol,
    iki sorum olacak sorum olacak;
    log’u bir dosyadan okuyabilirmiyim?
    Log’u monitor ederken kullanıcı bazlı izin verebiliyormuyum? (Örneğin: x sunucusundan gelen logları kullanıcı1, y sunucusundan gelen logları kullanıcı2 görebilsin gibi)

    • logu dosyadan okumanin amaci nedir? zaten ayri ayri log okumak zor diye merkezi bir yapida topluyoruz loglari 🙂

      Ikinci soru evet, X sunucusundan gelen loglar icin ayri stream olusturup bu kullanici sadece bu stream’i gorsun/duzenlesin vs.. seklinde yetki verebiliyorsunuz.

  2. Merhaba Mustafa Bey ;

    Gray log kurulumunu yaptım , nxlog ile tüm windows serverlerin loglarını alıyorum ama 200GB hdd çok hızlı doluyor , logları overwrite etme şansım var mı ya da beli bir tarih aralığında silinmesi nasil sağlarım .

    iyi çalışmalar ;

Bir Cevap Yazın

Aşağıya bilgilerinizi girin veya oturum açmak için bir simgeye tıklayın:

WordPress.com Logosu

WordPress.com hesabınızı kullanarak yorum yapıyorsunuz. Log Out / Değiştir )

Twitter resmi

Twitter hesabınızı kullanarak yorum yapıyorsunuz. Log Out / Değiştir )

Facebook fotoğrafı

Facebook hesabınızı kullanarak yorum yapıyorsunuz. Log Out / Değiştir )

Google+ fotoğrafı

Google+ hesabınızı kullanarak yorum yapıyorsunuz. Log Out / Değiştir )

Connecting to %s