Keskne logiserver
Autor: Tauri Jaanus
Esitamise kuupäev: 25.12.2013
AK-31
Eesmärk
Luua keskne logiserver Ubuntu Server 12.04.1 LTS 64bit virtuaal masinas koos logi analüsaatoriga, kuhu saata kahe teise virtuaalse linuxi logid. Üks neist on server ja teine desktop versioon, mida olen kasutanud muude laborite jaoks. Kasutan rsyslog ja LogAnalayzer tarkvarasi.
Eelduseks
Virtuaal keskonnas on eelnevalt kõigil masinatel võrgud seadistatud. Võrguparameetrite seadistamiseks loe juhendit Ubuntu server võrgu seadistamine ja VirtualBoxi võrgud.
Tarkvara valik
Kasutan:
rsyslog versiooni: 5.8.6-1ubuntu8.6
rsyslog-mysql versiooni: 5.8.6-1ubuntu8.6
mysql-server versiooni: 5.5.34-0ubuntu0.12.04.1
apache2 versiooni: 2.2.22-1ubuntu1.4
php5-gd versiooni: 5.3.10-1ubuntu3.9
libapach2-mod-php5 versioon: 5.3.10-1ubuntu3.9
php5-mysql versiooni: 5.3.10-1ubuntu3.9
php5 versiooni: 5.3.10-1ubuntu3.9
LogAnalizer versioon: loganalyzer-3.6.5
Virtuaal masinate seadistused
Kasutusel kolm virtuaalmasinat:
1) Puppet server: Ubuntu Server 64bit versioon 12.04.3 LTS.
eth0 NAT eth1 192.168.56.200
2) Keskne logiserver: Ubuntu Server 64bit versioon 12.04.3 LTS.
eth0 NAT eth1 192.168.56.220
3) Klient: Ubuntu Desktop 64bit versioon 13.04
eth0 NAT eth1 192.168.56.101
Tarkvara paigaldamine
Esmalt uuendame tarkvararepositooriumit [1]
apt-get update
Uuendame tarkvara serveris [1]
apt-get upgrade -y
Paigaldame vajaliku pakid [1]
apt-get install build-essential apache2 php5 php5-gd libapache2-mod-php5 mysql-server php5-mysql rsyslog
apt-get install rsyslog-mysql
NB! Selle käsu käivitamisel küsitakse ka MySQL serveri jaoks root kasutaja parooli. Lisaks rsyslog-mysql moodul küsib MySQL root kasutaja parooli ja lisaks rsyslog kasutaja parooli.
MySQL-serveri seadistamine
Lisame uue andmebaasi syslog, kuhu hakkavad logid kogunema. Siin küsitakse eelnevalt seadistatud MySql serveri root kasutaja parooli.
mysqladmin -u root -p create syslog
Lisame kasutajale "syslog" vajaliku õigused andmebaasil syslog ja aktiveerime need. "syslogi_parool" asenda endale meelepärase parooliga.
mysql -u root -p
GRANT ALL ON syslog.* TO 'syslog'@'localhost' IDENTIFIED BY 'syslogi_parool';
FLUSH PRIVILEGES;
quit
Lisame vajalikud tabelid.
mysql -u root -p
use syslog
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
);
quit
SysLog serveri ühenduse seadistamine
Nüüd lubame syslog serverile tcp ühendused pordil 1514. Selleks muudame failis /etc/rsyslog.conf faili vastavalt.
# provides TCP syslog reception
$ModLoad imtcp
$InputTCPServerRun 1514
NB! kuna rsyslogis on bugi, seega vaikimisi pakutud 514 porti ei saa kasutada, seega peab kasutama porti mis on suurem 1024-st.
Lisame lõppu ka vastavad read. "syslogi_parool" asenda MySql serveri seadistustes tehtud parooliga.
$ModLoad MySQL
*.* >127.0.0.1,syslog,syslog,syslogi_parool
Taaskäivitame teenuse.
/etc/init.d/rsyslog restart
Apache seadistamine
Kuna LogAnalyzer töötab php-ga siis seadistame apache php-d toetama. Selleks muudame faili /etc/apache2/apache2.conf vastavalt "DefaultType None" kirje all.
DefaultType None
DefaultType text/plain
Addtype application/x-httpd-php .php
Nüüd taaskäivitame apache2 serveri.
/etc/init.d/apache2 restart
LogAnalyzeri install ja seadistamine
Esmalt laema alla LogAnalyzeri viimase versiooni (3.6.5).
cd /opt
wget http://download.adiscon.com/loganalyzer/loganalyzer-3.6.5.tar.gz
Pakime faili lahti
gunzip loganalyzer-3.6.5.tar.gz
tar -xvf loganalyzer-3.6.5.tar
Nüüd kopeerime LogAnalyzer /src kataloogi Apache2 www root kaustas syslog alamkausta, mille eelnevalt loome. Kopeerime ka installatsiooni skripti.
mkdir /var/www/syslog
cp -r /opt/loganalyzer-3.6.5/src/* /var/www/syslog
cp -r /opt/loganalyzer-3.6.5/contrib/*.sh /var/www/syslog
Anname .sh failidele käivitus õigused.
chmod +x /var/www/syslog/*.sh
Käivitame skripti olles õiges kaustas.
cd /var/www/syslog/
./configure.sh
Lubame apachel kasutada syslogi.
usermod -G adm www-data
Nüüd minnes lehele http://192.168.56.220/syslog/index.php saame teate, et LogAnalyzer pole seadistatud ja on link http://192.168.56.220/syslog/install.php, mis viib meid seadistustesse.
Step 1 ja Step 2 paneme lihtsalt next. Step kolmes muudame "Message character limit for the main view" 0 peale, ehk näitab täis teksti põhi vaates. Muudeame ka "Show message details popup" no peale.
Valime ka "Enable User Database" Yes. Nüüd saame seadistada MySQL baasi syslog kasutaja parameetritega ja syslog baasi.
Step 4 ja Step 5 vajutame lihtsalt next.
Step 6-s loome LogAnalyzeri põhi kasutaja.
Step 7-s seadistame vaate. Kasutame MyŚQL kasutajat syslog, mille varem lõime. Ülejäänu jätame samaks.
Step 8-s on kõik korras.
Nüüd peaks tulema login aken.
NB! Kui olete sisseloginud ja avanevas aknas näete logisi ja Statistics aken ei anna mingeid vigasi, siis on kõik korras.
Seadistame rsyslogi klient masinatel
Kõigepealt uuendame tarkvararepositooriumit.
apt-get update
Installime rsyslogi nagu serveris.
apt-get install rsyslog
Muudame /etc/rsyslog.conf faili.
nano /etc/rsyslog.conf
Lisame lõppu järmise rea
*.* @@192.168.56.220:1514
Taaskäivitame teenus
/etc/init.d/rsyslog restart
Nüüd peaks logi liikuma rsyslog serverisse.
Kokkuvõte
Selle tööga lõin lahenduse, mis toimib Ubuntu Server 12.04.1 LTS 64bit kasutades Apache2 + MySQL + Rsyslog + LogAnalyzer mooduleid, et saaks mugavalt läbi veebi vaadata logisi ja teha ka statistikat.
Kasutatud kirjandus
- ↑ 1.0 1.1 1.2 Super Library of Solutions: http://www.slsmk.com/setup-syslog-with-loganalyzer-on-ubuntu-server
http://www.slsmk.com/setup-syslog-with-loganalyzer-on-ubuntu-server/