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.