Udostępnij za pośrednictwem


Zbieranie dzienników o dużej skali w usłudze Container Insights (wersja zapoznawcza)

Tryb skalowania o dużej skali to funkcja w usłudze Container Insights, która umożliwia zbieranie dzienników konsoli kontenera (stdout i stderr) o wysokiej przepływności z węzłów klastra usługi Azure Kubernetes Service (AKS). Ta funkcja umożliwia zbieranie maksymalnie 50 000 dzienników na sekundę na węzeł.

Uwaga

Ta funkcja jest obecnie w publicznej wersji zapoznawczej. Aby uzyskać dodatkowe informacje, zapoznaj się z dodatkowymi warunkami użytkowania dla wersji zapoznawczych platformy Microsoft Azure.

Omówienie

Po włączeniu trybu dużej skali usługa Container Insights wykonuje wiele zmian konfiguracji, co powoduje zwiększenie ogólnej przepływności. Obejmuje to użycie uaktualnionego agenta i potoku danych usługi Azure Monitor z ulepszeniami skalowania. Wszystkie te zmiany są wprowadzane w tle przez usługę Azure Monitor i nie wymagają danych wejściowych ani konfiguracji po włączeniu funkcji.

Tryb skalowania wysokiego ma wpływ tylko na warstwę zbierania danych. Pozostałe środowisko usługi Container Insights pozostaje takie samo, a dzienniki są pozyskiwane do tej samej ContainerLogV2 tabeli. Istniejące zapytania i alerty nadal działają, ponieważ zbierane są te same dane.

Aby uzyskać maksymalną obsługiwaną przepływność dzienników, należy użyć jednostek SKU maszyn wirtualnych wysokiej klasy z 16 rdzeniami procesora CPU lub więcej dla węzłów klastra usługi AKS. Użycie jednostek SKU maszyn wirtualnych o niskim poziomie będzie miało wpływ na przepływność dzienników.

Czy mój klaster kwalifikuje się?

Kolekcja dzienników o dużej skali jest odpowiednia dla środowisk wysyłających ponad 2000 dzienników na sekundę (lub 2 MB/s) na węzeł w klastrach Kubernetes i została zaprojektowana i przetestowana pod kątem wysyłania do 50 000 dzienników na sekundę na węzeł. Użyj następujących zapytań dziennika, aby określić, czy klaster jest odpowiedni dla kolekcji dzienników o dużej skali.

Dzienniki na sekundę i na węzeł

ContainerLogV2 
| where _ResourceId = "<cluster-resource-id>" 
| summarize count() by bin(TimeGenerated, 1s), Computer 
| render timechart 

Rozmiar dziennika (w MB) na sekundę na węzeł

 ContainerLogV2 
| where _ResourceId = "<cluster-resource-id>"
| summarize BillableDataMB = sum(_BilledSize)/1024/1024 by bin(TimeGenerated, 1s), Computer 
| render timechart 

Wymagania wstępne

  • Interfejs wiersza polecenia platformy Azure w wersji 2.63.0 lub nowszej.
  • Jeśli zainstalowano rozszerzenie interfejsu wiersza polecenia aks-preview, musi to być wersja 7.0.0b4 lub nowsza.
  • Schemat klastra należy skonfigurować dla konteneraLogV2.
  • Jeśli domyślne limity zasobów (procesor i pamięć) w kontenerze zestawu demonów ama-logs nie spełniają wymagań dotyczących skalowania dzienników, skontaktuj się z kanałem pomocy technicznej firmy Microsoft, aby zwiększyć limity zasobów kontenera ama-logs.

Wymagania dotyczące zapory

Oprócz wymagań zapory sieciowej na potrzeby monitorowania klastra Kubernetes potrzebne są dodatkowe konfiguracje w poniższej tabeli w celu włączenia trybu wysokiej skali w zależności od chmury.

Chmura Punkt końcowy Port
Chmura publiczna platformy Azure <dce-name>-<suffix>.<cluster-region-name>-<suffix>.ingest.monitor.azure.com 443
Platforma Microsoft Azure obsługiwana przez chmurę 21Vianet <dce-name>-<suffix>.<cluster-region-name>-<suffix>.ingest.monitor.azure.cn 443
Chmura platformy Azure Dla instytucji rządowych <dce-name>-<suffix>.<cluster-region-name>-<suffix>.ingest.monitor.azure.us 443

Punkt końcowy to punkt końcowy pozyskiwania dzienników z punktu końcowego zbierania danych (DCE) dla reguły zbierania danych (DCR) używanej przez klaster. Ten tryb DCE jest tworzony podczas włączania trybu wysokiej skali dla klastra i rozpocznie się od prefiksu MSCI-ingest.

Zrzut ekranu przedstawiający punkt końcowy pozyskiwania dzienników dla środowiska DCE.

Ograniczenia

Poniższe scenariusze nie są obsługiwane w wersji zapoznawczej. Zostaną one rozwiązane, gdy funkcja stanie się ogólnie dostępna.

  • Klastry usługi AKS z węzłami Arm64
  • Platforma Kubernetes z obsługą usługi Azure Arc
  • Serwer proxy HTTP z zaufanym certyfikatem
  • Dołączanie za pośrednictwem witryny Azure Portal, usługi Azure Policy, programu Terraform i aplikacji Bicep
  • Konfigurowanie za pomocą ustawień monitorowania w środowisku portalu usługi AKS Insights
  • Automatyczna migracja z istniejącej usługi Container Insights

Włączanie zbierania dzienników o dużej skali

Wykonaj dwa kroki opisane w poniższych sekcjach, aby włączyć tryb wysokiej skali dla klastra.

Uwaga

Tryb skalowania wysokiego dziennika wymaga punktu końcowego zbierania danych (DCE) na potrzeby pozyskiwania. Pozyskiwanie danych dcE jest tworzone z prefiksem MSCI-ingest dla każdego klastra podczas dołączania. Jeśli skonfigurowano zakres łącza prywatnego usługi Azure Monitor, zostanie również utworzona konfiguracja dcE z prefiksem MSCI-config.

Aktualizuj configmap

Pierwszym krokiem jest zaktualizowanie mapy konfiguracji klastra w celu poinstruowania zasobników deamonset usługi Container Insights w celu uruchomienia ich w trybie dużej skali.

Postępuj zgodnie ze wskazówkami w temacie Konfigurowanie i wdrażanie narzędzia ConfigMap, aby pobrać i zaktualizować ConfigMap dla klastra. Jedyną zmianą, którą należy wprowadzić w przypadku dzienników o dużej skali, jest włączenie agent_settings.high_log_scale w następujący agent-settings sposób:

[agent_settings.high_log_scale] 
  enabled = true 

Po zastosowaniu tej mapy ama-logs-* konfiguracji zasobniki zostaną automatycznie uruchomione ponownie i skonfigurują zasobniki demona ama-logs do uruchamiania w trybie dużej skali.

Włączanie trybu wysokiego skalowania dla dodatku Monitorowania

Włącz dodatek Monitorowanie w trybie dużej skali przy użyciu następujących poleceń interfejsu wiersza polecenia platformy Azure, aby włączyć tryb dzienników o dużej skali dla dodatku Monitorowanie w zależności od konfiguracji usługi AKS.

Uwaga

Zamiast interfejsu wiersza polecenia można użyć szablonu usługi ARM, aby włączyć tryb skalowania wysokiego dla dodatku Monitorowanie. Zobacz Włączanie szczegółowych informacji o kontenerze, aby uzyskać wskazówki dotyczące włączania usługi Container Insights przy użyciu szablonu usługi ARM. Aby włączyć tryb skalowania na dużą skalę, użyj Microsoft-ContainerLogV2-HighScale zamiast Microsoft-ContainerLogV2 w parametrze zgodnie z opisem streams w temacie Konfigurowanie kontrolera domeny przy użyciu szablonów usługi ARM.

Istniejący klaster usługi AKS

az aks enable-addons -a monitoring -g <resource-group-name> -n <cluster-name> --enable-high-log-scale-mode  

Istniejący klaster prywatny usługi AKS

az aks enable-addons -a monitoring -g  <resource-group-name> -n <cluster-name> --enable-high-scale-mode --ampls-resource-id /subscriptions/<subscription-id>/resourceGroups/<resource-group-name>/providers/microsoft.insights/privatelinkscopes/<resourceName> 

Nowy klaster usługi AKS

az aks create -g <cluster-name> -n <cluster-name> enable-addons -a monitoring --enable-high-log-scale-mode  

Nowy klaster prywatny usługi AKS

Zobacz Tworzenie prywatnego klastra usługi Azure Kubernetes Service (AKS), aby uzyskać szczegółowe informacje na temat tworzenia klastra prywatnego usługi AKS. Użyj dodatkowych parametrów --enable-high-scale-mode i --ampls-resource-id skonfiguruj tryb skalowania wysokiego dziennika przy użyciu identyfikatora zasobu zakresu usługi Private Link usługi Azure Monitor.

Migracja

Jeśli usługa Container Insights jest już włączona dla klastra, należy ją wyłączyć, a następnie ponownie włączyć ją w trybie dużej skali.

  • Ponieważ tryb skalowania wysokiego używa innego potoku danych, należy upewnić się, że punkty końcowe potoku nie są blokowane przez zaporę lub inne połączenia sieciowe.
  • Tryb skalowania wysokiego wymaga punktu końcowego zbierania danych (DCE) na potrzeby pozyskiwania oprócz standardowego kontrolera domeny na potrzeby zbierania danych. Jeśli utworzono dowolne kontrolery domeny, które używają Microsoft.ContainerLogV2metody , musisz zastąpić ją wartością Microsoft.ContainerLogV2-HighScale lub dane zostaną zduplikowane. Należy również utworzyć kontroler domeny na potrzeby pozyskiwania i połączyć go z kontrolerem domeny, jeśli kontroler domeny nie jest jeszcze używany. Aby uzyskać informacje na temat zależności, zapoznaj się z tematem Dołączanie usługi Container Insights za pośrednictwem usługi Azure Resource Manager.

Następne kroki