Udostępnij za pośrednictwem


Konfiguracja potoku brzegowego usługi Azure Monitor

Potok usługi Azure Monitor to potok pozyskiwania danych zapewniający spójne i scentralizowane zbieranie danych dla usługi Azure Monitor. Potok brzegowy umożliwia zbieranie na dużą skalę i routing danych telemetrycznych przed wysłaniem ich do chmury. Dane mogą być buforowane lokalnie i synchronizowane z chmurą po przywróceniu łączności i przekierowaniu danych telemetrycznych do usługi Azure Monitor w przypadkach, gdy sieć jest segmentowana, a dane nie mogą być wysyłane bezpośrednio do chmury. W tym artykule opisano sposób włączania i konfigurowania potoku brzegowego w środowisku.

Omówienie

Potok brzegowy usługi Azure Monitor to konteneryzowane rozwiązanie, które jest wdrażane w klastrze Kubernetes z obsługą usługi Arc i korzysta z modułu zbierającego OpenTelemetry jako podstawy. Na poniższym diagramie przedstawiono składniki potoku krawędzi. Co najmniej jeden przepływ danych nasłuchuje danych przychodzących od klientów, a rozszerzenie potoku przekazuje dane do chmury przy użyciu lokalnej pamięci podręcznej w razie potrzeby.

Plik konfiguracji potoku definiuje przepływy danych i właściwości pamięci podręcznej dla potoku brzegowego. Kontroler domeny definiuje schemat danych wysyłanych do potoku chmury, przekształcenia w celu filtrowania lub modyfikowania danych oraz miejsca docelowego, w którym mają być wysyłane dane. Każda definicja przepływu danych dla konfiguracji potoku określa kontroler domeny i strumień w ramach tego kontrolera domeny, który będzie przetwarzać te dane w potoku chmury.

Diagram przeglądowy przepływu danych dla potoku brzegowego usługi Azure Monitor.

Uwaga

Link prywatny jest obsługiwany przez potok brzegowy dla połączenia z potokiem chmury.

Następujące składniki i konfiguracje są wymagane do włączenia potoku brzegowego usługi Azure Monitor. Jeśli używasz witryny Azure Portal do konfigurowania potoku brzegowego, każdy z tych składników zostanie utworzony dla Ciebie. W przypadku innych metod należy skonfigurować poszczególne metody.

Składnik opis
Rozszerzenie kontrolera potoku krawędzi Rozszerzenie dodane do klastra Kubernetes z obsługą usługi Arc w celu obsługi funkcji potoku — microsoft.monitor.pipelinecontroller.
Wystąpienie kontrolera potoku usługi Edge Wystąpienie potoku brzegowego uruchomionego w klastrze Kubernetes z obsługą usługi Arc.
Przepływ danych Kombinacja odbiorników i eksporterów uruchamianych w wystąpieniu kontrolera potoku. Odbiorcy akceptują dane od klientów i eksporterów w celu dostarczenia tych danych do usługi Azure Monitor.
Konfiguracja potoku Plik konfiguracji definiujący przepływy danych dla wystąpienia potoku. Każdy przepływ danych obejmuje odbiornik i eksportera. Odbiornik nasłuchuje danych przychodzących, a eksporter wysyła dane do miejsca docelowego.
Punkt końcowy zbierania danych (DCE) Punkt końcowy, w którym dane są wysyłane do potoku usługi Azure Monitor. Konfiguracja potoku zawiera właściwość adresu URL kontrolera domeny, aby wystąpienie potoku wiedziało, gdzie wysłać dane.
Konfigurowanie opis
Reguła zbierania danych (DCR) Plik konfiguracji definiujący sposób odbierania danych w potoku chmury i miejsca ich wysyłania. Kontroler domeny może również zawierać przekształcenie w celu filtrowania lub modyfikowania danych przed wysłaniem ich do miejsca docelowego.
Konfiguracja potoku Konfiguracja, która definiuje przepływy danych dla wystąpienia potoku, w tym przepływy danych i pamięć podręczną.

Obsługiwane konfiguracje

Obsługiwane dystrybucje
Potok usługi Edge jest obsługiwany w następujących dystrybucjach platformy Kubernetes:

  • Canonical
  • Dostawca interfejsu API klastra dla platformy Azure
  • K3
  • Rancher Kubernetes Engine
  • VMware Tanzu Kubernetes Grid

Obsługiwane lokalizacje
Potok usługi Edge jest obsługiwany w następujących regionach świadczenia usługi Azure:

  • Wschodnie stany USA 2
  • Zachodnie stany USA 2
  • West Europe

Wymagania wstępne

Przepływ pracy

Nie potrzebujesz szczegółowego zrozumienia różnych kroków wykonywanych przez potok usługi Azure Monitor, aby skonfigurować go przy użyciu witryny Azure Portal. Może być konieczne bardziej szczegółowe zrozumienie tego rozwiązania, jeśli używasz innej metody instalacji lub jeśli musisz wykonać bardziej zaawansowaną konfigurację, taką jak przekształcanie danych przed zapisaniem ich w miejscu docelowym.

W poniższych tabelach i diagramach opisano szczegółowe kroki i składniki procesu zbierania danych przy użyciu potoku brzegowego i przekazywania ich do potoku chmury dla magazynu w usłudze Azure Monitor. W tabelach znajduje się również konfiguracja wymagana dla każdego z tych składników.

Krok Akcja Konfiguracja pomocnicza
1. Klient wysyła dane do odbiornika potoku brzegowego. Klient jest skonfigurowany przy użyciu adresu IP i portu odbiornika potoku brzegowego i wysyła dane w oczekiwanym formacie dla typu odbiorcy.
2. Odbiorca przekazuje dane eksporterowi. Odbiornik i eksporter są konfigurowane w tym samym potoku.
3. Eksporter próbuje wysłać dane do potoku chmury. Eksporter w konfiguracji potoku zawiera adres URL DCE, unikatowy identyfikator dcR i strumień w kontrolerze domeny, który definiuje sposób przetwarzania danych.
3a. Eksporter przechowuje dane w lokalnej pamięci podręcznej, jeśli nie może nawiązać połączenia z kontrolerem domeny. Trwały wolumin pamięci podręcznej i konfiguracji lokalnej pamięci podręcznej jest włączony w konfiguracji potoku.

Szczegółowy diagram kroków i składników zbierania danych przy użyciu potoku brzegowego usługi Azure Monitor.

Krok Akcja Konfiguracja pomocnicza
4. Potok chmury akceptuje dane przychodzące. Kontroler domeny zawiera definicję schematu dla strumienia przychodzącego, która musi być zgodna ze schematem danych pochodzących z potoku brzegowego.
5. Potok chmury stosuje transformację do danych. Kontroler domeny zawiera przekształcenie, które filtruje lub modyfikuje dane przed wysłaniem ich do miejsca docelowego. Przekształcenie może filtrować dane, usuwać lub dodawać kolumny albo całkowicie zmieniać jego schemat. Dane wyjściowe przekształcenia muszą być zgodne ze schematem tabeli docelowej.
6. Potok chmury wysyła dane do miejsca docelowego. Kontroler domeny zawiera miejsce docelowe, które określa obszar roboczy usługi Log Analytics i tabelę, w której będą przechowywane dane.

Szczegółowy diagram kroków i składników zbierania danych przy użyciu potoku chmury usługi Azure Monitor.

Sieć segmentowana

Segmentacja sieci to model, w którym używasz zdefiniowanych przez oprogramowanie obwodów do tworzenia innego stanu zabezpieczeń dla różnych części sieci. W tym modelu może istnieć segment sieci, który nie może łączyć się z Internetem ani z innymi segmentami sieci. Potok brzegowy może służyć do zbierania danych z tych segmentów sieci i wysyłania ich do potoku chmury.

Diagram sieci warstwowej dla potoku brzegowego usługi Azure Monitor.

Aby użyć potoku usługi Azure Monitor w konfiguracji sieci warstwowej, należy dodać następujące wpisy do listy dozwolonych klastra Kubernetes z obsługą usługi Arc. Zobacz Konfigurowanie usługi Azure IoT Layered Network Management (wersja zapoznawcza) na poziomie 4 klastra.

- destinationUrl: "*.ingest.monitor.azure.com"
  destinationType: external
- destinationUrl: "login.windows.net"
  destinationType: external

Tworzenie tabeli w obszarze roboczym usługi Log Analytics

Przed skonfigurowaniem procesu zbierania danych dla potoku brzegowego należy utworzyć tabelę w obszarze roboczym usługi Log Analytics, aby odbierać dane. Musi to być tabela niestandardowa, ponieważ wbudowane tabele nie są obecnie obsługiwane. Schemat tabeli musi być zgodny z odbierającymi danymi, ale w procesie zbierania istnieje wiele kroków, w których można modyfikować dane przychodzące, dlatego schemat tabeli nie musi być zgodny z zbierającymi danymi źródłowymi. Jedynym wymaganiem dla tabeli w obszarze roboczym usługi Log Analytics jest to, że ma kolumnę TimeGenerated .

Aby uzyskać szczegółowe informacje na temat różnych metod tworzenia tabeli, zobacz Dodawanie lub usuwanie tabel i kolumn w dziennikach usługi Azure Monitor. Na przykład użyj poniższego polecenia interfejsu wiersza polecenia, aby utworzyć tabelę z trzema kolumnami o nazwie Body, TimeGeneratedi SeverityText.

az monitor log-analytics workspace table create --workspace-name my-workspace --resource-group my-resource-group  --name my-table_CL --columns TimeGenerated=datetime Body=string SeverityText=string

Włącz pamięć podręczną

Urządzenia brzegowe w niektórych środowiskach mogą występować sporadycznie z powodu różnych czynników, takich jak przeciążenie sieci, interferencja sygnału, awaria zasilania lub mobilność. W tych środowiskach można skonfigurować potok brzegowy tak, aby buforował dane, tworząc trwały wolumin w klastrze. Proces tego procesu będzie się różnić w zależności od konkretnego środowiska, ale konfiguracja musi spełniać następujące wymagania:

  • Przestrzeń nazw metadanych musi być taka sama jak określone wystąpienie potoku usługi Azure Monitor.
  • Tryb dostępu musi obsługiwać ReadWriteManyprogram .

Po utworzeniu woluminu w odpowiedniej przestrzeni nazw skonfiguruj go przy użyciu parametrów w pliku konfiguracji potoku poniżej.

Uwaga

Każda replika potoku brzegowego przechowuje dane w lokalizacji w woluminie trwałym specyficznym dla tej repliki. Zmniejszenie liczby replik, gdy klaster jest odłączony od chmury, uniemożliwi wypełnienie tych danych podczas przywracania łączności.

Włączanie i konfigurowanie potoku

Bieżące opcje włączania i konfigurowania zostały szczegółowo opisane na poniższych kartach.

Konfigurowanie potoku przy użyciu witryny Azure Portal

Jeśli używasz witryny Azure Portal do włączania i konfigurowania potoku, wszystkie wymagane składniki są tworzone na podstawie wybranych opcji. Pozwala to zaoszczędzić na złożoności tworzenia poszczególnych składników osobno, ale trzeba było użyć innych metod dla

Wykonaj jedną z następujących czynności w witrynie Azure Portal, aby uruchomić proces instalacji potoku usługi Azure Monitor:

  • W menu Potoki usługi Azure Monitor (wersja zapoznawcza) kliknij pozycję Utwórz.
  • Z menu klastra Kubernetes z obsługą usługi Arc wybierz pozycję Rozszerzenia, a następnie dodaj rozszerzenie potoku usługi Azure Monitor (wersja zapoznawcza).

Karta Podstawowa wyświetla następujące informacje, aby wdrożyć rozszerzenie i wystąpienie potoku w klastrze.

Zrzut ekranu przedstawiający ekran Tworzenie potoku usługi Azure Monitor.

Ustawienia na tej karcie opisano w poniższej tabeli.

Właściwości opis
Nazwa wystąpienia Nazwa wystąpienia potoku usługi Azure Monitor. Musi być unikatowa dla subskrypcji.
Subskrypcja Subskrypcja platformy Azure w celu utworzenia wystąpienia potoku.
Grupa zasobów Grupa zasobów do utworzenia wystąpienia potoku.
Nazwa klastra Wybierz klaster Kubernetes z obsługą usługi Arc, na którym zostanie zainstalowany potok.
Lokalizacja niestandardowa Niestandardowa lokalizacja klastra Kubernetes z obsługą usługi Arc. Zostanie to automatycznie wypełnione nazwą lokalizacji niestandardowej, która zostanie utworzona dla klastra lub możesz wybrać inną lokalizację niestandardową w klastrze.

Karta Przepływ danych umożliwia tworzenie i edytowanie przepływów danych dla wystąpienia potoku. Każdy przepływ danych zawiera następujące szczegóły:

Zrzut ekranu tworzenia przepływu danych.

Ustawienia na tej karcie opisano w poniższej tabeli.

Właściwości Opis
Nazwa/nazwisko Nazwa przepływu danych. Musi być unikatowy dla tego potoku.
Source type Typ zbieranych danych. Obecnie obsługiwane są następujące typy źródłowe:
-Syslog
- OTLP
Port Port, na który potok nasłuchuje danych przychodzących. Jeśli dwa przepływy danych używają tego samego portu, będą odbierać i przetwarzać dane.
Obszar roboczy usługi Log Analytics Obszar roboczy usługi Log Analytics do wysyłania danych.
Nazwa tabeli Nazwa tabeli w obszarze roboczym usługi Log Analytics do wysłania danych.

Weryfikowanie konfiguracji

Weryfikowanie składników potoku uruchomionych w klastrze

W witrynie Azure Portal przejdź do menu usług Kubernetes i wybierz klaster Kubernetes z obsługą usługi Arc. Wybierz pozycję Usługi i ruch przychodzący i upewnij się, że są widoczne następujące usługi:

  • <nazwa> potoku — usługa zewnętrzna
  • <nazwa> potoku — usługa

Zrzut ekranu przedstawiający składniki klastra obsługujące potok brzegowy usługi Azure Monitor.

Kliknij wpis nazwa <potoku-usługa> zewnętrzna i zanotuj adres IP i port w kolumnie Punkty końcowe. Jest to zewnętrzny adres IP i port, do którego klienci będą wysyłać dane.

Weryfikowanie pulsu

Każdy potok skonfigurowany w wystąpieniu potoku będzie wysyłać rekord pulsu Heartbeat do tabeli w obszarze roboczym usługi Log Analytics co minutę. Zawartość OSMajorVersion kolumny powinna być zgodna z nazwą wystąpienia potoku. Jeśli w wystąpieniu potoku znajduje się wiele obszarów roboczych, zostanie użyty pierwszy skonfigurowany obszar roboczy.

Pobierz rekordy pulsu przy użyciu zapytania dziennika, jak w poniższym przykładzie:

Zrzut ekranu przedstawiający zapytanie dziennika zwracające rekordy pulsu dla potoku krawędzi usługi Azure Monitor.

Konfiguracja klientów

Po zainstalowaniu rozszerzenia potoku brzegowego i wystąpienia należy skonfigurować klientów do wysyłania danych do potoku.

Pobieranie punktu końcowego ruchu przychodzącego

Każdy klient wymaga zewnętrznego adresu IP potoku. Użyj następującego polecenia, aby pobrać ten adres:

kubectl get services -n <namespace where azure monitor pipeline was installed>

Jeśli aplikacja tworząca dzienniki jest zewnętrzna dla klastra, skopiuj wartość external-ip usługi nginx-controller-service z typem modułu równoważenia obciążenia. Jeśli aplikacja znajduje się na zasobniku w klastrze, skopiuj wartość cluster-ip . Jeśli pole external-ip jest ustawione na oczekujące, należy skonfigurować zewnętrzny adres IP dla tego ruchu przychodzącego ręcznie zgodnie z konfiguracją klastra.

Klient opis
Dziennik systemu Zaktualizuj klientów dziennika systemowego, aby wysyłali dane do punktu końcowego potoku i portu przepływu danych syslog.
OTLP Potok krawędzi usługi Azure Monitor uwidacznia punkt końcowy OTLP oparty na protokole GRPC na porcie 4317. Skonfigurowanie instrumentacji w celu wysłania do tego punktu końcowego OTLP będzie zależeć od samej biblioteki instrumentacji. Zobacz dokumentację dotyczącą punktu końcowego OTLP lub modułu zbierającego , aby zapoznać się z dokumentacją protokołu OpenTelemetry. Metoda zmiennej środowiskowej jest udokumentowana w temacie OTLP Exporter Configuration (Konfiguracja eksportera OTLP).

Weryfikacja danych

Ostatnim krokiem jest sprawdzenie, czy dane są odbierane w obszarze roboczym usługi Log Analytics. Tę weryfikację można wykonać, uruchamiając zapytanie w obszarze roboczym usługi Log Analytics, aby pobrać dane z tabeli.

Zrzut ekranu przedstawiający zapytanie dziennika zwracające kolekcję syslog.

Następne kroki