Difference between revisions of "Linuxi administreerimine - Labor 2 (keskse logihalduse rakendamine) protokoll"

From ICO wiki
(Ülesande püstitus)
(Kasutatud tarkvara)
Line 20: Line 20:
 
= Kasutatud tarkvara =
 
= Kasutatud tarkvara =
 
Logstash, elasticsearch, kibana
 
Logstash, elasticsearch, kibana
 +
 +
Kasutasin samu versioone, mis on kasutanud S. Arnus, kuna kibana versioon 3 on totaalselt teistsugune varasematest ja lahendus selle versiooniga ei töötanud.
 +
 +
= Protokoll =
 +
Uus virtuaalmasin nimega LA-logiserver-64 (kasutatud varem eksporditud masinat IT Kolledži elab keskkonnast).
 +
 +
Omistasin masinale staatilise ip 192.168.56.210 (kuna kasutusel on ka teine server (puppet), mille aadress on juba 192.168.56.200). Selleks muutsin /etc/network/interfaces failis ip aadressi eth1 võrgukaardi jaoks.
 +
 +
/etc/hostname failis asendasin masina nimeks '"logimassin"'. Koos domeeninimega on masina nimi "logimassin.planet.zz" (FQDN).
 +
 +
== Logstash ==
 +
Kasutatud S. Arnus lahendust
 +
 +
<source lang="bash">
 +
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
 +
</source>
 +
 +
Loon konfiguratsioonifaili /etc/logstash/logstash.conf sisuga:
 +
NB! Eemaldasin windowsi ja RELP protokollide logid, kuna neid ei ole antud laboris kasutatud.
 +
 +
<source lang="bash">
 +
input {
 +
        #Linux/Unix süsteemidest tulevad logid
 +
        tcp {
 +
                type => "syslog-tcp"
 +
                port => 10514
 +
        }
 +
        #Logiserveri enda logid
 +
        file {
 +
                type => "logserver"
 +
                path => [ "/var/log/syslog", "/var/log/*.log" ]
 +
        }
 +
}
 +
 +
output {
 +
        #Saadetakse andmebaasi
 +
        elasticsearch {
 +
        }
 +
}
 +
 +
</source>
 +
 +
Loon automaatse käivituse jaoks kirje ''upstart''i
 +
 +
<source lang="bash">
 +
nano /etc/init/logstash-server.conf
 +
</source>
 +
 +
<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
 +
 +
<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="bash">
 +
chown -R logstash:adm /etc/logstash/
 +
chown -R logstash:adm /var/log/logstash/
 +
</source>
 +
 +
== Elasticsearch ==
 +
Laen internetist alla elasticsearchi binaarse paki, pakin selle lahti (installeerin) 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>
 +
 +
Teenuse käivitamine
 +
 +
<source lang="bash">
 +
service elasticsearch start
 +
</source>
 +
 +
 +
 +
== Kibana ==
 +
Installeerin sõltuvused ja tõmban internetist pakitud kibana arhiivi.
 +
 +
<source lang="bash">
 +
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 veebiserveriga Kibana kasutajakeskkonnale.
 +
 +
<source lang="bash">
 +
KibanaHost = ‘192.168.56.210’
 +
</source>
 +
 +
Loon upstarti kirje kibana automaatseks käivitamiseks
 +
 +
<source lang="bash">
 +
nano /etc/init/kibana.conf
 +
</source>
 +
 +
Faili sisu:
 +
 +
<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>
 +
 +
Töö lõppu üks korralik taaskäivitus ja olen serveri seadistamisega jõudnud lõpuni.
 +
 +
== Kliendi seadistamine ==
 +
 +
 +
= Ligipääs ja testimine =
 +
Veebiliidesest on võimalik ligi
 +
 +
http://192.168.56.210:5601
 +
 +
 +
 +
 +
 +
 +
 +
 +
 +
KLIENT
 +
 +
Rsyslog on juba paigaldatud, kui aga ei oleks
 +
apt-get install rsyslog
 +
 +
 +
nano /etc/rsyslog.conf
 +
TCP juurde kuskile panin
 +
*.* @@192.168.56.210:10514
 +
 +
kaks @ märki garanteerib selle, et teateid saadetakse TCP protokolli kaudu (turvaline, QoS)
 +
 +
 +
ja lõpuks
 +
service rsyslog restart
 +
 +
 +
ja brauserist näen erinevaid logisid mõlemast serverist
 +
 +
 +
panin ka puppetmaster serveri käima, et klienti tuleks puppeti logid - tulidki.

Revision as of 14:23, 28 November 2013

Labor 2 protokoll - keskse logihalduse rakendamine

Sten Aus

A32

28.11.2013

Õppeaine ja ülesanne: Linuxi administreerimine#Keskne_logiserver

Ülesande püstitus

Luua kohalikus võrgus kahes virtuaalmasinas keskne logihaldus. Üks masin on logiserver ja teine klient, mis saadab oma logid sinna.

Server: Ubuntu Server 64bit, versioon

Klient: Ubuntu client 64bit, versioon

Abimaterjal - väljavõte Sander Arnus lõputööst "Keskse logilahenduse rakendamine Hariduse Infotehnoologia Sihtasutuses" ja selle IT Kolledži wiki materjal Keskse logilahenduse rakendamine.

Kasutatud tarkvara

Logstash, elasticsearch, kibana

Kasutasin samu versioone, mis on kasutanud S. Arnus, kuna kibana versioon 3 on totaalselt teistsugune varasematest ja lahendus selle versiooniga ei töötanud.

Protokoll

Uus virtuaalmasin nimega LA-logiserver-64 (kasutatud varem eksporditud masinat IT Kolledži elab keskkonnast).

Omistasin masinale staatilise ip 192.168.56.210 (kuna kasutusel on ka teine server (puppet), mille aadress on juba 192.168.56.200). Selleks muutsin /etc/network/interfaces failis ip aadressi eth1 võrgukaardi jaoks.

/etc/hostname failis asendasin masina nimeks '"logimassin"'. Koos domeeninimega on masina nimi "logimassin.planet.zz" (FQDN).

Logstash

Kasutatud S. Arnus lahendust

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 sisuga: NB! Eemaldasin windowsi ja RELP protokollide logid, kuna neid ei ole antud laboris kasutatud.

input {
        #Linux/Unix süsteemidest tulevad logid
        tcp {
                type => "syslog-tcp"
                port => 10514
        }
        #Logiserveri enda logid
        file {
                type => "logserver"
                path => [ "/var/log/syslog", "/var/log/*.log" ]
        }
}
 
output {
        #Saadetakse andmebaasi
        elasticsearch {
        }
}

Loon automaatse käivituse jaoks kirje upstarti

nano /etc/init/logstash-server.conf
# 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

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"

<source="bash"> chown -R logstash:adm /etc/logstash/ chown -R logstash:adm /var/log/logstash/ </source>

Elasticsearch

Laen internetist alla elasticsearchi binaarse paki, pakin selle lahti (installeerin) 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

Teenuse käivitamine

service elasticsearch start


Kibana

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

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 veebiserveriga Kibana kasutajakeskkonnale.

KibanaHost = ‘192.168.56.210’

Loon upstarti kirje kibana automaatseks käivitamiseks

nano /etc/init/kibana.conf

Faili sisu:

# 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

Töö lõppu üks korralik taaskäivitus ja olen serveri seadistamisega jõudnud lõpuni.

Kliendi seadistamine

Ligipääs ja testimine

Veebiliidesest on võimalik ligi

http://192.168.56.210:5601





KLIENT

Rsyslog on juba paigaldatud, kui aga ei oleks apt-get install rsyslog


nano /etc/rsyslog.conf TCP juurde kuskile panin

  • .* @@192.168.56.210:10514

kaks @ märki garanteerib selle, et teateid saadetakse TCP protokolli kaudu (turvaline, QoS)


ja lõpuks service rsyslog restart


ja brauserist näen erinevaid logisid mõlemast serverist


panin ka puppetmaster serveri käima, et klienti tuleks puppeti logid - tulidki.