Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Ważne
Ten łącznik może być używany w analizie czasu rzeczywistego w usłudze Microsoft Fabric. Skorzystaj z instrukcji w tym artykule z następującymi wyjątkami:
- W razie potrzeby utwórz bazy danych, korzystając z instrukcji w temacie Tworzenie bazy danych KQL.
- W razie potrzeby utwórz tabele, korzystając z instrukcji w temacie Tworzenie pustej tabeli.
- Pobierz URI zapytań lub danych wejściowych, korzystając z instrukcji w Copy URI (Kopiowanie URI).
- Uruchamianie zapytań w zestawie zapytań KQL.
Logstash to potok przetwarzania danych po stronie serwera typu open source, który pozyskuje dane z wielu źródeł jednocześnie, przekształca dane, a następnie wysyła dane do Twojej ulubionej „przechowalni”. W tym artykule wyślesz te dane do usługi Azure Data Explorer, która jest szybką i wysoce skalowalną usługą eksploracji danych na potrzeby danych dzienników i telemetrii. Początkowo utworzysz tabelę i mapowanie danych w klastrze testowym, a następnie przekierowujesz usługę Logstash, aby wysłać dane do tabeli i zweryfikować wyniki.
Uwaga
Ten łącznik obsługuje obecnie tylko format danych JSON.
Wymagania wstępne
- Konto Microsoft lub tożsamość użytkownika Microsoft Entra. Subskrypcja platformy Azure nie jest wymagana.
- Baza danych i klaster usługi Azure Data Explorer. Utwórz klaster i bazę danych.
- Instrukcje instalacji usługi Logstash w wersji 8.7.lub nowszej.
Utwórz tabelę
Po utworzeniu klastra i bazy danych nadszedł czas na utworzenie tabeli.
Uruchom następujące polecenie w oknie zapytania bazy danych w celu utworzenia tabeli:
.create table logs (timestamp: datetime, message: string)Uruchom następujące polecenie, aby potwierdzić, że nowa tabela
logszostała utworzona i jest pusta:logs | count
Utwórz mapowanie
Mapowanie jest używane przez usługę Azure Data Explorer do przekształcania danych przychodzących do docelowego schematu tabeli. Następujące polecenie tworzy nowe mapowanie o nazwie basicmsg, które wyodrębnia właściwości z przychodzącego kodu JSON zgodnie z informacjami w elemencie path i wysyła je do elementu column.
Uruchom następujące polecenie w oknie zapytania:
.create table logs ingestion json mapping 'basicmsg' '[{"column":"timestamp","path":"$.@timestamp"},{"column":"message","path":"$.message"}]'
Zainstaluj wtyczkę wyjściową Logstash
Wtyczka wyjściowa Logstash komunikuje się z usługą Azure Data Explorer i wysyła dane do tej usługi. Aby uzyskać więcej informacji, zobacz Wtyczka usługi Logstash.
W wierszu poleceń przejdź do katalogu głównego Logstash, a następnie uruchom następujące polecenie, aby zainstalować wtyczkę.
bin/logstash-plugin install logstash-output-kusto
Konfigurowanie usługi Logstash w celu wygenerowania przykładowego zestawu danych
Logstash może wygenerować przykładowe zdarzenia, których można użyć do testowania pełnego przepływu pracy. Jeśli już używasz usługi Logstash i masz dostęp do własnego strumienia zdarzeń, przejdź do następnej sekcji.
Uwaga
Jeśli używasz własnych danych, zmień obiekty tabeli i mapowanie zdefiniowane w poprzednich krokach.
Edytuj nowy plik tekstowy zawierający wymagane ustawienia potoku (przy użyciu vi).
vi test.confWklej następujące ustawienia informujące usługę Logstash o konieczności wygenerowania 1000 zdarzeń testowych:
input { stdin { } generator { message => "Test Message 123" count => 1000 } }
Ta konfiguracja obejmuje również wtyczkę wejściową stdin, która umożliwi samodzielne pisanie większej liczby wiadomości (pamiętaj, aby użyć klawisza Enter w celu przesłania ich do potoku).
Konfigurowanie usługi Logstash w celu wysyłania danych do usługi Azure Data Explorer
Wklej następujące ustawienia w pliku konfiguracji użytym w poprzednim kroku. Zastąp wszystkie elementy zastępcze wartościami odpowiednimi dla konfiguracji. Aby uzyskać więcej informacji, zobacz Tworzenie aplikacji Microsoft Entra.
output {
kusto {
path => "/tmp/kusto/%{+YYYY-MM-dd-HH-mm-ss}.txt"
ingest_url => "https://ingest-<cluster name>.kusto.windows.net/"
app_id => "<application id>"
app_key => "<application key/secret>"
app_tenant => "<tenant id>"
database => "<database name>"
table => "<target table>" # logs as defined above
json_mapping => "<mapping name>" # basicmsg as defined above
}
}
| Nazwa parametru | opis |
|---|---|
| ścieżka | Dodatek usługi Logstash zapisuje zdarzenia w plikach tymczasowych przed ich wysłaniem do usługi Azure Data Explorer. Ten parametr obejmuje ścieżkę, w której należy zapisać pliki, oraz wyrażenie czasowe do rotacji plików, aby wyzwolić przesyłanie plików do usługi Azure Data Explorer. |
| ingest_url | Punkt końcowy Kusto na potrzeby komunikacji związanej z pozyskiwaniem danych. |
| app_id, app_key i app_tenant | Poświadczenia wymagane do połączenia z usługą Azure Data Explorer. Pamiętaj, aby używać aplikacji z uprawnieniami do wprowadzania danych. |
| database | Nazwa bazy danych, w której zostaną umieszczone zdarzenia. |
| table | Nazwa docelowej tabeli, w której zostaną umieszczone zdarzenia. |
| json_mapping | Mapowanie jest używane do mapowania ciągu JSON przychodzącego zdarzenia w prawidłowym formacie wiersza (definiuje, która właściwość przechodzi w którą kolumnę). |
Uruchamianie usługi Logstash
Teraz możemy uruchomić usługę Logstash i przetestować nasze ustawienia.
W wierszu poleceń przejdź do katalogu głównego Logstash, a następnie uruchom następujące polecenie:
bin/logstash -f test.confNa ekranie powinny pojawić się informacje, a następnie 1000 komunikatów wygenerowanych przez naszą przykładową konfigurację. W tym momencie można również wprowadzić ręcznie więcej komunikatów.
Po kilku minutach uruchom następujące zapytanie usługi Data Explorer, aby wyświetlić komunikaty w zdefiniowanej tabeli:
logs | order by timestamp descWybieranie klawiszy Ctrl+C w celu zakończenia działania usługi Logstash
Czyszczenie zasobów
Uruchom następujące polecenie w bazie danych, aby wyczyścić tabelę logs:
.drop table logs