Konfiguracja potoku usługi Azure Monitor na brzegu
Potok usługi Azure Monitor to potok pozyskiwania danych zapewniający spójne i scentralizowane zbieranie danych dla usługi Azure Monitor. Potok na brzegu 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 na brzegu środowiska.
Omówienie
Potok usługi Azure Monitor na brzegu 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 na brzegu. 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 na brzegu. 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.
Uwaga
Łącze prywatne jest obsługiwane przez potok na brzegu na potrzeby połączenia z potokiem chmury.
Następujące składniki i konfiguracje są wymagane do włączenia potoku usługi Azure Monitor na urządzeniach brzegowych. Jeśli używasz witryny Azure Portal do konfigurowania potoku na brzegu sieci, 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 Azure Monitor na brzegu 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 Azure Monitor na urządzeniach brzegowych 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
- Klaster Kubernetes z obsługą usługi Arc we własnym środowisku z zewnętrznym adresem IP. Aby uzyskać szczegółowe informacje na temat włączania usługi Arc dla klastra, zobacz Łączenie istniejącego klastra Kubernetes z usługą Azure Arc .
- Klaster Kubernetes z obsługą usługi Arc musi mieć włączone funkcje lokalizacji niestandardowych. Zobacz Tworzenie lokalizacji niestandardowych i zarządzanie nimi na platformie Kubernetes z obsługą usługi Azure Arc.
- Obszar roboczy usługi Log Analytics w usłudze Azure Monitor umożliwiający odbieranie danych z potoku na brzegu. Aby uzyskać szczegółowe informacje na temat tworzenia obszaru roboczego, zobacz Tworzenie obszaru roboczego usługi Log Analytics w witrynie Azure Portal .
- W ramach subskrypcji platformy Azure muszą być zarejestrowani następujący dostawcy zasobów. Zobacz Dostawcy i typy zasobów platformy Azure.
- Microsoft.Insights
- Microsoft.Monitor
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 na brzegu i przekazywania ich do potoku w chmurze 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. |
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 na brzegu. |
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. |
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 na brzegu sieci może służyć do zbierania danych z tych segmentów sieci i wysyłania ich do potoku chmury.
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 na brzegu 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
, TimeGenerated
i 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 na brzegu sieci, 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ć
ReadWriteMany
program .
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.
Dane są pobierane z pamięci podręcznej przy użyciu interfejsu FIFO (first-in-first-out). Wszystkie dane starsze niż 48 godzin zostaną odrzucone.
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.
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:
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: — Dziennik systemowy - 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
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. Aby pobrać ten adres z klienta, zobacz Pobieranie punktu końcowego ruchu przychodzącego.
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:
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 usługi potoku usługi Azure Monitor. Aby pobrać ten adres, użyj następującego polecenia:
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 nazwy> potoku usługi< lub< nazwy potoku external-service> z typem modułu równoważenia obciążenia.
- Jeśli aplikacja znajduje się na zasobniku w klastrze, skopiuj wartość cluster-ip .
Uwaga
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 dziennika systemowego. |
OTLP | Potok krawędzi usługi Azure Monitor uwidacznia punkt końcowy OTLP oparty na protokole GRPC na porcie 4317. Skonfigurowanie instrumentacji w celu wysył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.
Następne kroki
- Przeczytaj więcej na temat potoku usługi Azure Monitor.