Keskse logihalduse loomine

From ICO wiki

Sissejuhatus

Antud juhend katab Logstash-i, Elasticsearch-i ja Kibana 3 paigaldamise ning seadistamise Debian Wheezy x64 süsteemile. Logstash võtab logid vastu ning edastab need töötlemiseks ja salvestamiseks Elasticsearch-le, Kibana võimaldab kogutud logisid sirvida ja otsida. Lisaks on toodud klientide konfigureerimise näited keskse logiserveri kasutamiseks. Kõik alltoodud käsud on sisestatud juurkasutaja õigustes.


Sõltuvused

Logstash ja Elasticsearch vajavad enda tööks Javat, viimase saab paigaldada käsuga:

apt-get install default-jre -y


Elasticsearch paigaldamine

Laeme tarkvara Elasticsearch-i kodulehelt alla ja paigaldame:

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


Logstash paigaldamine ja seadistamine

Java paki sihtkausta loomine ning tarkvara allalaadimine Logstash-i kodulehelt:

mkdir /usr/share/logstash
wget https://download.elasticsearch.org/logstash/logstash/logstash-1.3.2-flatjar.jar -O /usr/share/logstash/logstash.jar


Turvalisuse tõstmiseks loome Logstash teenuse käitamiseks kasutaja "logstash":

useradd -r -M logstash


Teenuse automaatseks käivitumiseks süsteemi alglaadimisel laeme alla init skripti ning registreerime teenuse:

wget https://raw.github.com/Yuav/logstash-packaging/master/etc/init.d/logstash -O /etc/init.d/logstash
chmod +x /etc/init.d/logstash
update-rc.d logstash defaults


Laeme alla init skripti juurde kuuluva teenuse üldkonfiguratsiooni:

wget https://raw.github.com/Yuav/logstash-packaging/master/etc/default/logstash -O /etc/default/logstash


Logstash konfiguratsioon

Põhikonfiguratsiooni asukoha määramiseks asendada failis /etc/default/logstash rida

CONF=/etc/logstash

reaga

CONF=/etc/logstash/logstash.conf


Sisendite ja väljundite seadistamiseks lisada faili /etc/logstash/logstash.conf järgmised read:

input {
  tcp {
    type   => "syslog-tcp"
    port   => 5514
  }

  udp {
    type   => "syslog-udp"
    port   => 5514
  }
}

output {
  elasticsearch {
  }
}


Teenuse käivitamiseks sisestada käsk:

/etc/init.d/logstash start


Kasutaja logstash õigustes ei saa programm kuulata portidel alla 1024. Alloleva käsu tulemusel suunatakse UDP pordil 514 vastuvõetud paketid ka UDP pordile 5514:

iptables -t nat -A PREROUTING -p udp --dport 514 -j REDIRECT --to-port 5514


Kibana 3 paigaldamine

Kibana 3 vajab veebiserverit, Apache paigaldamiseks sisestada:

apt-get install apache2 -y


Laeme Kibana 3 kodulehelt alla, pakime arhiivi lahti ning liigutame failid veebiserveri juurkausta:

wget http://download.elasticsearch.org/kibana/kibana/kibana-latest.tar.gz
tar xzfv kibana-latest.tar.gz
mv kibana-latest/* /var/www/


Vaikimisi dashboard-i seadmine:

cd /var/www/app/dashboards/
mv default.json default.json.bak
mv logstash.json default.json


Klientide seadistamine

Klientide seadistamine logide saatmiseks kesksesse serverisse.

OpenWRT

Faili /etc/config/system alajaotusesse config system lisada allolevad read, kus log_ip on logiserveri IP aadress ning log_port on UDP port, millel server kuulab:

option log_ip    'x.x.x.x'
option log_port  '5514'


Debian

Paki rsyslog puudumisel paigaldada see käsuga:

apt-get install rsyslog -y


Faili /etc/rsyslog.conf lisada allolevad read, kus server asendada logiserveri IP aadressiga ning port asendada TCP pordiga, millel server kuulab:

*.*       @@server:port


Kokkuvõte

Kui paigaldamisel veateateid ei kuvatud, siis on logiserver ligipääsetav aadressil http://x.x.x.x, kus x.x.x.x on logiserveri IP aadress. Soovituslik on seadistada nimelahendus ja kasutada aadressina http://FQDN, vastasel juhul võib tekkida probleeme Logstash-i ja Elasticsearch-i vahelises andmevahetuses. Samuti on mõistlik piirata ligipääs logiserverile, selleks on head vahendid tulemüür, Apache autentimismoodul ning proksiserver.


Kasutatud kirjandus

http://www.elasticsearch.org/guide/

http://logstash.net/docs/1.3.2/tutorials/getting-started-centralized

http://www.elasticsearch.org/overview/kibana/installation/

http://wiki.openwrt.org/doc/uci/system

http://www.rsyslog.com/doc/rsyslog_reliable_forwarding.html


Toomas Esko, AK21, 13.01.2014