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 von benutzerdefinierten Amazon-CloudWatch-Metriken für eine Umgebung
Sie können die von den erweiterten AWS Elastic Beanstalk Zustandsberichten gesammelten Daten in Amazon-CloudWatch als benutzerdefinierte Metriken veröffentlichen. Durch das Veröffentlichen von Metriken in CloudWatch können Sie Änderungen in der Anwendungsleistung über den Zeitverlauf überwachen und potenzielle Probleme identifizieren, indem Sie verfolgen, wie die Ressourcennutzung und Anfragelatenz mit Last skaliert wird.
Durch das Veröffentlichen von Metriken in CloudWatch sind sie auch für die Verwendung mit Überwachungsdiagrammen und Alarmen verfügbar. Eine kostenlose Metrik, EnvironmentHealth, ist automatisch aktiviert, wenn Sie erweiterte Zustandsberichte verwenden. Für benutzerdefinierte Metriken außer EnvironmentHealth fallen Standard-CloudWatch-Gebühren
Zum Veröffentlichen von benutzerdefinierten CloudWatch-Metriken für eine Umgebung müssen Sie zunächst die erweiterten Integritätsberichte zur Umgebung aktivieren. Detaillierte Anweisungen finden Sie unter Aktivieren der erweiterten Elastic-Beanstalk-Integritätsberichte.
Themen
Metriken der erweiterten Zustandsberichte
Wenn Sie erweiterte Integritätsberichte in Ihrer Umgebung aktivieren, veröffentlicht das entsprechende System automatisch eine benutzerdefinierte CloudWatch-Metrik, EnvironmentHealth. Um zusätzliche Metriken in CloudWatch zu veröffentlichen, konfigurieren Sie die Umgebung unter Verwendung der Elastic-Beanstalk-Konsole, der EB-CLI oder von .ebextensions mit den betreffenden Metriken.
Sie können die folgenden erweiterten Integritätsmetriken aus Ihrer Umgebung an CloudWatch veröffentlichen.
Verfügbare Metriken – alle Plattformen
EnvironmentHealth
-
Nur Umgebung. Dies ist die einzige CloudWatch-Metrik, die das System für erweiterte Integritätsberichte veröffentlicht, es sei denn, Sie konfigurieren zusätzliche Metriken. Der Umgebungszustand wird durch einen von sieben Status dargestellt. In der CloudWatch-Konsole sind diese Status 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 sind diese Status 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 eine Prozentangabe des Zeitraums an, den die CPU in der letzten Minute im jeweiligen Status gewesen ist.
LoadAverage1min
-
Nur Instance. Die durchschnittliche CPU-Auslastung der Instance innerhalb der letzten Minute.
RootFilesystemUtil
-
Nur Instance. Gibt den prozentualen Anteil des verwendeten Speicherplatzes an.
Verfügbaren Metriken – Windows
CPUIdle
CPUUser
CPUPriveleged
-
Nur Instance. Gibt eine Prozentangabe des Zeitraums an, den die CPU in der letzten Minute im jeweiligen Status gewesen ist.
Konfigurieren von CloudWatch-Metriken mit der Elastic-Beanstalk-Konsole
Sie können die Elastic-Beanstalk-Konsole verwenden, um die Umgebung so zu konfigurieren, dass Metriken der erweiterten Integritätsberichte in CloudWatch veröffentlicht und für die Verwendung mit Überwachungsdiagrammen und Alarmen verfügbar sind.
So konfigurieren Sie benutzerdefinierte CloudWatch-Metriken in der Elastic-Beanstalk-Konsole
Öffnen Sie die Elastic-Beanstalk-Konsole
und wählen Sie in der Liste Regions (Regionen) Ihre AWS-Region aus. -
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 (Integritätsberichte) die Instance- und Umgebungsmetriken aus, die Sie in CloudWatch veröffentlichen möchten. 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.
Durch das Aktivieren von benutzerdefinierten CloudWatch-Metriken werden sie zur Metrikliste auf der Seite Monitoring (Überwachung) hinzugefügt.
Konfigurieren von benutzerdefinierten CloudWatch-Metriken mit der EB-CLI
Sie können mit der EB-CLI benutzerdefinierte Metriken konfigurieren, indem Sie die Konfiguration Ihrer Umgebung lokal speichern, einen Eintrag hinzufügen, der die Metriken für die Veröffentlichung definiert, und die Konfiguration dann in Elastic Beanstalk hochladen. Sie können die gespeicherte Konfiguration zu einer Umgebung während oder nach der Erstellung hinzufügen.
So konfigurieren Sie benutzerdefinierte CloudWatch-Metriken mit der EB-CLI und gespeicherten Konfigurationen
-
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
>aws:elasticbeanstalk:healthreporting:system:
einenConfigDocument
-Schlüssel hinzu, um die einzelnen 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 eine Konfigurationsdatei mit dem angegebenen Namen in beiden Speicherorten vorhanden ist, verwendet die EB-CLI die lokale Datei.
Bereitstellen von benutzerdefinierten Metrikkonfigurations-Dokumenten
Das Konfigurationsdokument (config) für benutzerdefinierte Amazon-CloudWatch-Metriken ist ein JSON-Dokument, das die Metriken zur Veröffentlichung auf den Umgebungs- und Instance-Ebenen 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 die AWS CLI müssen Sie das Dokument als ein Wert für den Value
-Schlüssel in ein Optionseinstellungsargument übergeben, 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 YAML können Sie das JSON-Dokument unverändert bereitstellen.
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
}