Optymalizowanie kosztów monitorowania pod kątem usługi Container Insights
Klastry Kubernetes generują dużą ilość danych zbieranych przez usługę Container Insights. Ponieważ opłaty są naliczane za pozyskiwanie i przechowywanie tych danych, chcesz skonfigurować środowisko pod kątem optymalizacji kosztów. Możesz znacznie zmniejszyć koszty monitorowania, filtrując dane, których nie potrzebujesz, a także optymalizując konfigurację obszaru roboczego usługi Log Analytics, w którym są przechowywane dane.
Po przeanalizowaniu zebranych danych i ustaleniu, czy są zbierane jakieś dane, których nie potrzebujesz, istnieje kilka opcji filtrowania danych, których nie chcesz zbierać. Obejmuje to wybór spośród zestawu wstępnie zdefiniowanych konfiguracji kosztów w celu wykorzystania różnych funkcji do filtrowania danych na podstawie określonych kryteriów. Ten artykuł zawiera wskazówki dotyczące analizowania i optymalizowania zbierania danych pod kątem szczegółowych informacji o kontenerze.
Analizowanie pozyskiwania danych
Aby zidentyfikować najlepsze możliwości oszczędności kosztów, przeanalizuj ilość danych zbieranych w różnych tabelach. Te informacje ułatwią określenie, które tabele zużywają najwięcej danych i ułatwiają podejmowanie świadomych decyzji dotyczących sposobu obniżania kosztów.
Możesz zwizualizować ilość danych pozyskanych w poszczególnych obszarach roboczych przy użyciu elementu Runbook Użycie usługi Container Insights, który jest dostępny na stronie Obszar roboczy monitorowanego klastra.
Raport umożliwia wyświetlenie użycia danych według różnych kategorii, takich jak tabela, przestrzeń nazw i źródło dziennika. Użyj tych różnych widoków, aby określić dane, których nie używasz, i można je odfiltrować, aby zmniejszyć koszty.
Wybierz opcję, aby otworzyć zapytanie w usłudze Log Analytics, w którym można przeprowadzić bardziej szczegółową analizę, w tym wyświetlanie zbieranych poszczególnych rekordów. Zobacz Wykonywanie zapytań dotyczących dzienników z usługi Container Insights , aby uzyskać dodatkowe zapytania, których można użyć do analizowania zebranych danych.
Na przykład poniższy zrzut ekranu przedstawia modyfikację zapytania dziennika używanego przez tabelę , która pokazuje dane według przestrzeni nazw i tabeli.
Filtrowanie zebranych danych
Po zidentyfikowaniu danych, które można filtrować, użyj różnych opcji konfiguracji w usłudze Container Insights, aby odfiltrować dane, których nie potrzebujesz. Opcje są dostępne do wybierania wstępnie zdefiniowanych konfiguracji, ustawiania poszczególnych parametrów i używania niestandardowych zapytań dziennika do szczegółowego filtrowania.
Ustawienia wstępne kosztów
Najprostszym sposobem filtrowania danych jest użycie ustawień wstępnych kosztów w witrynie Azure Portal. Każde ustawienie wstępne zawiera różne zestawy tabel do zbierania na podstawie różnych profilów operacji i kosztów. Ustawienia wstępne kosztów zostały zaprojektowane tak, aby ułatwić szybkie konfigurowanie zbierania danych na podstawie typowych scenariuszy.
Napiwek
Jeśli skonfigurowano klaster do używania środowiska Prometheus dla usługi Container Insights, możesz wyłączyć zbieranie danych wydajności , ponieważ dane wydajności są zbierane przez rozwiązanie Prometheus.
Aby uzyskać szczegółowe informacje na temat wybierania ustawień wstępnych kosztów, zobacz Konfigurowanie kontrolera domeny za pomocą witryny Azure Portal
Opcje filtrowania
Po wybraniu odpowiedniego ustawienia wstępnego kosztu można filtrować dodatkowe dane przy użyciu różnych metod w poniższej tabeli. Każda opcja umożliwia filtrowanie danych na podstawie różnych kryteriów. Po zakończeniu pracy z konfiguracją należy zbierać tylko dane wymagane do analizy i alertów.
Filtruj według | opis |
---|---|
Tabele | Ręcznie zmodyfikuj kontroler domeny, jeśli chcesz wybrać poszczególne tabele, aby wypełnić inne niż grupy ustawień wstępnych kosztów. Możesz na przykład zebrać kontenerLogV2, ale nie zbierać elementów KubeEvents, które są uwzględnione w tym samym ustawieniu kosztów. Zobacz Wartości strumieni w usłudze DCR, aby uzyskać listę strumieni do użycia w usłudze DCR i skorzystaj ze wskazówek w temacie . |
Dzienniki kontenerów | ContainerLogV2 przechowuje rekordy stdout/stderr wygenerowane przez kontenery w klastrze. Można wyłączyć zbieranie całej tabeli przy użyciu kontrolera DCR, ale można skonfigurować kolekcję dzienników stderr i stdout oddzielnie przy użyciu obiektu ConfigMap dla klastra. Ponieważ stdout ustawienia i stderr można skonfigurować oddzielnie, można włączyć jedną, a nie drugą.Aby uzyskać szczegółowe informacje na temat filtrowania dzienników kontenerów, zobacz Filtrowanie dzienników kontenerów. |
Przestrzeń nazw | Przestrzenie nazw na platformie Kubernetes są używane do grupowania zasobów w klastrze. Możesz odfiltrować dane z zasobów w określonych przestrzeniach nazw, których nie potrzebujesz. Przy użyciu kontrolera DCR można filtrować dane wydajności tylko według przestrzeni nazw, jeśli włączono kolekcję dla Perf tabeli. Użyj narzędzia ConfigMap, aby filtrować dane dla określonych przestrzeni nazw i stdout stderr dzienników.Aby uzyskać szczegółowe informacje na temat filtrowania dzienników według przestrzeni nazw i filtrowania dzienników platformy (Przestrzenie nazw systemu Kubernetes), zobacz Artykuł Filter container logs (Filtrowanie dzienników kontenerów), aby uzyskać szczegółowe informacje na temat przestrzeni nazw systemu. |
Zasobniki i kontenery | Filtrowanie adnotacji umożliwia filtrowanie dzienników kontenerów na podstawie adnotacji, które są na zasobniku. Za pomocą narzędzia ConfigMap można określić, czy dzienniki stdout i stderr powinny być zbierane dla poszczególnych zasobników i kontenerów. Zobacz Filtrowanie oparte na adnotacjach dla obciążeń, aby uzyskać szczegółowe informacje na temat aktualizowania elementu ConfigMap i ustawiania adnotacji w zasobnikach. |
Przekształcenia
Przekształcenia czasu pozyskiwania umożliwiają zastosowanie zapytania KQL w celu filtrowania i przekształcania danych w potoku usługi Azure Monitor przed ich zapisaniem w obszarze roboczym usługi Log Analytics. Dzięki temu można filtrować dane na podstawie kryteriów, których nie można wykonać przy użyciu innych opcji.
Można na przykład filtrować dzienniki kontenerów na podstawie poziomu dziennika w kontenerze ContainerLogV2. Możesz dodać przekształcenie do kontrolera DCR usługi Container Insights, które będzie wykonywać funkcje na poniższym diagramie. W tym przykładzie zbierane są tylko error
zdarzenia i critical
poziom, podczas gdy wszystkie inne zdarzenia są ignorowane.
Alternatywną strategią byłoby zapisanie mniej ważnych zdarzeń w oddzielnej tabeli skonfigurowanej dla dzienników podstawowych. Zdarzenia nadal będą dostępne do rozwiązywania problemów, ale ze znacznymi oszczędnościami kosztów pozyskiwania danych.
Zobacz Przekształcenia danych w usłudze Container Insights , aby uzyskać szczegółowe informacje na temat dodawania transformacji do analizy kontenera, w tym przykładowych kontrolerów domeny przy użyciu przekształceń.
Konfigurowanie warstw cenowych
Dzienniki podstawowe w usłudze Azure Monitor oferują znaczny rabat na koszt pozyskiwania danych w obszarze roboczym usługi Log Analytics w przypadku danych, które czasami są używane do debugowania i rozwiązywania problemów. Tabele skonfigurowane dla dzienników podstawowych oferują znaczny rabat na koszt pozyskiwania danych w zamian za koszt zapytań dzienników, co oznacza, że są one idealne dla danych, które są wymagane, ale dostęp do nich rzadko.
KontenerLogV2 można skonfigurować pod kątem podstawowych dzienników, co może zapewnić znaczne oszczędności kosztów w przypadku wykonywania zapytań dotyczących danych rzadko. Za pomocą przekształceń można określić dane, które mają być wysyłane do tabel alternatywnych skonfigurowanych dla dzienników podstawowych. Zobacz Przekształcenia danych w usłudze Container Insights , aby zapoznać się z przykładem tej strategii.
Następne kroki
Aby ułatwić zrozumienie, jakie koszty mogą być oparte na najnowszych wzorcach użycia z danych zebranych za pomocą usługi Container Insights, zobacz Analizowanie użycia w obszarze roboczym usługi Log Analytics.