Optimieren der Überwachungskosten für Container Insights

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 enthält eine exemplarische Vorgehensweise zum Analysieren und Optimieren Ihrer Datenerfassung für Containereinblicke.

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.

Mithilfe des Runbooks Container Insights-Nutzung, das auf der Seite Arbeitsbereich eines überwachten Clusters verfügbar ist, können Sie die Datenmengen, die in den einzelnen Arbeitsbereichen erfasst werden, visualisieren.

Screenshot der 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.

Kostenvoreinstellungen

Die einfachste Möglichkeit zum Filtern von Daten ist die Verwendung der Kostenvoreinstellungen im Azure-Portal. Jede Voreinstellung enthält verschiedene Tabellensätze, die basierend auf verschiedenen Vorgangs- und Kostenprofilen erfasst werden. Die Kostenvoreinstellungen sind so konzipiert, dass Sie Ihre Datenerfassung 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 Kostenvoreinstellung finden Sie unter Konfigurieren einer Datensammlungsregel mit dem Azure-Portal

Filteroptionen

Nachdem Sie eine geeignete Kostenvoreinstellung 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 die DCR manuell, wenn Sie einzelne Tabellen auswählen möchten, um andere als die Gruppen für die Kostenvoreinstellungen aufzufüllen. Sie können z. B. ContainerLogV2, aber nicht KubeEvents erfassen, was in der gleichen Kostenvoreinstellung enthalten ist.

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.

Weitere Informationen zum Filtern von Containerprotokollen finden Sie in diesem Artikel.
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.

ContainerLogV2 kann für Basisprotokolle konfiguriert werden. Dies bietet Ihnen erhebliche Kosteneinsparungen, wenn Sie die Daten selten abfragen. Mithilfe von Transformationen können Sie Daten angeben, die an alternative Tabellen gesendet werden sollen, die für Basisprotokolle konfiguriert sind. Ein Beispiel für diese Strategie finden Sie unter Datentransformationen in Container Insights.

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.