Keskne logiserver: Difference between revisions
(48 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
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 | 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"> | <source lang="bash"> | ||
apt-get install build-essential apache2 php5 php5-gd libapache2-mod-php5 mysql-server php5-mysql rsyslog | apt-get install build-essential apache2 php5 php5-gd libapache2-mod-php5 mysql-server php5-mysql rsyslog | ||
apt-get install rsyslog-mysql | apt-get install rsyslog-mysql | ||
</source> | </source> | ||
NB! | 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= | =MySQL-serveri seadistamine= | ||
Lisame uue andmebaasi syslog, kuhu hakkavad logid kogunema. Siin küsitakse eelnevalt seadistatud MySql serveri root kasutaja parooli. | 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"> | <source lang="bash"> | ||
mysqladmin -u root -p create syslog | mysqladmin -u root -p create syslog | ||
</source> | </source> | ||
Lisame kasutajale "syslog" vajaliku õigused andmebaasil syslog ja aktiveerime need. "syslogi_parool" asenda endale meelepärase parooliga. | |||
Lisame kasutajale "syslog" vajaliku õigused andmebaasil syslog ja aktiveerime need. "syslogi_parool" asenda endale meelepärase parooliga.<ref name="netadmin"/> | |||
<source lang="bash"> | <source lang="bash"> | ||
mysql -u root -p | mysql -u root -p | ||
GRANT | GRANT ALL ON syslog.* TO 'syslog'@'localhost' IDENTIFIED BY 'syslogi_parool'; | ||
FLUSH PRIVILEGES; | FLUSH PRIVILEGES; | ||
quit | |||
</source> | |||
Lisame vajalikud tabelid. <ref name="netadmin"/> | |||
<source lang="bash"> | |||
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 | quit | ||
</source> | </source> | ||
=SysLog serveri ühenduse seadistamine= | =SysLog serveri ühenduse seadistamine= | ||
Nüüd lubame syslog serverile | 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 | # provides TCP syslog reception | ||
$ModLoad | $ModLoad imtcp | ||
$ | $InputTCPServerRun 1514 | ||
</source> | </source> | ||
NB! kuna rsyslogis on bugi, seega vaikimisi pakutud 514 porti ei saa kasutada, seega peab kasutama porti mis on suurem 1024-st. | 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. | Lisame lõppu ka vastavad read. "syslogi_parool" asenda MySql serveri seadistustes tehtud parooliga. <ref name="slsmk"/> | ||
<source lang="bash"> | <source lang="bash"> | ||
$ModLoad MySQL | $ModLoad MySQL | ||
Line 79: | Line 143: | ||
=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 93: | 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 99: | 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 105: | 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 112: | 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/ | ||
Line 123: | Line 187: | ||
</source> | </source> | ||
Lubame apachel kasutada syslogi. | Lubame apachel kasutada syslogi.<ref name="log"/> | ||
<source lang="bash"> | <source lang="bash"> | ||
usermod -G adm www-data | usermod -G adm www-data | ||
</source> | </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. | 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= | ||
<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
- ↑ 1.0 1.1 1.2 1.3 1.4 1.5 1.6 1.7 1.8 Super Library of Solutions: http://www.slsmk.com/setup-syslog-with-loganalyzer-on-ubuntu-server
- ↑ 2.0 2.1 2.2 Netadmintools.com: http://www.netadmintools.com/part655.html
- ↑ 3.00 3.01 3.02 3.03 3.04 3.05 3.06 3.07 3.08 3.09 3.10 LogAnalyzer: http://loganalyzer.adiscon.com/doc/install.html