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.
Amazon ECS Linux-Containeragent
Der ECS Amazon-Agent ist ein Prozess, der auf jeder Container-Instance ausgeführt wird, die in Ihrem Cluster registriert ist. Es erleichtert die Kommunikation zwischen Ihren Container-Instances und AmazonECS.
Jede Version des Amazon ECS Container Agents unterstützt einen anderen Funktionsumfang und bietet Fehlerkorrekturen aus früheren Versionen. Wenn möglich, empfehlen wir immer, die neueste Version des Amazon ECS Container Agents zu verwenden. Die neueste Version für Ihren Container-Agenten finden Sie unter Den ECS Amazon-Container-Agenten aktualisieren.
Informationen darüber, welche Funktionen und Verbesserungen in den einzelnen Agent-Versionen enthalten sind, finden Sie unter https://github.com/aws/amazon-ecs-agent/releases
Wichtig
Die Mindestversion von Docker für zuverlässige Metriken ist die Docker-Version v20.10.13
und neuer, die in Amazon ECS -optimized AMI 20220607
and new enthalten ist.
Versionen von Amazon ECS Agent 1.20.0
und neuer unterstützen nicht mehr länger Docker-Versionen, die älter sind als. 1.9.0
Lebenszyklus
Wenn der ECS Amazon-Container-Agent eine EC2 Amazon-Instance in Ihrem Cluster registriert, meldet die EC2 Amazon-Instance ihren Status als ACTIVE
und ihren Agent-Verbindungsstatus alsTRUE
. Die Container-Instance kann Anfragen zur Ausführung von Aufgaben akzeptieren.
Wenn Sie eine Container-Instance anhalten (nicht beenden), lautet ihr Status weiterhin ACTIVE
, der Agent-Verbindungsstatus wird jedoch innerhalb von wenigen Minuten in FALSE
geändert. Alle Aufgaben, die gerade auf der Container-Instance ausgeführt wurden, werden gestoppt. Wenn Sie die Container-Instance erneut starten, stellt der Container-Agent erneut eine Verbindung zum ECS Amazon-Service her und Sie können erneut Aufgaben auf der Instance ausführen.
Wichtig
Wenn Sie eine Container-Instance beenden und starten oder diese Instance neu starten, registrieren einige ältere Versionen des ECS Amazon-Container-Agenten die Instance erneut, ohne die ursprüngliche Container-Instance-ID abzumelden. In diesem Fall ECS listet Amazon mehr Container-Instances in Ihrem Cluster auf, als Sie tatsächlich haben. (Wenn Sie eine doppelte Container-Instance IDs für dieselbe EC2 Amazon-Instance-ID haben, können Sie die Duplikate, die als ACTIVE
mit dem Agent-Verbindungsstatus aufgeführt sind, problemlos abmelden.) FALSE
Dieses Problem wurde in der aktuellen Version des Amazon ECS Container Agents behoben. Weitergehende Informationen zum Aktualisieren auf die aktuelle Version finden Sie unter Den ECS Amazon-Container-Agenten aktualisieren.
Wenn Sie den Status einer Container-Instance in DRAINING
ändern, werden keine neuen Aufgaben in die Container-Instance gestellt. Wenn möglich, werden alle auf der Container-Instance ausgeführten Serviceaufgaben entfernt, damit Sie Systemaktualisierungen vornehmen können. Weitere Informationen finden Sie unter Entleeren von ECS Amazon-Container-Instances.
Wenn Sie die Registrierung einer Container-Instance aufheben oder eine Container-Instance beenden, wird ihr Status umgehend in INACTIVE
geändert und die Container-Instance ist nicht mehr in der Auflistung Ihrer Container-Instances aufgeführt. Allerdings ist nach der Beendigung noch für eine Stunde eine Beschreibung der Container-Instance möglich. Nach einer Stunde ist die Instance-Beschreibung nicht mehr verfügbar.
Wichtig
Sie können die Instances manuell ausgleichen oder einen Auto-Scaling-Gruppenlebenszyklus-Hook erstellen, um den Instance-Status auf DRAINING
zu setzen. Weitere Informationen zu EC2Auto Scaling Scaling-Lifecycle-Hooks finden Sie unter Amazon Auto Scaling Scaling-Lifecycle-Hooks.
ECSAmazon-optimiert AMI
Die Linux-Varianten von Amazon ECS -Optimized AMI verwenden Amazon Linux 2 AMI als Basis. Der Amazon Linux AMI 2-Quellname für jede Variante kann abgerufen werden, indem Sie den Systems Manager Parameter Store API abfragen. Weitere Informationen finden Sie unter Abrufen von ECS Amazon-optimierten Linux-Metadaten AMI. Wenn Sie unsere Container-Instances vom neuesten, für Amazon ECS optimierten Amazon Linux 2 aus starten, erhalten AMI Sie die aktuelle Container-Agent-Version. Informationen zum Starten einer Container-Instance mit dem neuesten für Amazon ECS optimierten Amazon Linux 2 AMI finden Sie unterStarten einer Amazon ECS Linux-Container-Instance.
Zusätzliche Informationen
Auf den folgenden Seiten finden Sie weitere Informationen zu den Änderungen:
-
Der Quellcode für die
ecs-init
-Anwendung sowie die Skripts und die Konfiguration für das Paketieren des Agenten sind jetzt Teil des Agent-Repositorys. Ältere Versionen vonecs-init
und deren Verpackung finden Sie im Amazon ecs-initChangelog unter GitHub -
Versionshinweise für die Docker-Engine
in der Docker-Dokumentation -
NVIDIADie Treiberdokumentation finden
Sie in der Dokumentation NVIDIA
Konfigurationsparameter für das ECS Amazon-Container-Agent-Protokoll
Der ECS Amazon-Container-Agent speichert Protokolle auf Ihren Container-Instances.
Bei Container-Agent-Version 1.36.0 und höher befinden sich die Protokolle standardmäßig unter /var/log/ecs/ecs-agent.log
auf Linux-Instances und unter C:\ProgramData\Amazon\ECS\log\ecs-agent.log
auf Windows-Instances.
Bei Container-Agent-Version 1.35.0 und früher befinden sich die Protokolle standardmäßig unter /var/log/ecs/ecs-agent.log.
auf Linux-Instances und unter timestamp
C:\ProgramData\Amazon\ECS\log\ecs-agent.log.
auf Windows-Instances.timestamp
Standardmäßig werden die Agent-Protokolle stündlich rotiert, wobei maximal 24 Protokolle gespeichert werden.
Im Folgenden finden Sie die Konfigurationsvariablen des Container-Agenten, die verwendet werden können, um das standardmäßige Agenten-Protokollierungsverhalten zu ändern. Weitere Informationen finden Sie unter Konfiguration des ECS Amazon-Container-Agenten.
ECS_LOGFILE
-
Beispielwerte:
/ecs-agent.log
Standardwert unter Linux: Null
Standardwert unter Windows: Null
Bestimmt den Speicherort, an dem Agenten-Protokolle geschrieben werden sollen. Wenn Sie den Agenten über ausführen
ecs-init
, was die Standardmethode bei der Verwendung von Amazon ECS -optimized ist AMI/log
, ist der Pfad innerhalb des Containers und hängtecs-init
diesen/var/log/ecs/
auf dem Host aus. ECS_LOGLEVEL
-
Beispielwerte:
crit
,error
,warn
,info
,debug
Standardwert unter Linux:
info
Standardwert unter Windows:
info
Die zu protokollierende Detailebene.
ECS_LOGLEVEL_ON_INSTANCE
-
Beispielwerte:
none
,crit
,error
,warn
,info
,debug
Standardwert unter Linux:
none
, wennECS_LOG_DRIVER
explizit auf einen nicht leeren Wert gesetzt wird, andernfalls der gleiche Wert wieECS_LOGLEVEL
Standardwert unter Windows:
none
, wennECS_LOG_DRIVER
explizit auf einen nicht leeren Wert gesetzt wird, andernfalls der gleiche Wert wieECS_LOGLEVEL
Kann verwendet werden, um
ECS_LOGLEVEL
zu überschreiben und um eine Detailebene festzulegen, die in der On-Instance-Protokolldatei protokolliert werden soll, unabhängig von der Ebene, die im Protokollierungstreiber protokolliert wird. Wenn ein Logging-Treiber explizit festgelegt ist, sind die On-Instance-Logs standardmäßig deaktiviert. Sie können mit dieser Variablen wieder aktiviert werden. ECS_LOG_DRIVER
-
Beispielwerte:
awslogs
,fluentd
,gelf
,json-file
,journald
,logentries
syslog
,splunk
Standardwert unter Linux:
json-file
Der Standardwert unter Windows: Nicht zutreffend
Ermittelt den Protokollierungstreiber, den der Agent-Container verwendet.
ECS_LOG_ROLLOVER_TYPE
-
Beispielwerte:
size
,hourly
Standardwert unter Linux:
hourly
Standardwert unter Windows:
hourly
Legt fest, ob die Protokolldatei des Container-Agenten stündlich oder auf der Grundlage der Größe rotiert wird. Standardmäßig wird die Agent-Protokolldatei stündlich rotiert.
ECS_LOG_OUTPUT_FORMAT
-
Beispielwerte:
logfmt
,json
Standardwert unter Linux:
logfmt
Standardwert unter Windows:
logfmt
Bestimmt das Protokollausgabeformat. Wenn das
json
Format verwendet wird, ist jede Zeile im Protokoll eine strukturierte JSON Map. ECS_LOG_MAX_FILE_SIZE_MB
-
Beispielwerte:
10
Standardwert unter Linux:
10
Standardwert unter Windows:
10
Wenn die
ECS_LOG_ROLLOVER_TYPE
Variable auf gesetzt istsize
, bestimmt diese Variable die maximale Größe (in MB) der Protokolldatei, bevor sie rotiert wird. Wenn der Rollover-Typ aufhourly
festgelegt ist, wird diese Variable ignoriert. ECS_LOG_MAX_ROLL_COUNT
-
Beispielwerte:
24
Standardwert unter Linux:
24
Standardwert unter Windows:
24
Bestimmt die Anzahl der rotierten Protokolldateien, die beibehalten werden sollen. Ältere Protokolldateien werden gelöscht, nachdem diese Grenze erreicht ist.
Für Container-Agent Version 1.36.0 und höher folgt eine Beispielprotokolldatei für die Verwendung des logfmt
-Formats.
level=info time=2019-12-12T23:43:29Z msg="Loading configuration" module=agent.go
level=info time=2019-12-12T23:43:29Z msg="Image excluded from cleanup: amazon/amazon-ecs-agent:latest" module=parse.go
level=info time=2019-12-12T23:43:29Z msg="Image excluded from cleanup: amazon/amazon-ecs-pause:0.1.0" module=parse.go
level=info time=2019-12-12T23:43:29Z msg="Amazon ECS agent Version: 1.36.0, Commit: ca640387" module=agent.go
level=info time=2019-12-12T23:43:29Z msg="Creating root ecs cgroup: /ecs" module=init_linux.go
level=info time=2019-12-12T23:43:29Z msg="Creating cgroup /ecs" module=cgroup_controller_linux.go
level=info time=2019-12-12T23:43:29Z msg="Loading state!" module=statemanager.go
level=info time=2019-12-12T23:43:29Z msg="Event stream ContainerChange start listening..." module=eventstream.go
level=info time=2019-12-12T23:43:29Z msg="Restored cluster 'auto-robc'" module=agent.go
level=info time=2019-12-12T23:43:29Z msg="Restored from checkpoint file. I am running as 'arn:aws:ecs:us-west-2:0123456789:container-instance/auto-robc/3330a8a91d15464ea30662d5840164cd' in cluster 'auto-robc'" module=agent.go
Im Folgenden finden Sie ein Beispiel für eine Protokolldatei, wenn das JSON Format verwendet wird.
{"time": "2019-11-07T22:52:02Z", "level": "info", "msg": "Starting Amazon Elastic Container Service Agent", "module": "engine.go"}
Für Container-Agent-Versionen 1.35.0 und früher gilt das folgende Format der Protokolldatei.
2016-08-15T15:54:41Z [INFO] Starting Agent: Amazon ECS Agent - v1.12.0 (895f3c1)
2016-08-15T15:54:41Z [INFO] Loading configuration
2016-08-15T15:54:41Z [WARN] Invalid value for task cleanup duration, will be overridden to 3h0m0s, parsed value 0, minimum threshold 1m0s
2016-08-15T15:54:41Z [INFO] Checkpointing is enabled. Attempting to load state
2016-08-15T15:54:41Z [INFO] Loading state! module="statemanager"
2016-08-15T15:54:41Z [INFO] Detected Docker versions [1.17 1.18 1.19 1.20 1.21 1.22]
2016-08-15T15:54:41Z [INFO] Registering Instance with ECS
2016-08-15T15:54:41Z [INFO] Registered! module="api client"