Logiserver, mis korjab võrgust kokku mikrotikide logid

From ICO wiki
Revision as of 09:09, 8 January 2014 by Lruutli (talk | contribs)
Jump to navigationJump to search

Labor 2 Protokoll - Mikrotik ruuteri logiserver

Lauri Rüütli A41 ja Tõnu Ruut AK31

07.01.14

Ülesande Püstitus

Luua logiserver, mis kogub võrgust mikrotik ruuteri logisid

Server: Ubuntu Server 32bit versioon 12.04 TLS

Võrguseade Mikrotik RB951G-2HnD versioon 6.7

Kasutatud tarkvara

Logstash versioon 1.1.12 - logiserver

Elasticsearch versioon 0.90.0 - logide talletamiseks

Kibana 0.2.0 - veebiliides logide sirvimiseks ja otsimiseks

(Kasutatud Sander Arnuse poolt loodud lahendust.)

Serveri seadistamine

Uus virtuaalserver nimega logserver ip aadressiga 192.168.1.93

Ruuter ip aadressiga 192.168.1.87

Logstash

Installin openjdk,

teen logstashi jaoks kausta,

laadin alla logstashi ja tõstan selle logstashi kausta.

apt-get install openjdk-7-jre

mkdir /etc/logstash
 
wget https://logstash.objects.dreamhost.com/release/logstash-1.1.12-flatjar.jar 

mv logstash-1.1.12-flatjar.jar /etc/logstash/logstash.jar

Loon konfiguratsioonifaili /etc/logstash/logstash.conf. Failis kirjeldan pordi numbri ja nime, millega on hiljem võimalik logisid grupeerida.

input {
        #Mikrotikist süsteemidest tulevad logid
        udp {
                type => "mikrotik"
                port => 514
        }
        #Logiserveri enda logid
        file {
                type => "logserver"
                path => [ "/var/log/syslog", "/var/log/*.log" ]
        }
}
 
output {
        #Saadetakse andmebaasi
        elasticsearch {
        }
}

Loon automaatse käivituse jaoks kirje upstarti

Faili nimi /etc/init/logstash-server.conf

Sisuga:

# logstash server instance
description     "logstash server instance"
 
start on virtual-filesystems
stop on runlevel [06]
 
respawn
respawn limit 5 30
limit nofile 65550 65550
 
env HOME=/etc/logstash
chdir /etc/logstash
setuid logstash
setgid adm
console log
 
#Minimaalne ja maksimaalne javale lubatud mälumaht
#env JAVA_OPTS='-Xms512m -Xmx512m'
 
script
      exec java -jar /etc/logstash/logstash.jar agent -f /etc/logstash/logstash.conf
end script

Loon kausta /var/log/logstash ja kasutaja nimega logstash ning lisan ta gruppi adm.

mkdir /var/log/logstash
adduser --system --disabled-password --no-create-home --group --quiet logstash
usermod -a -G adm logstash

Muudan vajalike kaustade omanikuks kasutaja nimega "logstash" ja grupi "adm"

chown -R logstash:adm /etc/logstash/
chown -R logstash:adm /var/log/logstash/

Elasticsearch

Laen internetist alla elasticsearchi paki, installerin ja eemaldan faili.

wget https://download.elasticsearch.org/elasticsearch/elasticsearch/elasticsearch-0.90.0.deb
dpkg -i elasticsearch-0.90.0.deb
rm elasticsearch-0.90.0.deb

Käivitan teenuse

service elasticsearch start

Kibana

Installeerin sõltuvused ja tõmban internetist pakitud kibana arhiivi.

wget http://production.cf.rubygems.org/rubygems/rubygems-2.1.11.tgz 
tar xvzf rubygems-2.1.11.tgz
cd rubygems-2.1.11
ruby setup.rb
apt-get install ruby1.9.3 rubygems
 
wget https://github.com/rashidkpc/Kibana/archive/v0.2.0.tar.gz
tar -zxf v0.2.0.tar.gz
mv Kibana-0.2.0/ /etc/kibana
rm v0.2.0.tar.gz
cd /etc/kibana
gem install bundler
bundle install

Muudan faili /etc/kibana/KibanaConfig.rb ja seal sees leiduvat "KibanaHost" stringi.

Stringi on vaja kirjutada masina IP-aadress, et pääseks ligi veebibrauseriga Kibana kasutajakeskkonnale

KibanaHost = '192.168.1.93'

Loon kibana automaatseks käivitamiseks upstarti kirje /etc/init/kibana.conf sisuga:

# kibana.conf# kibana - log viewer
description     "Kibana logstash viewer"
 
start on virtual-filesystems
stop on runlevel [06]
 
respawn
respawn limit 5 30
limit nofile 65550 65550
 
# Environment
env HOME=/etc/kibana/
chdir /etc/kibana
setuid logstash
setgid adm
console log
 
# Run Kibana, which is in /etc/kibana
script
      ruby /etc/kibana/kibana.rb
end script

Kliendi seadistamine

Kliendi seadmeks on Mikrotik RB951G-2HnD

Seadistamiseks tuleb sisestada järgmised käsud:

/system logging action
set 3 bsd-syslog=no 
name=remote remote=192.168.1.93 
remote-port=514 
src-address=0.0.0.0 
syslog-facility=daemon 
syslog-severity=auto 
target=remote
/system logging 
add action=remote disabled=no prefix="" topics=info

Ligipääs ja testimine

Veebiliidesest on võimalik keskkond avada, kui trükkida sisse aadress http://192.168.1.93:5601


Kokkuvõte

Tegemist oli mahuka tööga, mis algul tundus lihtne, aga pärast tuli välja, et erinevatel versioonidel ja õpetustel on vead sees. Lõpuks õnnestus logiserver käima ja tööle saada. Esimese logiserveri ehitamiseks sobib antud lahendus hästi.

Kasutatud materjal

https://medium.com/what-i-learned-building/e855bc08975d

https://wiki.itcollege.ee/index.php/Talk:Linuxi_administreerimine_-_Labor_2_%28keskse_logihalduse_rakendamine%29_protokoll

http://enos.itcollege.ee/~mernits/Linux%20administreerimine/Arnus%20-%20keskne%20logilahendus.pdf%7C