W tym samouczku przeprowadzimy Cię przez proces uruchamiania Logstash w kontenerze Docker z podstawową konfiguracją.
Wymagania:
Zanim zaczniemy korzystać z samouczka, upewnij się, że posiadasz następujące elementy:
- Zainstalowano Docker na komputerze hosta (zalecana jest wersja 23 i nowsza)
- Zainstalowano Docker Compose na Twoim komputerze
Po spełnieniu podanych wymagań możemy kontynuować tutorial.
Skonfiguruj plik konfiguracyjny Logstash
Logstash używa plików konfiguracyjnych do definiowania sposobu pozyskiwania, filtrowania i wysyłania danych do danych wyjściowych. Istnieje wiele opcji, które można skonfigurować, zgodnie z oficjalną dokumentacją.
W naszym przykładzie skupiamy się na podstawowej konfiguracji, która pobiera dane z pliku dziennika, filtruje je pod kątem pasujących rekordów i wyprowadza dane do pliku.
Utwórz plik o nazwie „logstash.conf” i dodaj konfigurację w następujący sposób:
wejście {plik {
ścieżka => „/var/log/apache/access.log”
pozycja_początkowa => 'początek'
oddb_path => „/dev/null”
ignorowanie_starszych => 0
}
}
filtrować {
jeśli [wiadomość] =~ 'BŁĄD' {
grok {
dopasowanie => { 'wiadomość' => „%{COMBINEDAPACHELOG}” }
}
}
}
wyjście {
plik {
ścieżka => „/var/log/apache/error_logs.log”
}
}
Poprzedni plik definiuje konfigurację jak pokazano poniżej:
- Sekcja wejściowa – sekcja wejściowa wykorzystuje wtyczkę do wprowadzania plików do odczytu pliku dziennika Apache znajdującego się w /var/log/apache/access.log.
- Następnie ustawiamy pozycję początkową na początku, co pozwala Logstashowi odczytać cały plik od początku.
- Withoutdb_path – Ten parametr pozwala nam wyłączyć śledzenie od Logstash'a od ponieważdb, ustawiając wartość na /dev/null. Dzięki temu Logstash zawsze czyta plik od początku.
- Ignore_older – ustawienie wartości tego parametru na 0 umożliwia Logstashowi przetwarzanie wszystkich wpisów pliku dziennika.
- Sekcja filtrów – W sekcji filtrów definiujemy wzorzec filtra sprawdzający, czy komunikat logu zawiera słowo BŁĄD. Możesz dostosować warunki bloków filtrów, aby filtrować dokładniejsze dopasowania w pliku.
- Jeśli warunek jest spełniony, używamy filtra grok do analizowania wiersza dziennika Apache przy użyciu wzorca COMBINEDAPACHELOG, który jest wzorcem wbudowanym w Logstash do analizowania dzienników Apache.
- Sekcja wyjściowa – ta sekcja pozwala nam zdefiniować format wyjściowy dla pasujących wpisów.
- W naszym przypadku zapisujemy je do pliku /var/log/apache/error_logs.log z wykorzystaniem parametru path.
To powinno zapewnić nam podstawową konfigurację Logstash, która pozwoli nam zademonstrować podstawowe działanie Logstash.
Więcej informacji na temat tworzenia i konfigurowania potoków Logstash można znaleźć w następującym źródle dokumentacji:
https://www.elastic.co/guide/en/logstash/current/configuration.html
Utwórz plik Dockerfile
Po zdefiniowaniu konfiguracji Logstash możemy kontynuować i dowiedzieć się, jak uruchomić kontener. W tym samym katalogu co plik „logstash.conf” utwórz nowy plik o nazwie „Dockerfile”.
Edytuj ten plik i dodaj wpisy w następujący sposób:
Z docker.elastic.co/logstash/logstash:8.9.2KOPIUJ plik logstash.conf /usr/share/logstash/pipeline/logstash.conf
W podanym przykładzie obraz bazowy definiujemy jako oficjalny obraz Logstash w wersji 8.9.2.
Następnie kopiujemy utworzony przez nas plik „logstash.conf” do pliku /usr/share/logstash/pipeline/logstash.conf znajdującego się na obrazie.
Zbuduj obraz platformy Docker
Następnie przejdź do katalogu zawierającego plik konfiguracyjny Dockerfile i Logstash. Uruchom następujące polecenie, aby zbudować obraz:
$ kompilacja dokera -T niestandardowy obraz-logstash .
Uruchom kontener Logstash
Teraz, gdy zbudowaliśmy obraz Dockera, możemy uruchomić kontener Logstash za pomocą polecenia „run” Dockera w następujący sposób:
$ uruchomienie dokera -D --nazwa serwer logstash niestandardowy obraz logstashPowinno to uruchomić kontener Logstash przy użyciu obrazu, który zbudowaliśmy w poprzednim kroku.
Sprawdź dzienniki kontenera Logstash
Aby sprawdzić, czy Logstash działa poprawnie, możesz sprawdzić dzienniki kontenerów za pomocą następującego polecenia:
$ dzienniki dokera < nazwa_kontenera >Wyjście:
Wniosek
W tym samouczku nauczyłeś się, jak szybko skonfigurować serwer Logstash działający jako Docker przy użyciu niestandardowego pliku konfiguracyjnego. Zalecamy sprawdzenie dokumentacji dotyczącej parametrów obrazu i opcji konfiguracyjnych.