Konfigurieren von CloudWatch -Agenten für EC2-Instances 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.

Konfigurieren von CloudWatch -Agenten für EC2-Instances und lokale Server

Viele Organisationen führen Workloads sowohl auf physischen Servern als auch auf virtuellen Maschinen (VMs) aus. Diese Workloads werden normalerweise auf verschiedenen Betriebssystemen ausgeführt, die jeweils einzigartige Installations- und Konfigurationsanforderungen für die Erfassung und Aufnahme von Metriken haben.

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

Organizations, die ihre IT-Investitionen migrieren oder auf dieAWSCloud kann nutzen CloudWatch um eine einheitliche Protokollierungs- und Überwachungslösung zu erreichen. CloudWatch Preisgestaltung bedeutet, dass Sie schrittweise für die Metriken und Protokolle bezahlen, die Sie erfassen möchten. Sie können auch Protokolle und Metriken für lokale Server erfassen, indem Sie einen ähnlichen CloudWatch Agent-Installationsprozess wie für Amazon EC2.

Bevor Sie mit der Installation und Bereitstellung von CloudWatch beginnen, stellen Sie sicher, dass Sie die Protokollierungs- und Metrikkonfigurationen für Ihre Systeme und Anwendungen auswerten. Stellen Sie sicher, dass Sie die Standardprotokolle und Metriken definieren, die Sie für die zu verwendenden Betriebssysteme erfassen müssen. Systemprotokolle und Metriken sind Grundlage und Standard für eine Protokollierungs- und Überwachungslösung, da sie vom Betriebssystem generiert werden und für Linux und Windows unterschiedlich sind. Neben solchen, die für eine Linux-Version oder Distribution spezifisch sind, stehen wichtige Metriken und Protokolldateien für Linux-Distributionen zur Verfügung. Diese Varianz tritt auch zwischen verschiedenen Windows-Versionen auf.

Konfigurieren von CloudWatch Agentin

CloudWatch-Server erfasst mithilfe von Metriken und Protokollen für Amazon EC2 und lokale ServerCloudWatch-Agenten und Agent-Konfigurationsdateiendie für jedes Betriebssystem spezifisch sind. Wir empfehlen Ihnen, die Standardmetrik und die Protokollerfassungskonfiguration Ihres Unternehmens zu definieren, bevor Sie mit der Installation des CloudWatch Agent im großen Maßstab in Ihren Konten.

Sie können mehrere kombinieren CloudWatch Agent-Konfigurationen zur Bildung eines Composite CloudWatch Agent-Konfiguration. Ein empfohlener Ansatz besteht darin, Konfigurationen für Ihre Protokolle und Metriken auf System- und Anwendungsebene zu definieren und zu teilen. Das folgende Diagramm zeigt, wie mehrere CloudWatch-Konfigurationsdateitypen für verschiedene Anforderungen kombiniert werden können, um eine zusammengesetzte CloudWatch-Konfiguration zu bilden:

Mehrere CloudWatch Konfiguration für verschiedene Anforderungen werden zu einem Verbundwerkstoff kombiniert CloudWatch Aufbau

Diese Protokolle und Metriken können auch weiter klassifiziert und für bestimmte Umgebungen oder Anforderungen konfiguriert werden. Beispielsweise könnten Sie eine kleinere Teilmenge von Protokollen und Metriken mit geringerer Genauigkeit für unregulierte Entwicklungsumgebungen und einen größeren, vollständigeren Satz mit höherer Präzision für regulierte Produktionsumgebungen definieren.

Konfigurieren der Protokollerfassung für EC2-Instances

Standardmäßig überwacht oder erfasst Amazon EC2 keine Protokolldateien. Stattdessen werden Protokolldateien erfasst und aufgenommen CloudWatch Logs von der CloudWatch Auf Ihrer EC2-Instance installierte AgentsoftwareAWSAPI oderAWS Command Line Interface(AWS CLI) enthalten. Wir empfehlen die Verwendung von CloudWatch Agent zum Aufnehmen von Protokolldateien CloudWatch Protokollen für Amazon EC2 und lokale Server.

Sie können Protokolle suchen und filtern sowie Metriken extrahieren und die Automatisierung basierend auf Muster-Patching aus Protokolldateien in CloudWatch ausführen. CloudWatch unterstützt Klartext, durch Leerzeichen getrennte und JSON-formatierte Filter- und Mustersyntaxoptionen, wobei JSON-formatierte Protokolle die größte Flexibilität bieten. Um die Filter- und Analyseoptionen zu erhöhen, sollten Sie anstelle von Klartext eine formatierte Protokollausgabe verwenden.

Die CloudWatch Agent verwendet eine Konfigurationsdatei, die die Protokolle und Metriken definiert, die an CloudWatch gesendet werden sollen. CloudWatch erfasst dann jede Protokolldatei alsProtokollstreamund gruppiert diese Log-Streams in einProtokollgruppeaus. Dies hilft Ihnen, Vorgänge über Protokolle Ihrer EC2-Instanzen hinweg auszuführen, z. B. die Suche nach einer übereinstimmenden Zeichenfolge.

Der Standardname des Protokollstreams entspricht der EC2-Instanz-ID und der Standardname der Protokollgruppe entspricht dem Pfad der Protokolldatei. Der Name des Protokollstreams muss innerhalb des CloudWatch Protokollgruppe. Sie können verwendeninstance_id,hostname,local_hostname, oderip_addressfür die dynamische Substitution im Log-Stream und Log-Gruppennamen, was bedeutet, dass Sie dasselbe verwenden können CloudWatch Agent-Konfigurationsdatei über mehrere EC2-Instances hinweg.

Das folgende Diagramm zeigt eine CloudWatch Agent-Konfiguration zum Erfassen von Protokollen. Die Protokollgruppe wird durch die erfassten Protokolldateien definiert und enthält separate Log-Streams für jede EC2-Instanz, da die{instance_id}wird für den Namen des Protokollstreams verwendet, und EC2-Instanz-IDs sind eindeutig.

EIN CloudWatch Agent-Konfiguration zum Erfassen von Protokollen.

Protokollgruppen definieren die Aufbewahrung, die Tags, die Sicherheit, die Metrikfilter und den Suchbereich für die darin enthaltenen Protokollstreams. Das Standardgruppierungsverhalten basierend auf dem Namen der Protokolldatei hilft Ihnen, Metriken zu suchen, zu erstellen und Daten zu alarmieren, die für eine Protokolldatei in EC2-Instanzen in einem Konto und einer Region spezifisch sind. Sie sollten prüfen, ob eine weitere Verfeinerung der Protokollgruppe erforderlich ist. Beispielsweise kann Ihr Konto von mehreren Geschäftseinheiten geteilt werden und hat unterschiedliche technische oder betriebliche Eigentümer. Dies bedeutet, dass Sie den Namen der Protokollgruppe weiter verfeinern müssen, um die Trennung und den Besitz widerzuspiegeln. Mit diesem Ansatz können Sie Ihre Analyse und Fehlerbehebung auf die relevante EC2-Instanz konzentrieren.

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

Protokollgruppenname /<Business unit>/<Project or application name>/<Environment>/<Log file name>
Protokoll-Streamname <EC2 instance ID>

Sie können auch alle Protokolldateien für eine EC2-Instanz in derselben Protokollgruppe gruppieren. Dies erleichtert das Suchen und Analysieren in einer Reihe von Protokolldateien nach einer einzelnen EC2-Instanz. Dies ist nützlich, wenn die meisten Ihrer EC2-Instanzen eine Anwendung oder Workload bedienen und jede EC2-Instanz einem bestimmten Zweck dient. Die folgende Tabelle zeigt, wie die Benennung Ihrer Protokollgruppe und des Protokollstreams formatiert werden kann, um diesen Ansatz zu unterstützen.

Protokollgruppenname /<Business unit>/<Project or application name>/<Environment>/<EC2 instance ID>
Protokoll-Streamname <Log file name>

Konfigurieren der Metrikerfassung für EC2-Instances

Standardmäßig sind Ihre EC2-Instances für die grundlegende Überwachung und eineStandardsatz von Metriken(z. B. CPU-, Netzwerk- oder speicherbezogene Metriken) wird automatisch an gesendet CloudWatch alle fünf Minuten. CloudWatch Die Metriken können je nach Instance-Familie variieren, z. B.Instances mit Spitzenlastleistunghaben Metriken für CPU-Credits. Amazon EC2 EC2-Standardmetriken sind in Ihrem Instance-Preis enthalten. Wenn Sie aktivierenDetaillierte ÜberwachungFür Ihre EC2-Instances können Sie Daten in Zeiträumen von einer Minute erhalten. Die Periodenfrequenz wirkt sich auf Ihre CloudWatch-Kosten aus. Stellen Sie daher sicher, dass Sie prüfen, ob eine detaillierte Überwachung für alle oder nur einige Ihrer EC2-Instanzen erforderlich ist. Sie könnten beispielsweise eine detaillierte Überwachung für Produktionsworkloads aktivieren, aber die grundlegende Überwachung für Workloads außerhalb der Produktion verwenden.

Lokale Server enthalten keine Standardmetriken für CloudWatch und muss das CloudWatch -Agent,AWS CLI, oderAWSSDK zur Erfassung von Metriken. Dies bedeutet, dass Sie die Metriken definieren müssen, die Sie erfassen möchten (z. B. CloudWatch Konfigurationsdatei. Sie können ein Unikat erstellen CloudWatch Konfigurationsdatei, die die Standard-EC2-Instance-Metriken für Ihre lokalen Server enthält und sie zusätzlich zu Ihrem Standard anwendet CloudWatch -Konfiguration.

Metrikenin CloudWatch sind eindeutig durch den Metriknamen und null oder mehrere Dimensionen definiert und sind eindeutig in einem Metriknamespace gruppiert. Metriken, die von einemAWS-Dienst hat einen Namespace, der mit beginntAWS(zum BeispielAWS/EC2), und nicht-AWS-Metriken gelten als benutzerdefinierte Metriken. Metriken, die Sie mit dem CloudWatch Agent gelten alle als benutzerdefinierte Metriken. Weil sich die Anzahl der erstellten Metriken auf Ihre CloudWatch Kosten sollten Sie bewerten, ob jede Metrik für alle oder nur einige Ihrer EC2-Instanzen erforderlich ist. Sie könnten beispielsweise einen vollständigen Satz von Metriken für Produktions-Workloads definieren, aber eine kleinere Teilmenge dieser Metriken für Workloads außerhalb der Produktion verwenden.

CWAgentist der Standardnamespace für Metriken, die von der CloudWatch -Agent. Ähnlich wie bei Protokollgruppen organisiert der Metrik-Namespace eine Reihe von Metriken, sodass sie an einer Stelle zusammen 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>) enthalten. Dieser Ansatz ist nützlich, wenn mehrere nicht verwandte Workloads dasselbe Konto verwenden. Sie können Ihre Namespace-Benennungskonvention auch mit Ihrer CloudWatch Namenskonvention für Protokollgruppen

Metriken werden auch durch ihre Dimensionen identifiziert, die Ihnen helfen, sie anhand einer Reihe von Bedingungen zu analysieren und die Eigenschaften sind, mit denen Beobachtungen aufgezeichnet werden. Amazon EC2 enthältSeparate Metrikenfür EC2-Instances mitInstanceIdundAutoScalingGroupName-Dimensionen Sie erhalten auch Metriken mit demImageIdundInstanceType-Bemaßungen, wenn Sie die detaillierte Überwachung aktivieren. Amazon EC2 bietet beispielsweise eine separate EC2-Instance-Metrik für die CPU-Auslastung mit demInstanceIdDimensionen zusätzlich zur separaten CPU-Auslastungsmetrik für dieInstanceType-Dimension. Dies hilft Ihnen, die CPU-Auslastung für jede eindeutige EC2-Instanz zu analysieren, zusätzlich zu allen EC2-Instanzen einer bestimmtenInstance-Typaus.

Das Hinzufügen weiterer Dimensionen erhöht Ihre Analysefähigkeit, erhöht aber auch Ihre Gesamtkosten, da jede Metrik und jede Kombination aus eindeutigen Dimensionswerten zu einer neuen Metrik führt. Wenn Sie beispielsweise eine Metrik für den Prozentsatz der Speicherauslastung gegenüber demInstanceIddimension, dann ist dies eine neue Metrik für jede EC2-Instanz. Wenn Ihre Organisation Tausende von EC2-Instanzen ausführt, führt dies zu Tausenden von Metriken und führt zu höheren Kosten. Um Kosten zu kontrollieren und vorherzusagen, stellen Sie sicher, dass Sie die Kardinalität der Metrik bestimmen und welche Dimensionen den größten Wert bieten. Sie könnten beispielsweise einen vollständigen Satz von Dimensionen für Ihre Produktionsworkload-Metriken definieren, aber eine kleinere Teilmenge dieser Dimensionen für Workloads außerhalb der Produktion.

Sie können dasappend_dimensionsEigenschaft zum Hinzufügen von Dimensionen zu einer oder allen Metriken, die in Ihrem CloudWatch -Konfiguration. Sie können auch dynamisch dasImageId,InstanceId,InstanceType, undAutoScalingGroupNamezu allen Metriken in Ihrem CloudWatch -Konfiguration. Alternativ können Sie einen beliebigen Dimensionsnamen und einen Wert für bestimmte Metriken anhängen, indem Sie dieappend_dimensionsEigenschaft für diese Metrik. CloudWatch kann auch Statistiken über metrische Dimensionen aggregieren, die Sie mit demaggregation_dimensionseigentum.

Beispielsweise können Sie den verwendeten Speicher mit demInstanceTypedimension, um den durchschnittlichen Speicher zu sehen, der von allen EC2-Instanzen für jeden Instance-Typ verwendet wird. Bei Verwendungt2.microInstanzen, die in einer Region ausgeführt werden, können Sie feststellen, ob Workloads mit dert2.microKlasse belasten oder unterlastet den bereitgestellten Speicher. 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 Amazon EC2-Klassen mit unzureichendem Speicher verwenden.

Das folgende Diagramm zeigt ein Beispiel CloudWatch Metrikkonfiguration, die einen benutzerdefinierten Namespace, hinzugefügte Dimensionen und Aggregation vonInstanceTypeaus.

Eine Stichprobe CloudWatch Metrikkonfiguration, die einen benutzerdefinierten Namespace, hinzugefügte Dimensionen und Aggregation vonInstanceTypeaus.