Logiserver, mis kogub võrgust kokku mikrotik ruuteri logid
Labor 2 Protokoll - Mikrotik ruuteri logiserver
Lauri Rüütli A41 ja Tõnu Ruut AK31
07.01.14
Ülesande Püstitus
Luua logiserver, mis korjab võrgust kokku mikrotik ruuteri logid
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
http://enos.itcollege.ee/~mernits/Linux%20administreerimine/Arnus%20-%20keskne%20logilahendus.pdf%7C