Wizualizuj dzienniki Apache ze stosem łosi

Wizualizuj dzienniki Apache ze stosem łosi

Monitorowanie i analiza dzienników dla różnych infrastruktur w czasie rzeczywistym może być bardzo żmudną pracą. W przypadku usług takich jak serwery internetowe, które nieustannie rejestrują dane, proces może być bardzo złożony i prawie niemożliwy.

Jako taka, wiedza o tym, jak korzystać z narzędzi do monitorowania, wizualizacji i analizy dzienników w czasie rzeczywistym, może pomóc w śledzeniu i rozwiązywaniu problemów oraz monitorowania podejrzanych działań systemowych.

W tym samouczku omówi się, w jaki sposób możesz użyć jednego z najlepszych kolekcji dzienników w czasie rzeczywistym i analizowania narzędzi- łosia. Korzystając z Elk, powszechnie znanego jako Elasticsearch, Logstash i Kibana, możesz zbierać, rejestrować i analizować dane z serwera WWW Apache w czasie rzeczywistym.

Co to jest stos łosia?

Elk to akronim używany w odniesieniu do trzech głównych narzędzi open source: Elasticsearch, Logstash i Kibana.

ElasticSearch to narzędzie open source opracowane w celu znalezienia dopasowań w dużym zbiorze zestawów danych za pomocą wyboru języków i typów zapytania. Jest to lekkie i szybkie narzędzie zdolne do łatwego obsługi terabajtów danych.

Logstash Silnik to związek między serwerem a ElasticSearch, co pozwala na gromadzenie danych z wyboru źródeł do elasticsearch. Oferuje potężne interfejsy API, które są z łatwością integralne z aplikacjami opracowanymi w różnych językach programowania.

Kibana to ostatni kawałek stosu łosi. Jest to narzędzie do wizualizacji danych, które pozwala analizować dane wizualnie i generować wnikliwe raporty. Oferuje również wykresy i animacje, które mogą pomóc w interakcji z danymi.

Stack łosia jest bardzo potężny i może robić niesamowite rzeczy analityczne.

Chociaż różne pojęcia, które omówimy w tym samouczku, zapewnią ci dobre zrozumienie stosu łosi, rozważ dokumentację, aby uzyskać więcej informacji.

ElasticSearch: https: // linkfy.do/elasticsearch-reference

Logstash: https: // linkfy.do/logstashreference

Kibana: https: // linkfy.do/kibanaguide

Jak zainstalować Apache?

Zanim zaczniemy instalować Apache i wszystkie zależności, dobrze jest zauważyć kilka rzeczy.

Przetestowaliśmy ten samouczek na Debian 10.6, ale będzie również działać z innymi dystrybucjami Linux.

W zależności od konfiguracji systemu potrzebujesz uprawnień sudo lub root.

Kompatybilność i użyteczność stosu łosia mogą się różnić w zależności od wersji.

Pierwszym krokiem jest upewnienie się, że Twój system jest w pełni zaktualizowany:

Sudo apt-get Aktualizacja
Sudo apt-get Aktualizacja

Następnym poleceniem jest zainstalowanie serwera Apache2. Jeśli chcesz zainstalować minimalny apache, usuń dokumentację i narzędzia z poniższego polecenia.

sudo apt-get instaluj apache2 Apache2-Utils Apache2-doC -y
Sudo Service Apache2 start

Do tej pory powinieneś mieć serwer Apache działający w swoim systemie.

Jak zainstalować Elasticsearch, Logstash i Kibana?

Musimy teraz zainstalować stos łosi. Będziemy instalować każde narzędzie indywidualnie.

ElasticSearch

Zacznijmy od zainstalowania ElasticSearch. Użyjemy APT, aby go zainstalować, ale możesz uzyskać stabilną wersję z oficjalnej strony pobierania tutaj:

https: // www.elastyczny.co/pobierania/elasticsearch

ElasticSearch wymaga uruchomienia Java. Na szczęście najnowsza wersja jest dostarczana z pakietem OpenJDK, usuwając kłopot z instalacją ręcznej. Jeśli chcesz wykonać ręczną instalację, zapoznaj się z następującym zasobem:

https: // www.elastyczny.co/przewodnik/en/elasticsearch/reference/current/konfiguracja.html#jvm-wersja

W następnym kroku musimy pobrać i zainstalować oficjalny klawisz podpisujący Elastic Apt za pomocą polecenia:

wget -qo - https: // artefacts.elastyczny.CO/GPG-KEY-ELASTICSEARK | sudo apt-key add -

Przed kontynuowaniem możesz wymagać pakietu Apt-Transport-HTTPS (wymaganego dla pakietów obsługiwanych przez HTTP) przed kontynuowaniem instalacji.

sudo apt-get instaluj apt-transport-https

Teraz dodaj informacje APT Repo do źródeł.lista.D Plik.

echo „Deb https: // artefakty.elastyczny.co/pakiety/7.X/Apt Stable Main ”| sudo tee/itp./apt/źródła.lista.D/Elastic-7.X.lista

Następnie zaktualizuj listę pakietów w swoim systemie.

Sudo apt-get Aktualizacja

Zainstaluj ElasticSearch za pomocą poniższego polecenia:

sudo apt-get install elasticsearch

Po zainstalowaniu ElasticSearch, uruchom i włączanie uruchomienia z poleceniami SystemCtl:

Sudo Systemctl Demon-Reload
Sudo Systemctl Włącz ElasticSearch.praca
sudo systemctl start elasticsearch

Usługa może zająć trochę czasu. Poczekaj kilka minut i potwierdź, że usługa jest uruchomiona z poleceniem:

Sudo Systemctl Status Elasticsearch.praca

Za pomocą Curl sprawdź, czy dostępny jest interfejs API ElasticSearch, jak pokazano na wyniku JSON poniżej:

curl -x get "localhost: 9200/?ładny"

„Nazwa”: „Debian”,
„Cluster_name”: „ElasticSearch”,
„klaster_uuid”: „vzhcutuqssko1ryhqmdwsg”,
„Wersja”:
„Numer”: „7.10.1 ",
„Build_flavor”: „domyślnie”,
„Build_Type”: „Deb”,
„Build_hash”: „1C34507E66D7DB1211F66F3513706FDF548736AA”,
„Build_date”: „2020-12-05T01: 00: 33.671820Z ",
„Build_snapshot”: False,
„Lucene_version”: „8.7.0 ",
„minimum_wire_compatibility_version”: „6.8.0 ",
„minimum_index_compatibility_version”: „6.0.0-beta1 "
,
„Slandline”: „Wiesz, do wyszukiwania”

Jak zainstalować logstash?

Zainstaluj pakiet LogStash za pomocą polecenia:

sudo apt-get logstash

Jak zainstalować kibana?

Wprowadź poniższe polecenie, aby zainstalować kibana:

sudo apt-get instaluj kibana

Jak skonfigurować Elasticsearch, Logstash i Kibana?

Oto jak skonfigurować stos łosi:

Jak skonfigurować ElasticSearch?

W ElasticSearch dane są uporządkowane w indeksie. Każdy z tych indeksów ma jeden lub więcej odłamków. Odłamek to samodzielna wyszukiwarka używana do obsługi i zarządzania indeksami i zapytaniami dla podzbioru w klastrze w ElasticSearch. Odłamek działa jako przykład indeksu Lucene.

Domyślna instalacja ElasticSearch tworzy pięć odłamków i jedną replikę dla każdego indeksu. To jest dobry mechanizm podczas produkcji. Jednak w tym samouczku będziemy pracować z jednym odłamkiem i bez replik.

Zacznij od utworzenia szablonu indeksu w formacie JSON. W pliku ustawimy liczbę odłamków na jeden i zerowy repliki do dopasowywania nazw indeksów (cele rozwoju).

W ElasticSearch szablon indeksu odnosi się do tego, jak instruujesz ElasticSearch do konfigurowania indeksu podczas procesu tworzenia.

Wewnątrz pliku szablonu JSON (index_template.JSON), wprowadź następujące instrukcje:


"szablon":"*",
„Ustawienia”:
"indeks":
„Number_of_shards”: 1,
„Number_of_replicas”: 0


Za pomocą Curl zastosuj konfigurację JSON do szablonu, który zostanie zastosowany do wszystkich utworzonych wskaźników.

curl -x put http: // localhost: 9200/_template/defaults -h 'content -Type: Application/Json' -D @Index_Template.JSON
„potwierdzony”: true

Po złożeniu ElasticSearch odpowie na potwierdzone: prawdziwe oświadczenie.

Jak skonfigurować logstash?

Aby LogStash zbierać dzienniki z Apache, musimy skonfigurować go do oglądania wszelkich zmian w dziennikach poprzez zbieranie, przetwarzanie, a następnie zapisywanie dzienników na ElasticSearch. Aby to się stało, musisz skonfigurować ścieżkę zbierania dziennika w logstash.

Zacznij od utworzenia konfiguracji logstash w pliku/etc/logstash/conf.D/Apache.conf

wejście
plik
ścieżka => '/var/www/*/logs/dostęp.dziennik'
type => „Apache”


Filtr
Grok
mając => "message" => "%CombineApachelog"


wyjście
ElasticSearch

Teraz upewnij się, aby włączyć i uruchomić usługę LogStash.

sudo systemctl włącz logstash.praca
sudo systemctl start logstash.praca

Jak włączyć i skonfigurować Kibana?

Aby włączyć Kibana, edytuj główny .plik konfiguracyjny YML zlokalizowany w/etc/kibana/kibana.yml. Znajdź następujące wpisy i odkształcić je. Po zakończeniu użyj SystemCTL, aby rozpocząć usługę kibana.

serwer.Port: 5601
serwer.Gospodarz: „Localhost”
sudo systemctl włącza kibana.Service && sudo systemctl start kibana.praca

Kibana tworzy wzorce indeksu na podstawie przetwarzanych danych. Dlatego musisz zbierać dzienniki za pomocą logstash i przechowywać je w ElasticSearch, z których Kibana może użyć. Użyj curl, aby generować dzienniki z Apache.

Po uzyskaniu dzienników od Apache uruchom kibana w przeglądarce za pomocą adresu http: // localhost: 5601, który uruchomi stronę indeksu kibana.

Na podstawie należy skonfigurować wzór indeksu używany przez kibana do wyszukiwania dzienników i generowania raportów. Domyślnie Kibana używa wzoru indeksu Logstash*, który pasuje do wszystkich domyślnych wskaźników generowanych przez LogStash.

Jeśli nie masz żadnej konfiguracji, kliknij Utwórz, aby rozpocząć przeglądanie dzienników.

Jak wyświetlić dzienniki kibana?

W miarę wykonywania żądań Apache LogStash zbierze dzienniki i doda je do ElasticSearch. Możesz wyświetlić te dzienniki w kibanie, klikając opcję Discover w lewym menu.

Karta Discover pozwala wyświetlić dzienniki, ponieważ serwer je generuje. Aby wyświetlić szczegóły dziennika, po prostu kliknij menu rozwijane.

Odczytaj i zrozum dane z dzienników Apache.

Jak szukać dzienników?

W interfejsie Kibana znajdziesz pasek wyszukiwania, który umożliwia wyszukiwanie danych za pomocą ciągów zapytań.

Przykład: Status: aktywny

Dowiedz się więcej o sznurkach zapytań Elk tutaj:

https: // www.elastyczny.co/przewodnik/en/elasticsearch/reference/5.5/zapytanie-DSL-Query-String-Query.HTML#zapytanie-Synt-Syntax

Ponieważ mamy do czynienia z dziennikami Apache, jednym możliwym dopasowaniem jest kod stanu. Stąd wyszukaj:

Odpowiedź: 200

Ten kod będzie wyszukiwać dzienniki z kodem stanu 200 (OK) i wyświetli go do kibany.

Jak wizualizować dzienniki?

Możesz tworzyć wizualne pulpity nawigacyjne w kibanie, wybierając kartę wizualizującą. Wybierz typ pulpitu nawigacyjnego, aby utworzyć i wybierz indeks wyszukiwania. Możesz użyć domyślnej do celów testowych.

Wniosek

W tym przewodniku omówiliśmy przegląd tego, jak korzystać z stosu łosi do zarządzania dziennikami. Jednak te technologie są coś więcej. Zalecamy samodzielne odkrywanie.