Kontynuujemy serię o tworzeniu POC z wykorzystaniem logstash, elasticsearch i kibana. Dzisiaj skoncentrujemy się na prostej konfiguracji elasticsearch i uruchomieniu go.

Z cyklu elastic, do tej pory ukazały się artykuły:

  1. elastic – wstęp
  2. elastic – logstash
  3. elastic – elasticserach
  4. elastic – kibana

Konfiguracja elasticsearch

Mając działającego logstasha, możemy się zabrać za elasticsearch. To dzięki niemu będziemy mieli ładnie indeksowane logi, które będziemy mogli przeglądać, analizować itp. itd.  Sama konfiguracja nie jest trudna. Jakbyśmy podeszli do tego pragmatycznie, to prawie nic nie trzeba by było robić. I dobrze, ja tak zrobiłem za pierwszym razem. Teraz jednak powiem trochę więcej o tym co możemy skonfigurować bo może to się wam przyda.

Elasticsearch ma dwa pliki konfiguracyjne:

  • elasticsearch.yml – konfiguracja elasticsearch taka jak lokalizacja logów, port na którym ma działać itp.
  • log4j2.properties – konfiguracja logowania elasitcsearch, co i jak ma być logowane.

Obydwa pliki znajdują się w pod katalogu config w katalogu w którym zainstalowaliśmy elasticsearch.

elasticsearch.yml

Nie chcę tutaj wchodzić zbytnio w szczegóły. Więc po krótce o elasticsearch.yml. Jest to plik Yaml – czytelny zapis, serializowanych danych. To co możemy szybko w nim ustawić to port na jakim działa nasz cały elasticsearch (jak pamiętacie w logstash ustawiliśmy 9200, jest to domyślny port dla elasticsearch):

http.port: 9200

Możemy także określić pod jakim IP będzie elasticsearch działało:

network.host: 192.168.0.1

Dwoma ważnymi parametrami konfiguracyjnymi są lokalizacje logów jak i danych przechowywanych przez elasticsearch:

path.logs: d:/mon/dump/log
path.data: d:/mon/dump/data

Z takich jeszcze ciekawych opcji i prostych, możemy nazwać nasz klaster:

cluster.name: poc

Następnie mamy masę, innych opcji, które możemy ustawić w zależności od tego co chcemy zbudować – wykrywanie nodów dla klastrów, dodawanie, blokowanie. Jednak dla naszych celów jak już napisałem, nie musimy w ogóle tego tykać. Jak będziecie potrzebować coś więcej to przynajmniej wiadomo gdzie szukać.

log4j2.properties

Jak znacie log4j to raczej nie będzie tutaj problemów. Po prostu określamy co i jak i za pomocą czego. Opis składni możecie znaleźć tutaj. Nie jest to nic skomplikowanego i też nie ma co dużo tutaj pisać. Warto wiedzieć, że możemy to do konfigurować.

Uruchomienie elasticsearch

Elasticsearch możemy uruchomić na dwa sposoby. Jako aplikację wolnostojącą. Jako usługę windows service. Jako, że ja pracuje na windowsach, to opiszę opcję z usługą. Jednak nie musicie tego robić i wystarczy, że po prostu odpalicie sobie elasticsearch:

d:\mon\es\bin\elasticsearch.bat

W razie co, możecie przekazać jakieś parametry

d:\mon\es\bin\elasticsearch.bat -Ecluster.name=poc -Enode.name=poc_node_1 -Ehttp.port=9201

Jeżeli byśmy chcieli uruchomić elasticsearch jako usługę, to musimy wykorzystać plik elasticsearch-service.bat z opcją install:

d:\mon\es\bin\elasticsearch-service.bat install

Mamy jeszcze dostępne opcje:

  • remove – wywal to co zostało zainstalowane
  • start – wystartuj usługę
  • stop – zastopuj usługę
  • manager – odpal managera (windowsowe UI do usług)

A więc na samym końcu:

d:\mon\es\bin\elasticsearch-service.bat start

I mamy już działający elasticsearch do którego możemy wrzucać logi z poziomu logstash.

Podsumowanie

Dziś było krótko ale też nie trzeba więcej pisać. Dla konkretnego przykładu i POC więcej nie potrzeba. Jakbyśmy mieli specjalne zapotrzebowanie to możemy do konfigurować sobie elasticsearch. Jednak jak widzicie dla prostych zastosować nic nie trzeba robić.

Oczywiście uwaga! Nie udostępniajcie elasticsearch publicznie, a jak to robicie to zabezpieczcie instancje! W przeciwnym wypadku sami prosimy się o kłopoty – w szczególnośći po ostatnich akcjach, powinniście być na tym punkcie przeczuleni!

 

2 KOMENTARZE

  1. […] Jak dla mnie bomba :) kilka godzin z dokumentacją i wiem, że ten czas nie był zmarnowany! Żeby tak zawsze było :) To co teraz robi nLog to naprawdę krok w dobrym kierunku, jak i krok ku lepszej integracji z narzędziami zewnętrznymi takimi jak ElasticSearch. […]

Comments are closed.