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.
AWSSupport-TroubleshootWindowsPerformance
Beschreibung
Das Runbook AWSSupport-TroubleshootWindowsPerformance hilft bei der Behebung laufender Leistungsprobleme auf der Amazon Elastic Compute Cloud (Amazon EC2) Windows-Instance. Das Runbook erfasst Protokolle der Ziel-Instance und analysiert CPU-, Speicher-, Festplatten- und Netzwerkleistungsmetriken. Optional kann die Automatisierung einen Prozess-Dump erfassen, der Ihnen hilft, die mögliche Ursache für Leistungseinbußen zu ermitteln. Die Automatisierung erfasst auch die Ereignis- und Systemprotokolle mithilfe des neuesten EC2Rescue Tools, sofern Sie diesem Runbook die Installation gestatten.
Wie funktioniert das?
Das Runbook führt die folgenden Schritte aus:
-
Überprüft die Amazon EC2-Instance auf Voraussetzungen.
-
Generiert Leistungsprotokolle auf der Root-Festplatte der Amazon EC2-Windows-Instance
-
Speichert erfasste Protokolle in einem Ordner
C:\ProgramData\Amazon\SSM\TroubleshootWindowsPerformance -
Wenn ein Amazon Simple Storage Service (Amazon S3) -Bucket bereitgestellt wird und die Automation-Amp-Rolle über die erforderlichen Berechtigungen verfügt, werden die erfassten Protokolle in den Amazon S3-Bucket hochgeladen.
-
Installiert das neueste
EC2RescueTool auf der Amazon EC2-Windows-Instance zur Erfassung von Ereignissen und Systemprotokollen, falls Sie es installieren möchten. Es analysiert jedoch nicht den Prozess-Dump und die von erfassten Protokolle.EC2Rescue
Wichtig
-
Um dieses Runbook ausführen zu können, muss die Amazon EC2-Windows-Instance von verwaltet werden. AWS Systems Manager Weitere Informationen finden Sie unter Warum wird meine Amazon EC2-Instance nicht als verwalteter Knoten angezeigt.
-
Um dieses Runbook ausführen zu können, muss die Amazon EC2-Windows-Instance auf den Versionen Windows 8.1/Windows Server 2012 R2 (6.3) oder neuer mit PowerShell 4.0 oder höher ausgeführt werden. Weitere Informationen finden Sie unter Windows-Betriebssystemversion.
-
Für die Generierung von Leistungsprotokollen sind mindestens 10 GB freier Speicherplatz auf dem Root-Gerät erforderlich. Wenn das Stammlaufwerk größer als 100 GB ist, muss der freie Speicherplatz mehr als 10% der Festplattengröße betragen. Wenn Sie einen Prozess während der Ausführung ausgeben, muss der freie Speicherplatz größer als 10 GB sein, zuzüglich der Gesamtspeichergröße, die vom Prozess beansprucht wird, wenn der Prozess mehr als 10 GB Arbeitsspeicher verbraucht.
-
Die auf dem Root-Gerät generierten Protokolle werden nicht automatisch gelöscht.
-
Das Runbook deinstalliert das
EC2RescueTool nicht. Weitere Informationen finden Sie unter VerwendungEC2Rescuefür Windows Server. -
Es hat sich bewährt, diese Automatisierung bei Leistungseinbußen auszuführen. Sie können sie auch in regelmäßigen Abständen ausführen, indem Sie eine AWS Systems Manager State Manager-Verknüpfung verwenden oder AWS Systems Manager Wartungsfenster planen.
Führen Sie diese Automatisierung aus (Konsole)
Art des Dokuments
Automatisierung
Eigentümer
Amazon
Plattformen
Windows
Parameter
Erforderliche IAM-Berechtigungen
Der AutomationAssumeRole Parameter erfordert die folgenden Aktionen, um das Runbook erfolgreich zu verwenden.
-
ec2:DescribeInstances -
ssm:DescribeAutomationExecutions -
ssm:DescribeInstanceInformation -
ssm:GetAutomationExecution -
ssm:ListCommands -
ssm:ListCommandInvocations -
ssm:SendCommand -
s3:ListBucket -
s3:GetEncryptionConfiguration -
s3:GetBucketPublicAccessBlock -
s3:GetBucketPolicyStatus -
s3:PutObject -
s3:GetBucketAcl -
s3:GetAccountPublicAccessBlock
(Optional) Die IAM-Rolle, die dem Instance-Profil oder dem auf der Instance konfigurierten IAM-Benutzer zugewiesen ist, erfordert die folgenden Aktionen, um Protokolle in den Amazon S3-Bucket hochzuladen, der für den Parameter angegeben ist: LogUploadBucketName
-
s3:PutObject -
s3:GetObject -
s3:ListBucket
Anweisungen
Folgen Sie diesen Schritten, um die Automatisierung zu konfigurieren:
-
Navigieren Sie
AWSSupport-TroubleshootWindowsPerformanceim Systems Manager unter Dokumente zu. -
Wählen Sie Execute automation (Automatisierung ausführen).
-
Geben Sie für die Eingabeparameter Folgendes ein:
-
AutomationAssumeRole (Fakultativ):
Der Amazon-Ressourcenname (ARN) der AWS AWS Identity and Access Management (IAM) -Rolle, die es Systems Manager Automation ermöglicht, die Aktionen in Ihrem Namen durchzuführen. Wenn keine Rolle angegeben ist, verwendet Systems Manager Automation die Berechtigungen des Benutzers, der dieses Runbook startet.
-
InstanceId (Erforderlich):
Die ID der Amazon EC2-Windows-Zielinstanz, auf der Sie die Automatisierung ausführen möchten. Die Instanz muss vom Systems Manager verwaltet werden, um die Automatisierung ausführen zu können.
-
CaptureProcessDump (Fakultativ):
Der Typ des Prozess-Dumps, der erfasst werden soll. Die Automatisierung kann einen Prozess-Dump für den Prozess erfassen, der zu Beginn der Automatisierung möglicherweise die Leistungsbeeinträchtigung verursacht. Das Root-Volume der Instanz benötigt mindestens 10 GB freien Speicherplatz (mehr als 10% der Festplattengröße, wenn das Root-Volume größer als 100 GB ist, und 10 GB plus die gesamte vom Prozess verbrauchte Speichergröße, wenn der Prozess mehr als 10 GB Arbeitsspeicher verbraucht).
-
LogCaptureDuration (Fakultativ):
Die Anzahl der Minuten zwischen
1und15, in denen diese Automatisierung Protokolle erfasst, solange das Problem besteht. Der Standardwert ist5. -
LogUploadBucketName (Fakultativ):
Der Amazon S3-Bucket in Ihrem Konto, in den Sie die Protokolle hochladen möchten. Der Bucket muss mit serverseitiger Verschlüsselung (SSE) konfiguriert sein, und die Bucket-Richtlinie darf Parteien, die keinen Zugriff auf die erfassten Protokolle benötigen, keine unnötigen read/write Berechtigungen gewähren. Die Amazon EC2-Windows-Instance muss Zugriff auf den Amazon S3-Bucket haben.
-
InstallEC2RescueTool (Fakultativ):
Stellen Sie diese
YesOption auf ein, damit das Runbook die neueste Version desEC2RescueTools zur Erfassung der Windows-Ereignisse und -Systemprotokolle installieren kann. Der Standardwert istNo. -
Bestätigung (erforderlich):
Lesen Sie die vollständigen Details der Aktionen, die von diesem Automatisierungs-Runbook ausgeführt werden, und geben Sie Folgendes ein, wenn Sie damit einverstanden sind.
Yes, I understand and acknowledge
-
-
Wählen Sie Ausführen aus.
-
Die Automatisierung wird eingeleitet.
-
Das Dokument führt die folgenden Schritte aus:
-
CheckConcurrency:Stellt sicher, dass dieses Runbook nur einmal ausgeführt wird, das auf die Instanz abzielt. Wenn das Runbook eine weitere Ausführung findet, die auf dieselbe Instanz abzielt, gibt es einen Fehler zurück und wird beendet.
-
AssertInstanceIsWindows:Bestätigt, dass die Amazon EC2-Instance unter dem Windows-Betriebssystem läuft. Andernfalls endet die Automatisierung.
-
AssertInstanceIsManagedInstance:Bestätigt, dass die Amazon EC2-Instance von verwaltet wird. AWS Systems Manager Andernfalls endet die Automatisierung.
-
VerifyPrerequisites:Überprüft die PowerShell Version auf dem Instanz-Betriebssystem und stellt sicher, dass die Instanz über den Systems Manager verbunden werden kann, um PowerShell Befehle auszuführen. Diese Automatisierung unterstützt PowerShell 4.0 und höher, die auf den Versionen Windows 8.1/Server 2012 R2 (6.3) oder neuer ausgeführt werden. Wenn die Version älter ist, schlägt die Automatisierung fehl. Wenn Sie sich dafür entscheiden, Protokolle in den Amazon S3-Bucket hochzuladen, überprüft diese Automatisierung, ob das PowerShell Modul AWS Tools for verfügbar ist. Wenn nicht, endet die Automatisierung.
-
BranchOnProcessDump:Verzweigungen basieren darauf, ob Sie die Option so eingestellt haben, dass der Speicherauszug von Prozessen erfasst wird, die sich auf die Leistung ausgewirkt haben.
-
CaptureProcessDump:Prüft, ob die Instanz über genügend Speicherplatz verfügt, um diese Automatisierung auszuführen (wenn Sie die Option Höchste CPU-/Speichergröße wählen).
-
CapturePerformanceLogs:Überprüft erneut den Speicherplatz und führt das PowerShell Skript auf der Instanz aus, um Leistungsindikatoren zu erstellen und die Protokollierung von Performance Monitor und Windows Performance Recorder zu starten. Das Skript stoppt, nachdem der definierte Wert
LogCaptureDurationerreicht wurde. -
SummarizePerformanceLogs:Fasst den im vorherigen Schritt generierten XML-Bericht zusammen
CapturePerformanceLogs, um den verantwortlichen Prozess zu ermitteln, der die meisten WorkingSet 64 (Speicher) und die Prozessorzeit (CPU) in% verbraucht, die als Ausgabe in der Automatisierung angezeigt werden. Er generiert ähnliche Informationen zur Verwendung von Netzwerkschnittstelle LogicalDisk, Speicher, TCPv4, IPv4 und UDPv4 und speichert sie im Ausgabeordner.analysis_output.log -
BranchOnInstallEC2Rescue:Verzweigt, wenn Sie es so einstellen, dass das neueste
EC2RescueTool in der Amazon EC2-Instance installiert wird. -
InstallEC2RescueTool:Installiert das
EC2RescueTool im Instanz-Betriebssystem, mit demEC2RescueProtokolle erfasst werden.AWS-ConfigureAWSPackage -
RunEC2RescueTool:Führt das
EC2RescueTool im Instanzbetriebssystem aus, um alle benötigten Protokolle zu erfassen.EC2Rescueerfasst nur die erforderlichen Protokolle, um Speicherplatz zu sparen. -
BranchOnIfS3BucketProvided:Branches basieren auf Benutzereingaben von
LogUploadBucketName, um zu sehen, ob ein Bucket-Name für das Hochladen von Logs verfügbar ist. -
GetS3BucketPublicStatus:Ermittelt, ob ein Amazon S3-Bucket bereitgestellt wird, und wenn ja, bestätigt, dass der Amazon S3-Bucket nicht öffentlich ist und mit SSE konfiguriert ist.
-
UploadLogResult:Lädt die Protokolle in den bereitgestellten Amazon S3-Bucket hoch. Wenn die PowerShell Version 5.0 oder höher ist, werden die Protokolle in ein ZIP-Archiv komprimiert und hochgeladen. Es löscht die ZIP-Datei, nachdem der Upload abgeschlossen ist. Wenn die PowerShell Version unter 5.0 ist, werden die Dateien direkt in einen Ordner hochgeladen.
-
CleanUpLogsOnFailure:Bereinigt alle Protokolle, die durch den
CapturePerformanceLogsSchritt generiert wurden, wenn er fehlschlägt. DerCleanUpLogsOnFailureSchritt kann fehlschlagen oder es kommt zu einer Zeitüberschreitung, wenn der SSM Agent nicht ordnungsgemäß funktioniert oder das Windows-System nicht reagiert.
-
-
Wenn Sie fertig sind, finden Sie im Abschnitt Ausgaben die detaillierten Ergebnisse der Ausführung:
Ausführung, bei der die Zielinstanz alle erforderlichen Voraussetzungen erfüllt.
Ausführung, bei der sich die Zielinstanz auf einer Linux-Plattform befindet und die Ausführung fehlgeschlagen ist. Sie würden die Schritt-ID auswählen, um die Fehlerdetails anzuzeigen.
Die Fehlerdetails des Schritts
AssertInstanceIsWindows.
Referenzen
Systems Manager Automation