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.
Veröffentlichen CloudWatch benutzerdefinierter Amazon-Metriken für eine Umgebung
Sie können die im Rahmen der AWS Elastic Beanstalk erweiterten Gesundheitsberichterstattung gesammelten Daten CloudWatch als benutzerdefinierte Messwerte an Amazon veröffentlichen. Durch die Veröffentlichung von Metriken CloudWatch können Sie Veränderungen der Anwendungsleistung im Laufe der Zeit überwachen und potenzielle Probleme identifizieren, indem Sie verfolgen, wie die Ressourcennutzung und die Latenz von Anfragen mit der Auslastung skalieren.
Indem Sie Metriken veröffentlichen CloudWatch, stellen Sie sie auch für die Verwendung in Überwachungsdiagrammen und Alarmen zur Verfügung. Eine kostenlose Metrik, EnvironmentHealth, wird automatisch aktiviert, wenn Sie die erweiterte Statusberichterstattung verwenden. Für andere benutzerdefinierte Messwerte EnvironmentHealthfallen keine CloudWatch Standardgebühren
Um CloudWatch benutzerdefinierte Metriken für eine Umgebung zu veröffentlichen, müssen Sie zunächst die erweiterte Zustandsberichterstattung für die Umgebung aktivieren. Detaillierte Anweisungen finden Sie unter Aktivieren der erweiterten Elastic-Beanstalk-Integritätsberichte.
Themen
Metriken der erweiterten Zustandsberichte
Wenn Sie die erweiterte Zustandsberichterstattung in Ihrer Umgebung aktivieren, veröffentlicht das erweiterte Zustandsberichtssystem automatisch eine CloudWatch benutzerdefinierte Metrik, EnvironmentHealth. Um zusätzliche Metriken zu veröffentlichen CloudWatch, konfigurieren Sie Ihre Umgebung mit diesen Metriken, indem Sie die Elastic Beanstalk Beanstalk-KonsoleCLI, EB oder die Erweiterungen.ebex verwenden.
Sie können die folgenden erweiterten Integritätsmetriken aus Ihrer Umgebung in veröffentlichen. CloudWatch
Verfügbare Metriken – alle Plattformen
EnvironmentHealth
-
Nur Umgebung. Dies ist die einzige CloudWatch Metrik, die das erweiterte Zustandsberichtssystem veröffentlicht, sofern Sie keine zusätzlichen Messwerte konfigurieren. Der Umgebungszustand wird durch einen von sieben Status dargestellt. In der CloudWatch Konsole werden diese Status den folgenden Werten zugeordnet:
-
0 – OK
-
1 – Info
-
5 – Unknown
-
10 – No data
-
15 – Warning
-
20 – Degraded
-
25 – Severe
-
InstancesSevere
InstancesDegraded
InstancesWarning
InstancesInfo
InstancesOk
InstancesPending
InstancesUnknown
InstancesNoData
-
Nur Umgebung. Diese Metriken geben die Anzahl der Instances in der Umgebung mit dem jeweiligen Zustand an.
InstancesNoData
gibt die Anzahl der Instances an, für die keine Daten empfangen wurden. ApplicationRequestsTotal
ApplicationRequests5xx
ApplicationRequests4xx
ApplicationRequests3xx
ApplicationRequests2xx
-
Instance und Umgebung. Gibt die Gesamtanzahl der Anforderungen an, die von der Instance oder Umgebung abgeschlossen wurden, und die Anzahl der Anfragen, die mit jeder Statuscodekategorie abgeschlossen wurde.
ApplicationLatencyP10
ApplicationLatencyP50
ApplicationLatencyP75
ApplicationLatencyP85
ApplicationLatencyP90
ApplicationLatencyP95
ApplicationLatencyP99
ApplicationLatencyP99.9
-
Instance und Umgebung. Gibt die durchschnittliche Zeit in Sekunden an, die es dauert, bis die schnellsten x Prozent der Anfragen abgeschlossen wurden.
InstanceHealth
-
Nur Instance. Gibt den aktuellen Zustand der Instance an. Der Instance-Zustand wird durch einen von sieben Status dargestellt. In der CloudWatch Konsole werden diese Status den folgenden Werten zugeordnet:
-
0 – OK
-
1 – Info
-
5 – Unknown
-
10 – No data
-
15 – Warning
-
20 – Degraded
-
25 – Severe
-
Verfügbaren Metriken – Linux
CPUIrq
CPUIdle
CPUUser
CPUSystem
CPUSoftirq
CPUIowait
CPUNice
-
Nur Instance. Gibt den Prozentsatz der Zeit an, die der in der letzten Minute in jedem Bundesstaat verbracht CPU hat.
LoadAverage1min
-
Nur Instance. Die durchschnittliche CPU Auslastung der Instanz in der letzten Minute.
RootFilesystemUtil
-
Nur Instance. Gibt den prozentualen Anteil des verwendeten Speicherplatzes an.
Verfügbaren Metriken – Windows
CPUIdle
CPUUser
CPUPrivileged
-
Nur Instance. Gibt den Prozentsatz der Zeit an, die die in der letzten Minute in jedem Status verbracht CPU hat.
Konfiguration von CloudWatch Metriken mit der Elastic Beanstalk Beanstalk-Konsole
Sie können die Elastic Beanstalk Beanstalk-Konsole verwenden, um Ihre Umgebung so zu konfigurieren, dass erweiterte Gesundheitsberichtsmetriken veröffentlicht CloudWatch und für die Verwendung mit Überwachungsdiagrammen und Alarmen verfügbar gemacht werden.
So konfigurieren Sie CloudWatch benutzerdefinierte Metriken in der Elastic Beanstalk Beanstalk-Konsole
Öffnen Sie die Elastic Beanstalk Beanstalk-Konsole
und wählen Sie in der Liste Regionen Ihre aus. AWS-Region -
Wählen Sie im Navigationsbereich Environments (Umgebungen) aus und wählen Sie dann in der Liste den Namen Ihrer Umgebung aus.
Anmerkung
Wenn Sie viele Umgebungen haben, verwenden Sie die Suchleiste, um die Umgebungsliste zu filtern.
Wählen Sie im Navigationsbereich Configuration (Konfiguration) aus.
-
Wählen Sie in der Konfigurationskategorie Monitoring (Überwachung) die Option Edit (Bearbeiten).
-
Wählen Sie unter Health Reporting die Instanz- und Umgebungsmetriken aus, in denen Sie veröffentlichen möchten CloudWatch. Zur Auswahl mehrerer Metriken drücken Sie die Strg-Taste während der Auswahl.
-
Wählen Sie unten auf der Seite die Option Apply (Anwenden) aus, um die Änderungen zu speichern.
Wenn Sie CloudWatch benutzerdefinierte Metriken aktivieren, werden sie der Liste der auf der Monitoring-Seite verfügbaren Metriken hinzugefügt.
Konfiguration CloudWatch benutzerdefinierter Metriken mit dem EB CLI
Sie können die EB verwendenCLI, um benutzerdefinierte Metriken zu konfigurieren, indem Sie die Konfiguration Ihrer Umgebung lokal speichern, einen Eintrag hinzufügen, der die zu veröffentlichenden Metriken definiert, und dann die Konfiguration auf Elastic Beanstalk hochladen. Sie können die gespeicherte Konfiguration zu einer Umgebung während oder nach der Erstellung hinzufügen.
Um CloudWatch benutzerdefinierte Metriken mit der EB CLI und gespeicherten Konfigurationen zu konfigurieren
-
Initialisieren Sie Ihren Projektordner mit eb init.
-
Erstellen Sie eine Umgebung, indem Sie den eb create-Befehl ausführen.
-
Speichern Sie eine Konfigurationsvorlage lokal, indem Sie den eb config save-Befehl ausführen. Im folgenden Beispiel wird die
--cfg
-Option verwendet, um den Namen der Konfiguration anzugeben.$
eb config save --cfg
Configuration saved at: ~/project/.elasticbeanstalk/saved_configs/01-base-state.cfg.yml01-base-state
-
Öffnen Sie die gespeicherte Konfigurationsdatei in einem Texteditor.
-
Fügen Sie unter
OptionSettings
> einenConfigDocument
Schlüssel hinzuaws:elasticbeanstalk:healthreporting:system:
, um jede der gewünschten CloudWatch Metriken zu aktivieren. Wenn beispielsweise der folgendeConfigDocument
ApplicationRequests5xx
- undApplicationRequests4xx
-Metriken auf Umgebungsebene undApplicationRequestsTotal
-Metriken auf Instance-Ebene veröffentlicht.OptionSettings: ... aws:elasticbeanstalk:healthreporting:system:
ConfigDocument: CloudWatchMetrics: Environment: ApplicationRequests5xx: 60 ApplicationRequests4xx: 60 Instance: ApplicationRequestsTotal: 60 Version: 1
SystemType: enhanced ...Im Beispiel gibt 60 die Anzahl der Sekunden zwischen Messungen an. Derzeit ist dies der einzige unterstützte Wert.
Anmerkung
Sie können
CloudWatchMetrics
undRules
in derselbenConfigDocument
-Optionseinstellung kombinieren.Rules
sind in Konfigurieren von Regeln für den erweiterten Zustand einer Umgebung beschrieben.Wenn Sie zuvor
Rules
verwendet haben, um Regeln für den erweiterten Zustand zu konfigurieren, hat die Konfigurationsdatei, die Sie mit dem Befehl eb config save abrufen, bereits einenConfigDocument
-Schlüssel mit einemRules
-Abschnitt. Löschen Sie ihn nicht – fügen Sie einenCloudWatchMetrics
-Abschnitt in denselbenConfigDocument
-Optionswert ein. -
Speichern Sie die Konfigurationsdatei und schließen Sie den Text-Editor. Bei diesem Beispiel wird die aktualisierte Konfigurationsdatei mit einem Namen (
02-cloudwatch-enabled.cfg.yml
) gespeichert, der sich von dem der heruntergeladenen Konfigurationsdatei unterscheidet. Dadurch wird eine separat gespeicherte Konfiguration erstellt, wenn die Datei hochgeladen wird. Sie können demselben Namen wie die heruntergeladene Datei verwenden, um die vorhandene Konfiguration zu überschreiben, ohne dass Sie eine neue erstellen müssen. -
Verwenden Sie zum Hochladen der aktualisierten Konfigurationsdatei in Elastic Beanstalk den Befehl eb config put.
$
eb config put
02-cloudwatch-enabled
Schließen Sie die Dateierweiterung bei Verwendung der Befehle eb config
get
undput
mit gespeicherten Konfigurationen nicht mit ein. -
Wenden Sie die gespeicherte Konfiguration auf Ihre laufende Umgebung an.
$
eb config --cfg
02-cloudwatch-enabled
Die
--cfg
-Option gibt eine benannte Konfigurationsdatei an, die auf die Umgebung angewendet wird. Sie können die Konfigurationsdatei lokal oder in Elastic Beanstalk speichern. Wenn an beiden Speicherorten eine Konfigurationsdatei mit dem angegebenen Namen vorhanden ist, CLI verwendet der EB die lokale Datei.
Bereitstellen von benutzerdefinierten Metrikkonfigurations-Dokumenten
Das Konfigurationsdokument (Config) für CloudWatch benutzerdefinierte Amazon-Metriken ist ein JSON Dokument, das die zu veröffentlichenden Metriken auf Umgebungs- und Instanzebene auflistet. Das folgende Beispiel zeigt ein Konfigurationsdokument, das alle verfügbaren benutzerdefinierten Metriken aktiviert.
{
"CloudWatchMetrics": {
"Environment": {
"ApplicationLatencyP99.9": 60,
"InstancesSevere": 60,
"ApplicationLatencyP90": 60,
"ApplicationLatencyP99": 60,
"ApplicationLatencyP95": 60,
"InstancesUnknown": 60,
"ApplicationLatencyP85": 60,
"InstancesInfo": 60,
"ApplicationRequests2xx": 60,
"InstancesDegraded": 60,
"InstancesWarning": 60,
"ApplicationLatencyP50": 60,
"ApplicationRequestsTotal": 60,
"InstancesNoData": 60,
"InstancesPending": 60,
"ApplicationLatencyP10": 60,
"ApplicationRequests5xx": 60,
"ApplicationLatencyP75": 60,
"InstancesOk": 60,
"ApplicationRequests3xx": 60,
"ApplicationRequests4xx": 60
},
"Instance": {
"ApplicationLatencyP99.9": 60,
"ApplicationLatencyP90": 60,
"ApplicationLatencyP99": 60,
"ApplicationLatencyP95": 60,
"ApplicationLatencyP85": 60,
"CPUUser": 60,
"ApplicationRequests2xx": 60,
"CPUIdle": 60,
"ApplicationLatencyP50": 60,
"ApplicationRequestsTotal": 60,
"RootFilesystemUtil": 60,
"LoadAverage1min": 60,
"CPUIrq": 60,
"CPUNice": 60,
"CPUIowait": 60,
"ApplicationLatencyP10": 60,
"LoadAverage5min": 60,
"ApplicationRequests5xx": 60,
"ApplicationLatencyP75": 60,
"CPUSystem": 60,
"ApplicationRequests3xx": 60,
"ApplicationRequests4xx": 60,
"InstanceHealth": 60,
"CPUSoftirq": 60
}
},
"Version": 1
}
Für das AWS CLIübergeben Sie das Dokument als Wert für den Value
Schlüssel in einem Optionseinstellungsargument, das selbst ein JSON Objekt ist. In diesem Fall müssen Anführungszeichen im eingebetteten Dokument durch Escape-Zeichen geschützt werden.
$ aws elasticbeanstalk validate-configuration-settings --application-name my-app --environment-name my-env --option-settings '[
{
"Namespace": "aws:elasticbeanstalk:healthreporting:system",
"OptionName": "ConfigDocument",
"Value": "{\"CloudWatchMetrics\": {\"Environment\": {\"ApplicationLatencyP99.9\": 60,\"InstancesSevere\": 60,\"ApplicationLatencyP90\": 60,\"ApplicationLatencyP99\": 60,\"ApplicationLatencyP95\": 60,\"InstancesUnknown\": 60,\"ApplicationLatencyP85\": 60,\"InstancesInfo\": 60,\"ApplicationRequests2xx\": 60,\"InstancesDegraded\": 60,\"InstancesWarning\": 60,\"ApplicationLatencyP50\": 60,\"ApplicationRequestsTotal\": 60,\"InstancesNoData\": 60,\"InstancesPending\": 60,\"ApplicationLatencyP10\": 60,\"ApplicationRequests5xx\": 60,\"ApplicationLatencyP75\": 60,\"InstancesOk\": 60,\"ApplicationRequests3xx\": 60,\"ApplicationRequests4xx\": 60},\"Instance\": {\"ApplicationLatencyP99.9\": 60,\"ApplicationLatencyP90\": 60,\"ApplicationLatencyP99\": 60,\"ApplicationLatencyP95\": 60,\"ApplicationLatencyP85\": 60,\"CPUUser\": 60,\"ApplicationRequests2xx\": 60,\"CPUIdle\": 60,\"ApplicationLatencyP50\": 60,\"ApplicationRequestsTotal\": 60,\"RootFilesystemUtil\": 60,\"LoadAverage1min\": 60,\"CPUIrq\": 60,\"CPUNice\": 60,\"CPUIowait\": 60,\"ApplicationLatencyP10\": 60,\"LoadAverage5min\": 60,\"ApplicationRequests5xx\": 60,\"ApplicationLatencyP75\": 60,\"CPUSystem\": 60,\"ApplicationRequests3xx\": 60,\"ApplicationRequests4xx\": 60,\"InstanceHealth\": 60,\"CPUSoftirq\": 60}},\"Version\": 1}"
}
]'
Für eine .ebextensions
Konfigurationsdatei in können Sie das JSON Dokument so bereitstellenYAML, wie es ist.
option_settings:
- namespace: aws:elasticbeanstalk:healthreporting:system
option_name: ConfigDocument
value: {
"CloudWatchMetrics": {
"Environment": {
"ApplicationLatencyP99.9": 60,
"InstancesSevere": 60,
"ApplicationLatencyP90": 60,
"ApplicationLatencyP99": 60,
"ApplicationLatencyP95": 60,
"InstancesUnknown": 60,
"ApplicationLatencyP85": 60,
"InstancesInfo": 60,
"ApplicationRequests2xx": 60,
"InstancesDegraded": 60,
"InstancesWarning": 60,
"ApplicationLatencyP50": 60,
"ApplicationRequestsTotal": 60,
"InstancesNoData": 60,
"InstancesPending": 60,
"ApplicationLatencyP10": 60,
"ApplicationRequests5xx": 60,
"ApplicationLatencyP75": 60,
"InstancesOk": 60,
"ApplicationRequests3xx": 60,
"ApplicationRequests4xx": 60
},
"Instance": {
"ApplicationLatencyP99.9": 60,
"ApplicationLatencyP90": 60,
"ApplicationLatencyP99": 60,
"ApplicationLatencyP95": 60,
"ApplicationLatencyP85": 60,
"CPUUser": 60,
"ApplicationRequests2xx": 60,
"CPUIdle": 60,
"ApplicationLatencyP50": 60,
"ApplicationRequestsTotal": 60,
"RootFilesystemUtil": 60,
"LoadAverage1min": 60,
"CPUIrq": 60,
"CPUNice": 60,
"CPUIowait": 60,
"ApplicationLatencyP10": 60,
"LoadAverage5min": 60,
"ApplicationRequests5xx": 60,
"ApplicationLatencyP75": 60,
"CPUSystem": 60,
"ApplicationRequests3xx": 60,
"ApplicationRequests4xx": 60,
"InstanceHealth": 60,
"CPUSoftirq": 60
}
},
"Version": 1
}