JBoss loglarını graylog’a göndermek

Graylog2 oldukça kullanışlı ve tadından yenmeyen web arayüzü ile hepimizin gönlünü kazanmış bir log sunucusu. Normal syslog girdilerinin yanı sıra kendine has GELF (Graylog Extended Log Format) ile işimizi oldukça kolaylaştırıyor.

JBoss loglarını grayloga göndermek için aslında iki yöntem bulunuyor. Birincisi başlangıçta zahmetli; ancak kavradığınızda istediğiniz her türlü biçimde log aktarmanızı sağlayan logstash yöntemi. Eğer log4j’yi sysloga gönderecek biçimde ayarlamamışsanız, logstash ile jboss dizininiz altındaki server.log’u takibe almaya başlayıp çıktıları graylog sunucusuna gönderebiliyorsunuz. Ekstra bir süreç çalıştırdığınız için pek verimli bir yöntem olduğu söylenemez.

Diğer yöntem ise oldukça kolay: gelf4j kullanmak. Bu kitaplık sayesinde graylog’a GELF biçiminde log gönderebiliyorsunuz ve yapılandırması oldukça basit. gelf4j’yi kullanmak için yapacağınız işlem şunlardan ibaret:

https://github.com/pstehlik/gelf4j/downloads adresinden gelf4j’nin en son .jar dosyasını indirip JBoss sunucunuzun server/default/lib dizinine koyun.

– server/default/conf/jboss-log4j.xml dosyanızda şu şekilde bir appender tanımlayın:

Daha sonra da root içerisinde ilgili appender’ı etkinleştirin:

Appender ayarı içerisinde log seviyesini dilediğiniz gibi düzenleyebilirsiniz. Yapmanız gereken Threshold’u istediğiniz seviyeye çekmek. Uygulama sunucunuzu tekrar başlattığınızda artık ilgili kayıtlar graylog web arayüzü üzerinde de görüntülenmeye başlayacaktır.