Keskne logiserver

From EIK wiki

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. [2]

mysqladmin -u root -p create syslog


Lisame kasutajale "syslog" vajaliku õigused andmebaasil syslog ja aktiveerime need. "syslogi_parool" asenda endale meelepärase parooliga.[2]

mysql -u root -p
GRANT ALL ON syslog.* TO 'syslog'@'localhost' IDENTIFIED BY 'syslogi_parool';
FLUSH PRIVILEGES;
quit

Lisame vajalikud tabelid. [2]

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. [1]

# 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. [1]

$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.[1]

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). [3]

cd /opt
wget http://download.adiscon.com/loganalyzer/loganalyzer-3.6.5.tar.gz

Pakime faili lahti [3]

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.[3]

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.[3]

chmod +x /var/www/syslog/*.sh

Käivitame skripti olles õiges kaustas.[3]

cd /var/www/syslog/
./configure.sh

Lubame apachel kasutada syslogi.[3]

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. [3]

Loganalyzer1.PNG

Step 4 ja Step 5 vajutame lihtsalt next. [3]

Step 6-s loome LogAnalyzeri põhi kasutaja. [3]

Step 7-s seadistame vaate. Kasutame MyŚQL kasutajat syslog, mille varem lõime. Ülejäänu jätame samaks. [3]

Loganalyzer2.PNG

Step 8-s on kõik korras. [3]

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.[1]

apt-get install rsyslog

Muudame /etc/rsyslog.conf faili.[1]

nano /etc/rsyslog.conf

Lisame lõppu järmise rea[1]

*.* @@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