Merkezi bir Linux log sunucusu yapmak, logları veritabanına kaydetmek ve web tabanlı log incelemesi sağlamak için gerekli oolan yapılandırmadan bahsediyorum. Farklı alternatifler de vardır muhtemelen, ama aşağıdaki yöntemi denedim ve beğendim.
Bileşenler:
- Debian: sunucu için kullanılan distro
- Rsyslog: tüm logları toplayıp veritabanına kaydetmek için kullanılacak olan araç
- Adiscon LogAnalayzer: veritabanına yazılmış olan log'ları incelemek, süzmek, raporlamak için kullanılan araç. Web'te demosu mevcut.
- MySQL: kullanılan veritabanı yönetim sistemi
Rsyslog Kurulumu
1) MySQL kurulumunun yapıldığını varsayıyorum. Öncelikle rsyslog'un makineye kurulması lazım:
aptitude install rsyslog rsyslog-mysql
2) /etc/rsyslog.conf dosyasını düzenle. UDP/TCP portlarını açarak, dışarıdan log gönderen cihazların dinlenmesini sağla.
3) rsyslog'un kayıt yapabilmesi için, mysql üzerinde bir DB oluştur, bir de kullanıcı oluştur ve kullanıcıya bu DB için tam yetki ver. rsyslog'un veritabanına doğru kayıt yapabilmesi için, rsyslog tarafından sağlanan tablo yapılarını oluştur:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 |
CREATE TABLE SystemEvents ( ID int unsigned not null auto_increment primary key, CustomerID bigint, ReceivedAt datetime NULL, DeviceReportedTime datetime NULL, Facility smallint NULL, Priority smallint NULL, FromHost varchar(60) NULL, Message text, NTSeverity int NULL, Importance int NULL, EventSource varchar(60), EventUser varchar(60) NULL, EventCategory int NULL, EventID int NULL, EventBinaryData text NULL, MaxAvailable int NULL, CurrUsage int NULL, MinUsage int NULL, MaxUsage int NULL, InfoUnitID int NULL , SysLogTag varchar(60), EventLogType varchar(60), GenericFileName VarChar(60), SystemID int NULL ); CREATE TABLE SystemEventsProperties ( ID int unsigned not null auto_increment primary key, SystemEventID int NULL , ParamName varchar(255) NULL , ParamValue text NULL ); |
4) Dinlenecek ve veritabanına kaydedilecek olan log tipi için, bir yapılandırma dosyası oluşturup (/etc/rsylog.d/logyapilandirma.conf) düzenle:
$ModLoad ommysql
local7.* :ommysql:DBsunucu,DBismi,DBkullanici,DBparola
5) rsyslog servisini yeniden başlat ve logların veritabanına doğru gelip gelmediğini kontrol et.
LogAnalyzer Kurulumu
6) Programı indir: http://loganalyzer.adiscon.com/downloads
7) tar.gz içinden çıkan src klasörünü web'ten erişilebilir bir yere koy. web kullanıcısına bu klasöre yazma yetkisi ver. Diğer klasörler lazım değil.
8) web üzerinden bu klasöre eriş ve kurulum sihirbazını tamamla.
Bitti.
Mehmet
31 Ocak 2012, 12:45 (UTC 2) Bu yoruma bağlantı
"7) tar.gz içinden çıkan src klasörünü web'ten erişilebilir bir yere koy. web kullanıcısına bu klasöre yazma yetkisi ver. Diğer klasörler lazım değil." Hocam 755 mi 777 mi yapacağım.
Murat Özalp
31 Ocak 2012, 13:29 (UTC 2) Bu yoruma bağlantı
Dosyanın sahibine göre değişir. Sahibi root ise, www-data kullanıcısının (web kullanıcısı) yazabilmesi için (other olmuş olur), 777 yapman gerekir. Veya daha kolayı, klasörün sahipliğini değiştirmektir. Şöyle: chown www-data -R /var/www/klasör_adı