Keskne logiserver: Difference between revisions

From ICO wiki
Jump to navigationJump to search
 
(57 intermediate revisions by 2 users not shown)
Line 1: Line 1:
==Valmimisel==
Autor: Tauri Jaanus<br>
Esitamise kuupäev: 25.12.2013<br>
AK-31
 
=Eesmärk=
=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.
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.
Line 8: Line 11:


=Tarkvara valik=
=Tarkvara valik=
Kasutan rsyslog ja LogAnalayzer tarkvarade viimaseid versioone.
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=
=Virtuaal masinate seadistused=
Line 26: Line 47:
eth0 NAT                eth1 192.168.56.101
eth0 NAT                eth1 192.168.56.101


=Tarkvara paigaldamine=
=Tarkvara paigaldamine=  
Esmalt uuendame tarkvararepositooriumit
Esmalt uuendame tarkvararepositooriumit <ref name="slsmk">Super Library of Solutions: http://www.slsmk.com/setup-syslog-with-loganalyzer-on-ubuntu-server</ref>
<source lang="bash">
<source lang="bash">
apt-get update
apt-get update
</source>
</source>


Uuendame tarkvara serveris
Uuendame tarkvara serveris <ref name="slsmk"/>
<source lang="bash">
<source lang="bash">
apt-get upgrade -y
apt-get upgrade -y
</source>
</source>


Paigaldame vajaliku pakid
Paigaldame vajaliku pakid <ref name="slsmk"/>
<source lang="bash">
apt-get install build-essential apache2 php5 php5-gd libapache2-mod-php5 mysql-server php5-mysql rsyslog
apt-get install rsyslog-mysql
</source>
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. <ref name="netadmin"> Netadmintools.com: http://www.netadmintools.com/part655.html</ref>
<source lang="bash">
mysqladmin -u root -p create syslog
</source>
 
 
Lisame kasutajale "syslog" vajaliku õigused andmebaasil syslog ja aktiveerime need. "syslogi_parool" asenda endale meelepärase parooliga.<ref name="netadmin"/>
<source lang="bash">
mysql -u root -p
GRANT ALL ON syslog.* TO 'syslog'@'localhost' IDENTIFIED BY 'syslogi_parool';
FLUSH PRIVILEGES;
quit
</source>
 
Lisame vajalikud tabelid. <ref name="netadmin"/>
<source lang="bash">
<source lang="bash">
apt-get install build-essential apache2 php5 php5-gd libapache2-mod-php5 mysql-server php5-mysql rsyslog
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
</source>
</source>
NB! selle käsu käivitamisel küsitakse ka MySQL serveri jaoks root kasutaja parooli.


=SysLog serveri ühenduse seadistamine=
=SysLog serveri ühenduse seadistamine=
Nüüd lubame syslog serverile udp ühendused pordil 514. Selleks muudame failis /etc/rsyslog.conf faili vastavalt.
Nüüd lubame syslog serverile tcp ühendused pordil 1514. Selleks muudame failis /etc/rsyslog.conf faili vastavalt. <ref name="slsmk"/>
<source lang="bash">
<source lang="bash">
# provides UDP syslog reception
# provides TCP syslog reception
$ModLoad imudp
$ModLoad imtcp
$UDPServerRun 514
$InputTCPServerRun 1514
</source>
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. <ref name="slsmk"/>
<source lang="bash">
$ModLoad MySQL
*.* >127.0.0.1,syslog,syslog,syslogi_parool
</source>
 
Taaskäivitame teenuse.
<source lang="bash">
/etc/init.d/rsyslog restart
</source>
</source>


=Apache seadistamine=
=Apache seadistamine=
Kuna LogAnalyzer töötab php-ga siis seadistame apache php-d toetama.
Kuna LogAnalyzer töötab php-ga siis seadistame apache php-d toetama.  
Selleks muudame faili /etc/apache2/apache2.conf vastavalt "DefaultType None" kirje all.
Selleks muudame faili /etc/apache2/apache2.conf vastavalt "DefaultType None" kirje all.<ref name="slsmk"/>
<source lang="bash">
<source lang="bash">
DefaultType None
DefaultType None
Line 66: Line 157:


=LogAnalyzeri install ja seadistamine=
=LogAnalyzeri install ja seadistamine=
Esmalt laema alla LogAnalyzeri viimase versiooni (3.6.5).
Esmalt laema alla LogAnalyzeri viimase versiooni (3.6.5). <ref name="log">LogAnalyzer: http://loganalyzer.adiscon.com/doc/install.html</ref>
<source lang="bash">
<source lang="bash">
cd /opt
cd /opt
Line 72: Line 163:
</source>
</source>


Pakime faili lahti
Pakime faili lahti <ref name="log"/>
<source lang="bash">
<source lang="bash">
gunzip loganalyzer-3.6.5.tar.gz  
gunzip loganalyzer-3.6.5.tar.gz  
Line 78: Line 169:
</source>
</source>


Nüüd kopeerime LogAnalyzer /src kataloogi Apache2 www root kaustas syslog alamkausta, mille eelnevalt loome. Kopeerime ka installatsiooni skripti.
Nüüd kopeerime LogAnalyzer /src kataloogi Apache2 www root kaustas syslog alamkausta, mille eelnevalt loome. Kopeerime ka installatsiooni skripti.<ref name="log"/>
<source lang="bash">
<source lang="bash">
mkdir /var/www/syslog
mkdir /var/www/syslog
Line 85: Line 176:
</source>
</source>


Anname .sh failidele käivitus õigused.
Anname .sh failidele käivitus õigused.<ref name="log"/>
<source lang="bash">
<source lang="bash">
chmod +x /var/www/syslog/*.sh
chmod +x /var/www/syslog/*.sh
</source>
</source>


Käivitame skripti olles õiges kaustas.
Käivitame skripti olles õiges kaustas.<ref name="log"/>
<source lang="bash">
<source lang="bash">
cd /var/www/syslog/
cd /var/www/syslog/
./configure.sh
./configure.sh
</source>
</source>
Lubame apachel kasutada syslogi.<ref name="log"/>
<source lang="bash">
usermod -G adm www-data
</source>
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. <ref name="log"/>
[[File:Loganalyzer1.PNG]]
Step 4 ja Step 5 vajutame lihtsalt next. <ref name="log"/>
Step 6-s loome LogAnalyzeri põhi kasutaja. <ref name="log"/>
Step 7-s seadistame vaate. Kasutame MyŚQL kasutajat syslog, mille varem lõime. Ülejäänu jätame samaks. <ref name="log"/>
[[File:Loganalyzer2.PNG]]
Step 8-s on kõik korras. <ref name="log"/>
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.
<source lang="bash">
apt-get update
</source>
Installime rsyslogi nagu serveris.<ref name="slsmk"/>
<source lang="bash">
apt-get install rsyslog
</source>
Muudame /etc/rsyslog.conf faili.<ref name="slsmk"/>
<source lang="bash">
nano /etc/rsyslog.conf
</source>
Lisame lõppu järmise rea<ref name="slsmk"/>
<source lang="bash">
*.* @@192.168.56.220:1514
</source>
Taaskäivitame teenus
<source lang="bash">
/etc/init.d/rsyslog restart
</source>
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=  
=Kasutatud kirjandus=  
http://www.slsmk.com/setup-syslog-with-loganalyzer-on-ubuntu-server/
<references />

Latest revision as of 16:01, 12 January 2014

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]

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]

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