Konfiguration des CloudWatch Agenten für EC2 Instanzen und lokale Server - AWS Präskriptive Leitlinien

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Konfiguration des CloudWatch Agenten für EC2 Instanzen und lokale Server

Viele Organisationen führen Workloads sowohl auf physischen Servern als auch auf virtuellen Maschinen aus ()VMs. Diese Workloads werden in der Regel auf unterschiedlichen Systemen ausgeführt, für OSs die jeweils eigene Installations- und Konfigurationsanforderungen für die Erfassung und Erfassung von Metriken gelten.

Wenn Sie sich für die Verwendung von EC2 Instances entscheiden, haben Sie ein hohes Maß an Kontrolle über Ihre Instanz- und Betriebssystemkonfiguration. Dieses höhere Maß an Kontrolle und Verantwortung erfordert jedoch, dass Sie die Konfigurationen überwachen und anpassen, um eine effizientere Nutzung zu erreichen. Sie können Ihre betriebliche Effizienz verbessern, indem Sie Standards für die Protokollierung und Überwachung festlegen und für die Erfassung und Erfassung von Protokollen und Messdaten einen standardmäßigen Installations- und Konfigurationsansatz anwenden.

Organizations, die ihre IT-Investitionen in die AWS Cloud migrieren oder erweitern, können CloudWatch diese nutzen, um eine einheitliche Protokollierungs- und Überwachungslösung zu erhalten. CloudWatch Die Preisgestaltung bedeutet, dass Sie schrittweise für die Metriken und Protokolle zahlen, die Sie erfassen möchten. Sie können auch Protokolle und Messwerte für lokale Server erfassen, indem Sie einen ähnlichen CloudWatch Agenteninstallationsprozess wie für Amazon EC2 verwenden.

Bevor Sie mit der Installation und Bereitstellung beginnen CloudWatch, stellen Sie sicher, dass Sie die Protokollierungs- und Metrikkonfigurationen für Ihre Systeme und Anwendungen evaluieren. Stellen Sie sicher, dass Sie die Standardprotokolle und Metriken definieren, die Sie für die DatenOSs, die Sie verwenden möchten, erfassen müssen. Systemprotokolle und Metriken sind die Grundlage und der Standard für eine Protokollierungs- und Überwachungslösung, da sie vom Betriebssystem generiert werden und sich für Linux und Windows unterscheiden. In allen Linux-Distributionen sind wichtige Metriken und Protokolldateien verfügbar, zusätzlich zu denen, die für eine Linux-Version oder -Distribution spezifisch sind. Diese Varianz tritt auch zwischen verschiedenen Windows-Versionen auf.

Konfiguration des Agenten CloudWatch

CloudWatch erfasst Metriken und Protokolle für Amazon EC2 - und lokale Server mithilfe von CloudWatch Agenten und Agentenkonfigurationsdateien, die für jedes Betriebssystem spezifisch sind. Wir empfehlen Ihnen, die Standardkonfiguration Ihrer Organisation für die Erfassung von Metriken und Protokollen zu definieren, bevor Sie mit der Installation des CloudWatch Agenten in großem Umfang in Ihren Konten beginnen.

Sie können mehrere CloudWatch Agentenkonfigurationen zu einer zusammengesetzten CloudWatch Agentenkonfiguration kombinieren. Ein empfohlener Ansatz besteht darin, Konfigurationen für Ihre Protokolle und Metriken auf System- und Anwendungsebene zu definieren und zu unterteilen. Das folgende Diagramm zeigt, wie mehrere CloudWatch Konfigurationsdateitypen für unterschiedliche Anforderungen zu einer zusammengesetzten CloudWatch Konfiguration kombiniert werden können:

Konfigurationen für unterschiedliche Anforderungen werden zu einer zusammengesetzten CloudWatch Konfiguration kombiniert.

Diese Protokolle und Metriken können auch weiter klassifiziert und für bestimmte Umgebungen oder Anforderungen konfiguriert werden. Sie könnten beispielsweise eine kleinere Teilmenge von Protokollen und Metriken mit geringerer Genauigkeit für unregulierte Entwicklungsumgebungen und eine größere, vollständigere Gruppe mit höherer Genauigkeit für regulierte Produktionsumgebungen definieren.

Konfiguration der Protokollerfassung für Instanzen EC2

Standardmäßig überwacht oder erfasst Amazon EC2 keine Protokolldateien. Stattdessen werden Protokolldateien von der auf Ihrer EC2 Instance installierten CloudWatch Agentsoftware erfasst und in CloudWatch Logs aufgenommen AWS API, oder AWS Command Line Interface (AWS CLI). Wir empfehlen, den CloudWatch Agenten zu verwenden, um Protokolldateien in CloudWatch Logs für Amazon EC2 - und lokale Server aufzunehmen.

Sie können Protokolle durchsuchen und filtern sowie Metriken extrahieren und die Automatisierung auf der Grundlage von Pattern-Patches aus den Protokolldateien in ausführen. CloudWatch CloudWatch unterstützt Klartext-, Leerzeichen- und JSON -formatierte Filter- und Mustersyntaxoptionen, wobei Logs im Format JSON -Format die größte Flexibilität bieten. Um die Filter- und Analyseoptionen zu erweitern, sollten Sie statt Klartext eine formatierte Protokollausgabe verwenden.

Der CloudWatch Agent verwendet eine Konfigurationsdatei, die die Protokolle und Metriken definiert, an die gesendet werden sollen CloudWatch. CloudWatch erfasst dann jede Protokolldatei als Protokollstream und gruppiert diese Protokollstreams in einer Protokollgruppe. Auf diese Weise können Sie Operationen für die Protokolle Ihrer EC2 Instances ausführen, z. B. nach einer passenden Zeichenfolge suchen.

Der Standard-Log-Stream-Name ist derselbe wie die EC2 Instanz-ID und der Standard-Log-Gruppenname ist derselbe wie der Logdateipfad. Der Name des Log-Streams muss innerhalb der CloudWatch Protokollgruppe eindeutig sein. Sie könneninstance_id, hostnamelocal_hostname, oder ip_address für die dynamische Substitution in den Namen des Protokolldatenstroms und der Protokollgruppe verwenden, was bedeutet, dass Sie dieselbe CloudWatch Agentenkonfigurationsdatei für mehrere EC2 Instanzen verwenden können.

Das folgende Diagramm zeigt eine CloudWatch Agentenkonfiguration für die Erfassung von Protokollen. Die Protokollgruppe wird durch die erfassten Protokolldateien definiert und enthält separate Protokollstreams für jede EC2 Instanz, da die für den Protokolldatenstrom verwendete {instance_id} Variable eindeutig sind: Name und EC2 Instanz IDs sind eindeutig.

Eine CloudWatch Agentenkonfiguration für die Erfassung von Protokollen.

Protokollgruppen definieren die Aufbewahrung, die Tags, die Sicherheit, die Metrikfilter und den Suchbereich für die Protokollstreams, die sie enthalten. Das standardmäßige Gruppierungsverhalten, das auf dem Namen der Protokolldatei basiert, hilft Ihnen bei der Suche, Erstellung von Metriken und Alarmen bei Daten, die für eine Protokolldatei spezifisch sind, und zwar für EC2 Instanzen in einem Konto und einer Region. Sie sollten prüfen, ob eine weitere Verfeinerung der Protokollgruppe erforderlich ist. Beispielsweise könnte Ihr Konto von mehreren Geschäftsbereichen gemeinsam genutzt werden und unterschiedliche technische oder betriebliche Verantwortliche haben. Das bedeutet, dass Sie den Namen der Protokollgruppe weiter verfeinern müssen, um die Trennung und die Eigentümerschaft widerzuspiegeln. Dieser Ansatz ermöglicht es Ihnen, Ihre Analyse und Problembehandlung auf die jeweilige EC2 Instanz zu konzentrieren.

Wenn mehrere Umgebungen ein Konto verwenden, können Sie die Protokollierung für Workloads, die in jeder Umgebung ausgeführt werden, trennen. Die folgende Tabelle zeigt eine Benennungskonvention für Protokollgruppen, die die Geschäftseinheit, das Projekt oder die Anwendung und die Umgebung umfasst.

Name der Protokollgruppe /<Business unit>/<Project or application name>/<Environment>/<Log file name>
Name des Protokollstreams <EC2 instance ID>

Sie können auch alle Protokolldateien für eine EC2 Instanz in derselben Protokollgruppe gruppieren. Dies erleichtert das Suchen und Analysieren mehrerer Protokolldateien für eine einzelne EC2 Instanz. Dies ist nützlich, wenn die meisten Ihrer EC2 Instanzen eine Anwendung oder einen Workload bedienen und jede EC2 Instanz einem bestimmten Zweck dient. Die folgende Tabelle zeigt, wie Ihre Loggruppe und die Log-Stream-Benennung formatiert werden könnten, um diesen Ansatz zu unterstützen.

Name der Protokollgruppe /<Business unit>/<Project or application name>/<Environment>/<EC2 instance ID>
Name des Protokollstreams <Log file name>

Konfiguration der Erfassung von Metriken für EC2 Instanzen

Standardmäßig sind Ihre EC2 Instances für die grundlegende Überwachung aktiviert, und CloudWatch alle fünf Minuten wird automatisch ein Standardsatz von Metriken (z. B. netzwerk- oder speicherbezogene Metriken) an sie gesendet. CPU CloudWatch Metriken können je nach Instance-Familie variieren. Beispielsweise verfügen Instances mit hoher Leistung über Kennzahlen für Credits. CPU EC2Amazon-Standardmetriken sind in Ihrem Instance-Preis enthalten. Wenn Sie die detaillierte Überwachung für Ihre EC2 Instances aktivieren, können Sie Daten innerhalb von einer Minute erhalten. Die Periodenfrequenz wirkt sich auf Ihre CloudWatch Kosten aus. Stellen Sie daher sicher, dass Sie abwägen, ob eine detaillierte Überwachung für alle oder nur für einige Ihrer EC2 Instances erforderlich ist. Sie könnten beispielsweise die detaillierte Überwachung für Produktionsworkloads aktivieren, aber die Basisüberwachung für Workloads außerhalb der Produktion verwenden.

Lokale Server enthalten keine Standardmetriken für CloudWatch und müssen den CloudWatch Agenten oder AWS SDK zur Erfassung von Messwerten verwenden. AWS CLI Das bedeutet, dass Sie die Metriken, die Sie erfassen möchten (z. B. CPU Auslastung), in der CloudWatch Konfigurationsdatei definieren müssen. Sie können eine eindeutige CloudWatch Konfigurationsdatei erstellen, die die EC2 Standard-Instanzmetriken für Ihre lokalen Server enthält, und diese zusätzlich zu Ihrer CloudWatch Standardkonfiguration anwenden.

Metriken in CloudWatch sind eindeutig durch den Metriknamen und null oder mehr Dimensionen definiert und in einem Metrik-Namespace eindeutig gruppiert. Von einem AWS Service bereitgestellte Metriken haben einen Namespace, der mit AWS (z. B.AWS/EC2) beginnt, und AWS Nicht-Metriken werden als benutzerdefinierte Metriken betrachtet. Metriken, die Sie mit dem CloudWatch Agenten konfigurieren und erfassen, gelten alle als benutzerdefinierte Metriken. Da sich die Anzahl der erstellten Metriken auf Ihre CloudWatch Kosten auswirkt, sollten Sie abwägen, ob jede Metrik für alle oder nur für einige Ihrer EC2 Instances erforderlich ist. Sie könnten beispielsweise einen vollständigen Satz von Metriken für Produktionsworkloads definieren, aber einen kleineren Teil dieser Metriken für Workloads außerhalb der Produktion verwenden.

CWAgentist der Standard-Namespace für Metriken, die vom Agenten veröffentlicht werden. CloudWatch Ähnlich wie bei Protokollgruppen organisiert der Metrik-Namespace eine Reihe von Metriken, sodass sie zusammen an einem Ort gefunden werden können. Sie sollten den Namespace so ändern, dass er eine Geschäftseinheit, ein Projekt oder eine Anwendung und eine Umgebung widerspiegelt (z. B.). /<Business unit>/<Project or application name>/<Environment> Dieser Ansatz ist nützlich, wenn mehrere Workloads, die nichts miteinander zu tun haben, dasselbe Konto verwenden. Sie können auch Ihre Namespace-Benennungskonvention mit Ihrer Namenskonvention für CloudWatch Protokollgruppen korrelieren.

Metriken werden auch anhand ihrer Dimensionen identifiziert, sodass Sie sie anhand einer Reihe von Bedingungen analysieren können. Sie sind die Eigenschaften, anhand derer Beobachtungen aufgezeichnet werden. Amazon EC2 bietet separate Metriken für EC2 Instances mit InstanceId und AutoScalingGroupName Dimensionen. Sie erhalten auch Metriken mit den InstanceType Dimensionen ImageId und, wenn Sie die detaillierte Überwachung aktivieren. Beispielsweise EC2 bietet Amazon zusätzlich zu einer separaten CPU Nutzungsmetrik für die Dimension eine separate EC2 Instance-Metrik für die CPU Nutzung mit den InstanceType Dimensionen. InstanceId Auf diese Weise können Sie die CPU Auslastung für jede einzelne EC2 Instance sowie für alle EC2 Instances eines bestimmten Instance-Typs analysieren.

Das Hinzufügen weiterer Dimensionen erhöht Ihre Analysefähigkeit, erhöht aber auch Ihre Gesamtkosten, da jede Kombination aus Metrik und eindeutigem Dimensionswert zu einer neuen Metrik führt. Wenn Sie beispielsweise eine Metrik für die prozentuale Speicherauslastung im Vergleich zur InstanceId Dimension erstellen, ist dies eine neue Metrik für jede EC2 Instanz. Wenn Ihr Unternehmen Tausende von EC2 Instances betreibt, verursacht dies Tausende von Metriken und führt zu höheren Kosten. Um die Kosten zu kontrollieren und vorherzusagen, stellen Sie sicher, dass Sie die Kardinalität der Metrik bestimmen und festlegen, welche Dimensionen den größten Mehrwert bieten. Sie könnten beispielsweise einen vollständigen Satz von Dimensionen für Ihre Kennzahlen zur Produktionsauslastung definieren, aber eine kleinere Teilmenge dieser Dimensionen für Workloads außerhalb der Produktion.

Sie können die append_dimensions Eigenschaft verwenden, um Dimensionen zu einer oder allen in Ihrer Konfiguration definierten Metriken hinzuzufügen. CloudWatch Sie könnenImageId,InstanceId, InstanceType und AutoScalingGroupName auch dynamisch an alle Metriken in Ihrer CloudWatch Konfiguration anhängen. Alternativ können Sie einen beliebigen Dimensionsnamen und -wert für bestimmte Metriken anhängen, indem Sie die append_dimensions Eigenschaft für diese Metrik verwenden. CloudWatch kann auch Statistiken zu metrischen Dimensionen aggregieren, die Sie mit der aggregation_dimensions Eigenschaft definiert haben.

Sie könnten beispielsweise den verwendeten Speicher gegen die InstanceType Dimension aggregieren, um den durchschnittlichen Speicherverbrauch aller EC2 Instances für jeden Instance-Typ zu ermitteln. Wenn Sie t2.micro Instances verwenden, die in einer Region ausgeführt werden, könnten Sie feststellen, ob Workloads, die die t2.micro Klasse verwenden, den bereitgestellten Speicher über- oder unterbeanspruchen. Eine Unterauslastung kann ein Zeichen dafür sein, dass Workloads EC2 Klassen mit nicht benötigter Speicherkapazität verwenden. Im Gegensatz dazu kann eine Überauslastung ein Zeichen dafür sein, dass Workloads EC2 Amazon-Klassen mit unzureichendem Speicher verwenden.

Das folgende Diagramm zeigt ein Beispiel für eine CloudWatch Metrikkonfiguration, die einen benutzerdefinierten Namespace, zusätzliche Dimensionen und Aggregation von verwendet. InstanceType

Beispiel für eine CloudWatch Metrikkonfiguration mit Agent CloudWatch .