Freigeben über


Überwachungskosten für Container Insights optimieren

Kubernetes-Cluster generieren eine große Menge an Daten, die von Container Insights erfasst werden. Da die Erfassung und Aufbewahrung dieser Daten in Rechnung gestellt werden, sollten Sie Ihre Umgebung so konfigurieren, dass Ihre Kosten optimiert werden. Sie können Ihre Überwachungskosten erheblich reduzieren, indem Sie Daten, die Sie nicht benötigen, herausfiltern und indem Sie die Konfiguration des Log Analytics-Arbeitsbereichs optimieren, in dem Sie Ihre Daten speichern.

Nachdem Sie Ihre erfassten Daten analysiert und ermittelt haben, ob Sie Daten erfassen, die Sie nicht benötigen, gibt es mehrere Optionen zum Filtern von Daten, die Sie nicht erfassen möchten. Dies reicht vom Auswählen aus einer Reihe vordefinierter Kostenkonfigurationen bis hin zur Nutzung verschiedener Features zum Filtern von Daten basierend auf bestimmten Kriterien. Dieser Artikel bietet eine Anleitung zur Analyse und Optimierung Ihrer Datenerfassung für Container-Insights.

Analysieren der Datenerfassung

Um Ihre besten Möglichkeiten für Kosteneinsparungen zu ermitteln, analysieren Sie die Datenmenge, die in verschiedenen Tabellen erfasst wird. Anhand dieser Informationen können Sie ermitteln, welche Tabellen die meisten Daten verbrauchen, und Sie können fundierte Entscheidungen zur Kostenreduzierung treffen.

Sie können visualisieren, wie viele Daten in jedem Arbeitsbereich aufgenommen werden, indem Sie das Runbook "Container Insights Usage " verwenden, das auf der Seite "Arbeitsmappen" eines überwachten Clusters verfügbar ist.

Screenshot: Dropdownliste „Workbooks anzeigen“.

Im Bericht können Sie die Datennutzung nach verschiedenen Kategorien wie Tabelle, Namespace und Protokollquelle anzeigen. Verwenden Sie diese verschiedenen Ansichten, um Daten zu ermitteln, die Sie nicht verwenden, und die herausgefiltert werden können, um Kosten zu reduzieren.

Screenshot eines Beispiels für das Workbook „Datennutzung“.

Wählen Sie die Option aus, um die Abfrage in Log Analytics zu öffnen, wo Sie detailliertere Analysen durchführen können, einschließlich der Anzeige der einzelnen Datensätze, die erfasst werden. Weitere Abfragen, die Sie zum Analysieren Ihrer erfassten Daten verwenden können, finden Sie unter Abfrageprotokolle aus Container Insights.

Der folgende Screenshot zeigt beispielsweise eine Änderung der Protokollabfrage, die für Nach Tabelle verwendet wird und die die Daten nach Namespace und Tabelle anzeigt.

Screenshot einer Protokollabfrage, die die Verwendung nach Namespace und Tabelle anzeigt.

Filtern erfasster Daten

Nachdem Sie Daten identifiziert haben, die Sie filtern können, verwenden Sie unterschiedliche Konfigurationsoptionen in Container Insights, um Daten herauszufiltern, die Sie nicht benötigen. Es sind Optionen verfügbar, um vordefinierte Konfigurationen auszuwählen, einzelne Parameter festzulegen und benutzerdefinierte Protokollabfragen für eine detaillierte Filterung zu verwenden.

Protokolliert Voreinstellungen

Die einfachste Möglichkeit zum Filtern von Daten ist die Verwendung der Protokollvoreinstellungen im Azure-Portal über die Monitoreinstellungen>. Jede Voreinstellung enthält verschiedene Tabellensätze, die basierend auf verschiedenen Vorgangs- und Kostenprofilen erfasst werden. Die Protokollvoreinstellungen sind so konzipiert, dass Sie Ihre Datensammlung basierend auf gängigen Szenarien schnell konfigurieren können.

Screenshot: Optionen für gesammelte Daten

Tipp

Wenn Sie Ihren Cluster so konfiguriert haben, dass die Prometheus-Oberfläche für Container Insights verwendet wird, können Sie die Performance-Erfassung deaktivieren, da Leistungsdaten von Prometheus gesammelt werden.

Ausführliche Informationen zum Auswählen einer Protokollvoreinstellung finden Sie unter Konfigurieren von DCR im Azure-Portal

Filteroptionen

Nachdem Sie eine entsprechende Protokollvoreinstellung ausgewählt haben, können Sie zusätzliche Daten mithilfe der verschiedenen Methoden in der folgenden Tabelle filtern. Mit jeder Option können Sie Daten basierend auf unterschiedlichen Kriterien filtern. Wenn Sie mit Ihrer Konfiguration fertig sind, sollten Sie nur Daten erfassen, die Sie für die Analyse und Benachrichtigung benötigen.

Filtern nach Beschreibung
Tabellen Ändern Sie den DCR manuell, wenn Sie einzelne Tabellen auswählen möchten, um andere als die voreingestellten Protokollgruppen aufzufüllen. Sie können beispielsweise ContainerLogV2 sammeln, aber nicht KubeEvents sammeln, die in derselben Protokollvoreinstellung enthalten sind.

Eine Liste der Streams, die in der DCR verwendet werden sollen, sowie Anweisungen finden Sie unter Datenstromwerte in der Datensammlungsregel.
Containerprotokolle ContainerLogV2 speichert die stdout/stderr-Datensätze, die von den Containern im Cluster generiert werden. Sie können zwar die Erfassung der gesamten Tabelle mithilfe der DCR deaktivieren, aber Sie können die Erfassung von Stderr- und Stdout-Protokollen separat mithilfe der ConfigMap für den Cluster konfigurieren. Da stdout- und stderr-Einstellungen separat konfiguriert werden können, können Sie eine aktivieren und die andere nicht.

Details zum Filtern von Containerprotokollen finden Sie unter Filter container logs.
Namespace Namespaces in Kubernetes werden verwendet, um Ressourcen innerhalb eines Clusters zu gruppieren. Sie können Daten aus Ressourcen in bestimmten Namespaces herausfiltern, die Sie nicht benötigen. Mithilfe der DCR können Sie Leistungsdaten nur nach Namespace filtern, wenn Sie die Erfassung für die Perf-Tabelle aktiviert haben. Verwenden Sie ConfigMap, um Daten nach bestimmten Namespaces in stdout- und stderr-Protokollen zu filtern.

Ausführliche Informationen zum Filtern von Protokollen nach Namespace und Plattformprotokollfilterung (System Kubernetes-Namespaces) finden Sie in diesem Artikel.
Pods und Container Mit der Anmerkungsfilterung können Sie Containerprotokolle basierend auf Anmerkungen herausfiltern, die Sie am Pod vornehmen. Mit ConfigMap können Sie angeben, ob stdout- und stderr-Protokolle für einzelne Pods und Container erfasst werden sollen.

Weitere Informationen zum Aktualisieren Ihrer ConfigMap und zum Festlegen von Anmerkungen in Ihren Pods finden Sie in diesem Artikel.

Transformationen

Mit Erfassungszeittransformationen können Sie eine KQL-Abfrage anwenden, um Daten in der Azure Monitor-Pipeline zu filtern und zu transformieren, bevor sie in einem Log Analytics-Arbeitsbereich gespeichert werden. Auf diese Weise können Sie Daten basierend auf Kriterien filtern, die Sie mit den anderen Optionen nicht verwenden können.

Sie können beispielsweise Containerprotokolle basierend auf der Protokollebene in ContainerLogV2 filtern. Sie könnten Ihrer Container Insights-DCR eine Transformation hinzufügen, die die Funktionalität im folgenden Diagramm bietet. In diesem Beispiel werden nur Ereignisse auf error- und critical-Ebene erfasst, während alle anderen Ereignisse ignoriert werden.

Eine alternative Strategie wäre das Speichern der weniger wichtigen Ereignisse in einer separaten Tabelle, die für Basisprotokolle konfiguriert ist. Die Ereignisse wären weiterhin für die Problembehandlung verfügbar, aber mit erheblichen Kosteneinsparungen für die Datenerfassung.

Weitere Informationen zum Hinzufügen einer Transformation zu Ihrer Container Insights-DCR, einschließlich Beispiel-DCRs, finden Sie unter Datentransformationen in Container-Insights.

Konfigurieren von Tarifen

Basisprotokolle in Azure Monitor bieten einen erheblichen Kostenrabatt für die Erfassung von Daten in Ihrem Log Analytics-Arbeitsbereich für Daten, die Sie gelegentlich zum Debuggen und zur Problembehandlung verwenden. Tabellen, die für Basisprotokolle konfiguriert sind, bieten einen erheblichen Kostennachlass für die Datenerfassung im Austausch für Kosten für Protokollabfragen. Dies bedeutet, dass sie ideal für Daten sind, die Sie benötigen, auf die Sie aber selten zugreifen.

Konfigurieren Sie ContainerLogV2 für grundlegende Protokolle, um die Datenaufnahmekosten für Ihre Containerprotokolle erheblich zu reduzieren. Weitere Informationen finden Sie unter Kostenwirksame Warnungsstrategien für AKS zu verschiedenen Ansätzen, um weiterhin Warnungen in Containerprotokollen zu erhalten, bei denen diese Tabelle für grundlegende Protokolle konfiguriert ist.

Kostenwirksame Warnungsstrategien

Warnungen sind ein wichtiger Bestandteil der Überwachung von Workloads auf Azure Kubernetes Service (AKS). Für erweiterte Warnungen sind Analyseebenenprotokolle in Ihrem Log Analytics-Arbeitsbereich erforderlich, dies kann jedoch für Umgebungen mit hohem Volumen oder bestimmte Arten von Protokollen wie Überwachungsprotokollen kostenaufwendig sein.

Sie können Ihre Datenaufnahmekosten erheblich reduzieren, indem Sie Tabellen mit Containerprotokollen in einfache Protokolle konvertieren und andere kostengünstige Strategien der Log Analytics-Plattform nutzen. Azure Monitor bietet Optionen für ereignisgesteuerte und zusammenfassungsbasierte Warnungen in diesen Tabellen, sodass Sie mehr Kontrolle über Kosten erhalten, ohne die Integrität und das Verhalten Ihrer AKS-Workloads zu beeinträchtigen. Weitere Informationen finden Sie unter Kostenwirksame Warnungsstrategien für AKS .

Nächste Schritte

Weitere Informationen zu Kostenschätzungen basierend auf aktuellen Verwendungsmustern von Daten, die mit Container Insights erfasst werden, finden Sie unter Analysieren der Nutzung in einem Log Analytics-Arbeitsbereich.