Wstęp
ELK(
https://www.elastic.co/) - Elasticsearch + Logstash + Kibana, czyli grupa narzędzi pomagająca scentalizować logi.
Ostatnio w firmie zaprzegneliśmy ELK do zarządzania i analizowania access logów oraz logów aplikacyjnych.
Po krótce opisze proces instalacji i konfiguracji całego pakietu.
ElasticSearch
Sciągnij i zainstaluj ElasticSearch
zainstaluj Java Service Wrapper dla ElasticSearch
w pliku elasticsearch.yml odkomentuje i zmien na poprawny IP np:
starujemy ElasticSearch:
Upewnijmy się czy service wystartował:
odpowiedź powinna wyglądać mniej więcej tak:
{
"status" : 200 ,
"name" : "Storm" ,
"version" : {
"number" : "1.3.1" ,
"build_hash" : "2de6dc5268c32fb49b205233c138d93aaf772015" ,
"build_timestamp" : "2014-07-28T14:45:15Z" ,
"build_snapshot" : false ,
"lucene_version" : "4.9"
},
"tagline" : "You Know, for Search"
}
|
Logstash
instalujemy:
cd ~
wget https://download.elasticsearch.org/logstash/logstash/logstash-1.4.2.tar.gz
tar xzvf logstash-1.4.2.tar.gz
mv logstash-1.4.2 /opt/logstash
adduser --system --disabled-login --no-create-home --group logstash
usermod -a -G adm logstash
#auto start script for logstash
# download init script
wget -O /etc/init.d/logstash https://raw.githubusercontent.com/elasticsearch/logstash/master/pkg/logstash.sysv
# make it executable
chmod +x /etc/init.d/logstash
# make it auto-startable
update-rc.d logstash defaults
# configure logstash folder
# create logstash config dir
mkdir -p /etc/logstash/conf.d
# create logstash logs dir
mkdir /var/log/logstash
chown -R logstash: /var/log/logstash
# make home folder
mkdir /var/lib/logstash
chown -R logstash: /var/lib/logstash
tworzymy certyfikaty SSL
OpenSSL configuration file:
Znajdź sekcje
[ v3_ca ]
w pliku, i dodaj pod ną natępujący wpis (oczywiście z prawidłowym namiarem na maszynkę z logstashem):
Teraz wygeneruj certyfikat SSL i klucz prywatny (/etc/pki/tls/),za pomoca komendy:
wrzucamy konfiguracje
input do pliku:
input {
lumberjack {
port => 5000
type => "logs"
ssl_certificate => "/etc/pki/tls/certs/logstash-forwarder.crt"
ssl_key => "/etc/pki/tls/private/logstash-forwarder.key"
}
}
|
wrzucamy konfigurację
filter do pliku:
filter {
if [type] == "json" {
json {
source => "message"
}
}
if [type] == "accesslog" {
grok {
match => { "message" => "%{COMBINEDAPACHELOG}" }
}
date {
locale => 'en'
match => [ "timestamp" , "dd/MMM/yyyy:HH:mm:ss Z" ]
}
}
}
|
wrzucamy konfigurację output do pliku:
output {
if [type] == "json" {
elasticsearch {
host => "192.168.XXX.XXX"
port => "9200"
protocol => "http"
index => "json-logs-%{+YYYY.MM.dd}"
}
stdout { codec => rubydebug }
}
}
|
kopiowanie certyfikatu SSL
Z serwera
Logstash , kopiujemy SSL'a na drugi
Server, gdzie będzie zaintsalowany logstash-forwarder:
konfiguracja Logstash Forwarder
instalujemy:
w pliku wstawiamy:
{
"network" : {
"servers" : [ "192.168.XXX.YYY:5000" ],
"timeout" : 15 ,
"ssl ca" : "/etc/pki/tls/certs/logstash-forwarder.crt"
},
"files" : [
{
"paths" : [
"/path/to/json/log/file" ,
],
"fields" : { "type" : "json" }
}
{
"paths" : [
"/path/to/access/log/file"
],
"fields" : { "type" : " accesslog " }
}
]
}
|
Instalacja Kibana
w pliku kibana.ymlzmieniamy wpis:
Komentarze
Prześlij komentarz