Keskse logilahenduse rakendamine V2

From ICO wiki
Revision as of 21:40, 9 December 2014 by Kindlo (talk | contribs) (→‎Nginx)
Jump to navigationJump to search

Autor: Kristjan Indlo A41

Kuupäev: 2014.11.22, 2014.12.03

Eesmärk

Antud juhendi põhiline eesmärk on algupärane labor Keskse logilahenduse rakendamine kaasajastada ja võimalikult palju lihtsustada.

Sekundaarne eesmärk on kasutada kolme erinevat operatsioonisüsteemi, kahest erinevast perekonnast:

1) Debian GNU/Linux (Debainiliste perekond)

2) Trisquel GNU/Linux (Ubuntu vabastatud asendus, Debianiliste perekond)

3) CentOS GNU/Linux (RHEL perekond)

Sissejuhatus laborisse

See juhend on mõeldud Keskse logihalduse labori eelneva versiooni värskenduseks.

Eelneva versiooni Keskse logihalduse laborist leiab SIIT

Juhendis kekskendutakse samadele tööriistadele, mida kasutatakse ka eelnevas laboris.


Juhendis kasutatav tarkvara

Hüperviisorina on kasutuses Virt-Manager, Qemu ja KVM komplekt.

Logiserver: Debain Wheezy 7.7 x86_64

Ip addr:

eth0: 192.168.122.43/24 (DHCP)

eth1: 192.168.56.110/24 (Static)

FQDN: logiserver.minudomeen.midagi

CPU: 1x

MEM: 2084M

Video: Cirrus Logic 9M

Disk:

NAME   MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
vda    254:0    0   8G  0 disk
└─vda1 254:1    0   8G  0 part /


See on logiserver kuhu paigaldatakse järgnev tarkvara:

1. Logstash v1.4.2 (Logiserver)

2. Elasticsearch v1.1.1 (Logide otsing)

3. Kibana (Logide visualiseerimine veebiliideses)

Kuna kibana on veebirakendus, on vaja ka veebiserverit.

Siin laboris kasutatakse Nginx

Trisquel Belenos 7.0 x86_64

See on tööjaam, millel kogutakse logisi üle TCP Protokolli.

Tööjaamal on graafiline liides LXDE. Paigladatud on "Trisquel Mini"

Ip addr:

eth0: 192.168.122.20/24 (DHCP)

eth1: 192.168.56.111/24 (Static)

FQDN: logiklient1.minudomeen.midagi

CPU: 1x

MEM: 1024M

Video: QXL 64M

Disk:

NAME   MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
vda    253:0    0     8G  0 disk
└─vda1 253:1    0     8G  0 part /


CentOS 6.6 x86_64

Server, millelt millelt kogutakse logisi üle RELP protokolli.

Ip addr:

eth0: 192.168.56.221 (DHCP)

eth1: 192.168.56.112 (Static)

FQDN: logiklient2.minudomeen.midagi

CPU: 1x

Video: Cirrus Logic 9M

Disk:

vda                         252:0    0    8G  0 disk
├─vda1                      252:1    0  500M  0 part /boot
└─vda2                      252:2    0  7.5G  0 part
  ├─VolGroup-lv_root (dm-0) 253:0    0  6.7G  0 lvm  /
  └─VolGroup-lv_swap (dm-1) 253:1    0  816M  0 lvm  [SWAP]

Paigaldus ja konfigureerimine

NB! Kõik käsureategevused on läbi viidud juurkasutaja õigustes (root).

CentOS puhul saab kasutada ka su, kuid tavakasutaja saab kirjeldada ära sudojate failis, mis võimaldab juurkasutajaks eskaleeruda tavakasutaja parooliga.

Selleks:

<tekstiredaktor> /etc/sudores

või

visudo

(avab sudojate faili programmiga vi).

Lisa polkki ## Allow root to run any commands anywhere:

<sinuusername> ALL=(ALL) ALL

Logiserver

Java

Siin juhendis kasutatakse vaba java keskkonda. Üldiselt on see distributsioonide repositooriumites olemas, seega pole vaja alla laadida pakkfaile ega nõustuda kasutajatingimustega.

apt-get install openjdk-7-jre-headless

Elasticsearch

Siin juhendis kasutatakse elasticsearch versioon 1.1.1, kuna see on soovitav versioon logstash 1.4.2'le.


Lisa elasticsearch repositooriumi apt-võti:

wget -O - http://packages.elasticsearch.org/GPG-KEY-elasticsearch | sudo apt-key add -


Lisa ka elasticsearch repositoorim(käsk uuendab repositoorimuite nimekirja):

echo 'deb http://packages.elasticsearch.org/elasticsearch/1.1/debian stable main' > /etc/apt/sources.list.d/elasticsearch.list && apt-get update


Paigalda elasticsearch(v1.1.1.)

apt-get install elasticsearch=1.1.1


Turvalisuse suurendamiseks keela skriptide dünaamilise koostamise. Skripte saab juurde lisada eraldi kaustast (sama põhimõte nagu httpd/apache konfiguratsiooni nö includemine)

echo 'script.disable_dynamic: true' >> /etc/elasticsearch/elasticsearch.yml


Muuda elasticsearch teenus automaatselt käivituvaks(käsuga ühtlasi käivitatakse elasticsearch teenus).

update-rc.d elasticsearch defaults 95 10 && service elasticsearch start


Kibana

Siin juhendis on kasutaud kibana versioon 3.0.1, sest see on soovitatav versioon logstash 1.4.2'le.


Lae alla kibana tarpakk.

wget "https://download.elasticsearch.org/kibana/kibana/kibana-3.0.1.tar.gz" -O /tmp/kibana.tgz


Loo httpd/apache veebiruudu kaust ja paki kibana sinna lahti.

mkdir -p /var/www && tar -xzvf /tmp/kibana.tgz -C /var/www/

Konfigureeri Kibana kasutama õiget veebiruutu

<tekstiredaktor> /var/www/kibana-3.0.1/config.js

Seal muuda konfiguratsiooniparameeter

 +elasticsearch: {server: "http://localhost:9200", withCredentials: true}+

selliseks nagu süsteemis vaja

 +elasticsearch: {server: "http://<SINU SERVERI FQDN>:<KIBANA ACCESS PORT>", withCredentials: true}+


Juhendi looja näites on sätitud kibana järgmiselt: <Serveri fqdn> ja port 80, selleks, et veebilehitsejast saada kibanale ligi läbi pordi 80.

+elasticsearch: {server: "http://logiserver.minudomeen.midagi:80", withCredentials: true}+


Nginx

Paigala nginx

apt-get install nginx

Lae alla nxinx kibana sample konfiguratsioonifail kibana githubist:

NB! Käsk kirjutab üle NGINX tavaveebikonfi, kui tahad seda alles hoida, siis tee sellest tagavarakoopia!

wget https://gist.githubusercontent.com/thisismitch/2205786838a6a5d61f55/raw/f91e06198a7c455925f6e3099e3ea7c186d0b263/nginx.conf -O /etc/nginx/sites-available/default

Muuda äsja allalaetud faili konfiguratsiooni:

<tekstiredaktor> /etc/nginx/sites-available/default

Muuda parameetrid vastavalt vajadusele:

server_name           kibana.myhost.org;
root                  /usr/share/kibana3;

Juhendi autori näite puhul:

server_name           logiserver.minudomeen.midagi;
root                  /var/www/kibana-3.0.1;

Paigalda parooli genereerimise jaoks vajalik apache2-utils pakk:

apt-get install apache2-utils

Genereeri kasutajanimi ja parool kibana veebirakendusele

htpasswd -c /etc/nginx/conf.d/<kibanaADDR>.htpasswd <USER>

Juhendi autori näite puhul

htpasswd -c /etc/nginx/conf.d/logiserver.minudomeen.midagi.htpasswd student
Edukalt konfigureeritud kibana

Taaskäivita nginx teenus

service nginx restart

Testi tulemust, mine veebilehitsejaga:

http://<sinu logiserveri fqdn>


Juhendi autoril on Trisquel GNU/Linux virtuaalmasinas graafiline keskkond ja kohalink nimelahendus testisin seal

http://logiserver.minudomeen.midagi

Tulemuseks peab olema kibana tervitusleht.

Logiklient1

Logiklient2

Kasutatud kirjandus

http://www.elasticsearch.org/guide/en/elasticsearch/reference/current/modules-scripting.html

https://www.digitalocean.com/community/tutorials/how-to-use-logstash-and-kibana-to-centralize-and-visualize-logs-on-ubuntu-14-04

http://logstash.net/docs/1.4.2/configuration