Logiserver, mis korjab võrgust kokku mikrotikide logid: Difference between revisions
No edit summary |
No edit summary |
||
(13 intermediate revisions by the same user not shown) | |||
Line 7: | Line 7: | ||
== Ülesande Püstitus == | == Ülesande Püstitus == | ||
Luua logiserver mis | Luua logiserver, mis kogub võrgust mikrotik ruuteri logisid | ||
Server: Ubuntu Server 32bit versioon 12.04 TLS | Server: Ubuntu Server 32bit versioon 12.04 TLS | ||
Line 30: | Line 30: | ||
== Logstash == | == Logstash == | ||
Käsud sisestada sudo kasutajaga | |||
Installin openjdk, | Installin openjdk, | ||
Line 47: | Line 49: | ||
</source> | </source> | ||
Loon konfiguratsioonifaili /etc/logstash/logstash.conf. Failis kirjeldan pordi numbri ja nime, millega on hiljem võimalik logisid grupeerida. | |||
<source lang="bash"> | |||
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 { | |||
} | |||
} | |||
</source> | |||
Loon automaatse käivituse jaoks kirje upstarti | |||
Faili nimi /etc/init/logstash-server.conf | |||
Sisuga: | |||
<source lang="bash"> | |||
# 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 | |||
</source> | |||
Loon kausta /var/log/logstash ja kasutaja nimega logstash ning lisan ta gruppi adm. | |||
<source lang="bash"> | |||
mkdir /var/log/logstash | |||
adduser --system --disabled-password --no-create-home --group --quiet logstash | |||
usermod -a -G adm logstash | |||
</source> | |||
Muudan vajalike kaustade omanikuks kasutaja nimega "logstash" ja grupi "adm" | |||
<source lang="bash"> | |||
chown -R logstash:adm /etc/logstash/ | |||
chown -R logstash:adm /var/log/logstash/ | |||
</source> | |||
== Elasticsearch == | |||
Laen internetist alla elasticsearchi paki, installerin ja eemaldan faili. | |||
<source lang="bash"> | |||
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 | |||
</source> | |||
Käivitan teenuse | |||
<source lang="bash"> | |||
service elasticsearch start | |||
</source> | |||
== Kibana == | |||
Installeerin sõltuvused ja tõmban internetist pakitud kibana arhiivi. | |||
<source lang="bash"> | |||
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 | |||
</source> | |||
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 | |||
<source lang="bash"> | |||
KibanaHost = '192.168.1.93' | |||
</source> | |||
Loon kibana automaatseks käivitamiseks upstarti kirje /etc/init/kibana.conf sisuga: | |||
<source lang="bash"> | |||
# 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 | |||
</source> | |||
== Kliendi seadistamine == | |||
Kliendi seadmeks on Mikrotik RB951G-2HnD | |||
Seadistamiseks tuleb sisestada järgmised käsud: | |||
<source lang="bash"> | |||
/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 | |||
</source> | |||
== 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 |
Latest revision as of 09:34, 8 January 2014
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
Käsud sisestada sudo kasutajaga
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