

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.

# Problembehebung einer beeinträchtigten Amazon EC2 EC2-Linux-Instance mithilfe von Rescue EC2
<a name="Linux-Server-EC2Rescue"></a>

*EC2Rescue für Linux ist ein Open-Source-Tool easy-to-use, das auf einer Amazon EC2 EC2-Linux-Instance ausgeführt werden kann, um mithilfe seiner Bibliothek mit über 100 Modulen häufig auftretende Probleme zu diagnostizieren, zu beheben und zu beheben.* Module sind YAML-Dateien, die entweder ein BASH- oder ein Python-Skript und die erforderlichen Metadaten enthalten.

Einige allgemeine Anwendungsfälle für Rescue for EC2 Linux-Instances umfassen:
+ Sammeln von Syslog- und Paketmanager-Protokollen
+ Erfassung von Daten zur Ressourcennutzung
+ Diagnose und Behebung bekannter problematischer Kernel-Parameter und häufiger OpenSSH-Probleme

**Anmerkung**  
Das `AWSSupport-TroubleshootSSH` AWS Systems Manager Automation-Runbook installiert EC2 Rescue für Linux und verwendet dann das Tool, um häufig auftretende Probleme zu überprüfen oder zu beheben, die eine SSH-Verbindung zu einer Linux-Instance verhindern. Weitere Informationen finden Sie unter [AWSSupport-TroubleshootSSH](https://docs.aws.amazon.com/systems-manager-automation-runbooks/latest/userguide/automation-awssupport-troubleshootssh.html).

Wenn Sie eine Windows-Instance verwenden, siehe [Problembehebung einer beeinträchtigten Amazon EC2 EC2-Windows-Instance mithilfe von Rescue EC2](Windows-Server-EC2Rescue.md).

**Topics**
+ [Installieren Sie Rescue EC2](ec2rl_install.md)
+ [Führen Sie EC2 Rescue-Befehle aus](ec2rl_working.md)
+ [Entwickeln Sie EC2 Rescue-Module](ec2rl_moduledev.md)

# EC2Rescue auf einer Amazon-EC2-Linux-Instance installieren
<a name="ec2rl_install"></a>

Das Tool EC2Rescue für Linux kann in einer Amazon EC2-Linux-Instance installiert werden, die die folgenden Voraussetzungen erfüllt.

**Voraussetzungen**
+ Unterstützte Betriebssysteme:
  + Amazon Linux 2
  + Amazon Linux 2016.09\$1
  + SUSE Linux Enterprise Server 12\$1
  + RHEL 7\$1
  + Ubuntu 16.04\$1
+ Software-Anforderungen:
  + Python 2.7.9\$1 oder 3.2\$1

## Installieren Sie EC2 Rescue
<a name="ec2rl-install"></a>

Das `AWSSupport-TroubleshootSSH` Runbook installiert EC2 Rescue für Linux und verwendet dann das Tool, um häufig auftretende Probleme zu überprüfen oder zu beheben, die eine Remoteverbindung zu einem Linux-Computer über SSH verhindern. Weitere Informationen und zum Ausführen dieser Automatisierung finden Sie unter [Support-Support-TroubleshootSSH](https://docs.aws.amazon.com/systems-manager-automation-runbooks/latest/userguide/automation-awssupport-troubleshootssh.html) .

Falls Ihr System die erforderliche Python-Version besitzt, können Sie den Standard-Build installieren. Andernfalls können Sie den Bundle-Build installieren, der eine minimale Kopie von Python enthält.

**Installieren des Standard-Builds**

1. Laden Sie das [EC2Rescue for Linux-Tool von einer funktionierenden Linux-Instanz herunter](https://s3.amazonaws.com/ec2rescuelinux/ec2rl.tgz):

   ```
   curl -O https://s3.amazonaws.com/ec2rescuelinux/ec2rl.tgz
   ```

1. (*Optional*) Überprüfen Sie die Signatur der EC2 Rescue for Linux-Installationsdatei. Weitere Informationen finden Sie unter [(Optional) Überprüfen Sie die Signatur von EC2 Rescue for Linux](#ec2rl_verify).

1. Laden Sie die sha256-Hash-Datei herunter:

   ```
   curl -O https://s3.amazonaws.com/ec2rescuelinux/ec2rl.tgz.sha256
   ```

1. Überprüfen Sie die Integrität des Tarballs:

   ```
   sha256sum -c ec2rl.tgz.sha256
   ```

1. Extrahieren Sie den Tarball:

   ```
   tar -xzvf ec2rl.tgz
   ```

1. Überprüfen Sie die Installation, indem Sie die Hilfedatei aufrufen:

   ```
   cd ec2rl-<version_number>
   ./ec2rl help
   ```

**Installieren des Bundle-Builds**  
Einen Link zum Download und eine Liste der Einschränkungen finden Sie unter [EC2Rescue for Linux](https://github.com/awslabs/aws-ec2rescue-linux/blob/master/README.md) auf Github.

## (Optional) Überprüfen Sie die Signatur von EC2 Rescue for Linux
<a name="ec2rl_verify"></a>

Im Folgenden wird das Verfahren zur Überprüfung der Gültigkeit des EC2 Rescue for Linux-Pakets für Linux-basierte Betriebssysteme empfohlen.

Wenn Sie eine Anwendung aus dem Internet herunterladen, empfehlen wir Ihnen, die Identität des Software-Publishers zu authentifizieren und sicherzustellen, dass die Anwendung nach ihrer Veröffentlichung nicht verändert oder beschädigt wurde. Dies schützt Sie davor, eine Version der Anwendung zu installieren, die einen Virus oder einen anderen bösartigen Code enthält.

Wenn Sie nach Ausführung der Schritte in diesem Thema feststellen, dass die Software für EC2 Rescue for Linux verändert oder beschädigt ist, führen Sie die Installationsdatei nicht aus. Wenden Sie sich stattdessen an Amazon Web Services.

EC2Rescue for Linux-Dateien für Linux-basierte Betriebssysteme werden mit GnuPG signiert, einer Open-Source-Implementierung des Pretty Good Privacy (OpenPGP) -Standards für sichere digitale Signaturen. GnuPG (auch bekannt als GPG) ermöglicht Authentifizierung und Integritätsprüfung durch eine digitale Signatur. AWS veröffentlicht einen öffentlichen Schlüssel und Signaturen, mit denen Sie das heruntergeladene EC2 Rescue-Paket für Linux verifizieren können. [Weitere Informationen zu PGP und GnuPG (GPG) finden Sie unter https://www.gnupg.org/.](https://www.gnupg.org/)

Der erste Schritt besteht darin, eine Vertrauensstellung mit dem Software-Publisher zu schaffen. Laden Sie den öffentlichen Schlüssel des Software-Publisher herunter, überprüfen Sie, ob der Besitzer des öffentlichen Schlüssels derjenige ist, der er behauptet zu sein, und fügen Sie dann den öffentlichen Schlüssel zu Ihrem Schlüsselbund hinzu. Ihr Schlüsselbund ist eine Sammlung von bekannten öffentlichen Schlüsseln. Nachdem Sie die Echtheit des öffentlichen Schlüssels überprüft haben, können Sie ihn verwenden, um die Signatur der Anwendung zu überprüfen.

**Topics**
+ [Authentifizieren und Importieren des öffentlichen Schlüssels](#ec2rl_authenticate)
+ [Verifizieren der Signatur des Pakets](#ec2rl_verify_signature)

### Authentifizieren und Importieren des öffentlichen Schlüssels
<a name="ec2rl_authenticate"></a>

Der nächste Schritt in diesem Prozess besteht darin, den öffentlichen Schlüssel von EC2 Rescue for Linux zu authentifizieren und ihn als vertrauenswürdigen Schlüssel zu Ihrem GPG-Schlüsselbund hinzuzufügen.

**Um den öffentlichen Schlüssel von EC2 Rescue for Linux zu authentifizieren und zu importieren**

1. Verwenden Sie in einer Eingabeaufforderung den folgenden Befehl, um eine Kopie Ihres öffentlichen GPG-Schlüssels zu erhalten:

   ```
   curl -O https://s3.amazonaws.com/ec2rescuelinux/ec2rl.key
   ```

1. Verwenden Sie an einer Befehlszeile in dem Verzeichnis, in dem Sie gespeichert haben`ec2rl.key`, den folgenden Befehl, um den öffentlichen Schlüssel von EC2 Rescue for Linux in Ihren Schlüsselbund zu importieren:

   ```
   gpg2 --import ec2rl.key
   ```

   Der Befehl gibt Ergebnisse wie die folgenden zurück:

   ```
   gpg: /home/ec2-user/.gnupg/trustdb.gpg: trustdb created
   gpg: key 2FAE2A1C: public key "ec2autodiag@amazon.com <EC2 Rescue for Linux>" imported
   gpg: Total number processed: 1
   gpg:               imported: 1  (RSA: 1)
   ```
**Tipp**  
Wenn Sie eine Fehlermeldung sehen, die besagt, dass der Befehl nicht gefunden werden kann, installieren Sie das GnuPG-Hilfsprogramm mit `apt-get install gnupg2` (Debian-basiertes Linux) oder `yum install gnupg2` (Red Hat-basiertes Linux).

### Verifizieren der Signatur des Pakets
<a name="ec2rl_verify_signature"></a>

Nachdem Sie die GPG-Tools installiert, den öffentlichen Schlüssel von EC2 Rescue for Linux authentifiziert und importiert und sich vergewissert haben, dass der öffentliche Schlüssel von EC2 Rescue for Linux vertrauenswürdig ist, können Sie die Signatur des EC2 Rescue for Linux-Installationsskripts überprüfen.

**Um die Signatur des EC2 Rescue for Linux-Installationsskripts zu überprüfen**

1. Führen Sie bei einer Eingabeaufforderung den folgenden Befehl aus, um die Signaturdatei für das Installationsskript herunterzuladen:

   ```
   curl -O https://s3.amazonaws.com/ec2rescuelinux/ec2rl.tgz.sig
   ```

1. Überprüfen Sie die Signatur, indem Sie in der Befehlszeile in dem Verzeichnis, in dem Sie die Datei gespeichert haben, `ec2rl.tgz.sig` und in der EC2 Rescue for Linux-Installationsdatei den folgenden Befehl ausführen. Beide Dateien müssen vorhanden sein.

   ```
   gpg2 --verify ./ec2rl.tgz.sig
   ```

   Die Ausgabe sollte wie folgt aussehen:

   ```
   gpg: Signature made Thu 12 Jul 2018 01:57:51 AM UTC using RSA key ID 6991ED45
   gpg: Good signature from "ec2autodiag@amazon.com <EC2 Rescue for Linux>"
   gpg: WARNING: This key is not certified with a trusted signature!
   gpg:          There is no indication that the signature belongs to the owner.
   Primary key fingerprint: E528 BCC9 0DBF 5AFA 0F6C  C36A F780 4843 2FAE 2A1C
        Subkey fingerprint: 966B 0D27 85E9 AEEC 1146  7A9D 8851 1153 6991 ED45
   ```

   Wenn die Ausgabe den Ausdruck enthält`Good signature from "ec2autodiag@amazon.com <EC2 Rescue for Linux>"`, bedeutet dies, dass die Signatur erfolgreich verifiziert wurde und Sie mit der Ausführung des EC2 Rescue for Linux-Installationsskripts fortfahren können.

   Wenn die Ausgabe die Bezeichnung `BAD signature`enthält, überprüfen Sie, ob Sie das Verfahren korrekt durchgeführt haben. Wenn Sie diese Antwort weiterhin erhalten, kontaktieren Sie Amazon Web Services und führen Sie die Installationsdatei, die Sie zuvor heruntergeladen haben, nicht aus.

Im Folgenden finden Sie Details zu den Warnungen, die möglicherweise angezeigt werden:
+ **WARNING: This key is not certified with a trusted signature\$1 There is no indication that the signature belongs to the owner.**Dies bezieht sich auf Ihr persönliches Vertrauen in Ihre Überzeugung, dass Sie einen authentischen öffentlichen Schlüssel für EC2 Rescue for Linux besitzen. In einer idealen Welt würden Sie ein Amazon Web Services-Büro aufsuchen und den Schlüssel persönlich erhalten. Doch häufiger laden Sie ihn von einer Website herunter. In diesem Fall handelt es sich bei der Website um eine Amazon Web Services-Website.
+ **gpg2: no ultimately trusted keys found.** Dies bedeutet, dass der bestimmte Schlüssel nicht "endgültig vertrauenswürdig" für Sie oder für andere Personen ist, denen Sie vertrauen.

Weitere Informationen finden Sie unter [https://www.gnupg.org/](https://www.gnupg.org/).

# EC2Rescue auf einer Amazon-EC2-Linux-Instance ausführen
<a name="ec2rl_working"></a>

EC2Rescue ist ein Befehlszeilentool. Nachdem Sie EC2 Rescue auf Ihrer Linux-Instance installiert haben, erhalten Sie allgemeine Hilfe zur Verwendung des Tools, indem Sie den Befehl ausführen`./ec2rl help`. Sie können sich die verfügbaren Module ansehen, indem Sie `./ec2rl list` ausführen. Sie können Hilfe zu einem bestimmten Modul erhalten, indem Sie `./ec2rl help module_name` ausführen.

Die folgenden Aufgaben können Sie als erste Schritte mit diesem Tool durchführen.

**Topics**
+ [Führen Sie EC2 Rescue-Module aus](#ec2rl_running_module)
+ [Laden Sie die Ergebnisse des EC2 Rescue-Moduls hoch](#ec2rl_uploading_results)
+ [Erstellen von Backups einer Amazon-EC2-Linux-Instance](#ec2rl_creating_backups)

## Führen Sie EC2 Rescue-Module aus
<a name="ec2rl_running_module"></a>

**Um alle EC2 Rescue-Module auszuführen**  
Verwenden Sie den Befehl **./ec2rl run** ohne Angabe von Parametern oder Filtern. Einige Module erfordern Root-Zugriff. Falls Sie kein Root-Benutzer sind, verwenden Sie **sudo**, wenn Sie den Befehl ausführen.

```
./ec2rl run
```

**Um ein bestimmtes EC2 Rescue-Modul auszuführen**  
Verwenden Sie den **./ec2rl run**-Befehl und geben Sie für `--only-modules` den Namen des Moduls an, das ausgeführt werden soll. Einige Module benötigen *Argumente*, um sie zu verwenden.

```
./ec2rl run --only-modules=module_name --arguments
```

Verwenden Sie beispielsweise den folgenden Befehl, um das **dig**-Modul zur Abfrage der `amazon.com`-Domain auszuführen.

```
./ec2rl run --only-modules=dig --domain=amazon.com
```

**Um die Ergebnisse eines EC2 Rescue-Moduls anzuzeigen**  
Führen Sie das Modul aus und zeigen Sie dann die Protokolldatei in `cat /var/tmp/ec2rl/logfile_location` an. Die Protokolldatei für das **dig**-Modul befindet sich beispielsweise im folgenden Verzeichnis:

```
cat /var/tmp/ec2rl/timestamp/mod_out/run/dig.log
```

## Laden Sie die Ergebnisse des EC2 Rescue-Moduls hoch
<a name="ec2rl_uploading_results"></a>

Wenn Support die Ergebnisse für ein EC2 Rescue-Modul angefordert wurden, können Sie die Protokolldatei mit dem EC2 Rescue-Tool hochladen. Sie können die Ergebnisse entweder an einen von Ihnen bereitgestellten Speicherort Support oder in einen Amazon S3 S3-Bucket hochladen, den Sie besitzen.

**Um Ergebnisse an einen Speicherort hochzuladen, der bereitgestellt wird von Support**  
Verwenden Sie den Befehl **./ec2rl upload**. Geben Sie für `--upload-directory` den Speicherort der Protokolldatei an. Geben Sie für `--support-url` die URL an, die von Support bereitgestellt wurde.

```
./ec2rl upload --upload-directory=/var/tmp/ec2rl/logfile_location --support-url="url_provided_by_aws_support"
```

**So laden Sie Ergebnisse in einen Amazon-S3-Bucket hoch**  
Verwenden Sie den Befehl **./ec2rl upload**. Geben Sie für `--upload-directory` den Speicherort der Protokolldatei an. Geben Sie für `--presigned-url` eine vorsignierte URL für den S3-Bucket an. Weitere Informationen zum Generieren von vorsignierten Objekten URLs für Amazon S3 finden Sie unter [Objekte mithilfe von vorsignierten Objekten hochladen](https://docs.aws.amazon.com/AmazonS3/latest/userguide/PresignedUrlUploadObject.html). URLs

```
./ec2rl upload --upload-directory=/var/tmp/ec2rl/logfile_location --presigned-url="presigned_s3_url"
```

## Erstellen von Backups einer Amazon-EC2-Linux-Instance
<a name="ec2rl_creating_backups"></a>

Sie können EC2 Rescue verwenden, um Ihre Linux-Instance zu sichern, indem Sie ein AMI oder Snapshots der angehängten Volumes erstellen.

**So erstellen Sie ein AMI**  
Verwenden Sie den `./ec2rl run`-Befehl und geben Sie für `backup` `ami` an.

```
./ec2rl run --backup=ami
```

**So erstellen Sie Multi-Volume-Snapshots aller angefügten Volumes**  
Verwenden Sie den `./ec2rl run`-Befehl und geben Sie für `backup` `allvolumes` an.

```
./ec2rl run --backup=allvolumes
```

**So erstellen Sie einen Snapshot eines bestimmten angefügten Volumes**  
Verwenden Sie den `./ec2rl run`-Befehl und geben Sie für `backup` die ID des Volumes an, das gesichert werden soll.

```
./ec2rl run --backup=vol-01234567890abcdef
```

# EC2Rescue-Module für Amazon-EC2-Linux-Instances entwickeln
<a name="ec2rl_moduledev"></a>

Module werden in YAML geschrieben, einem Datenserialisierungsstandard. Die YAML-Datei für ein Modul besteht aus einem einzigen Dokument für die Beschreibung des Moduls und seiner Attribute.

## Hinzufüge von Modulattributen
<a name="ec2rl-adding-modules"></a>

In der folgenden Tabelle werden die verfügbaren Modulattribute aufgeführt.


| Attribut | Beschreibung | 
| --- | --- | 
| name | Der Name des Moduls. Die Länge des Namens sollte höchstens 18 Zeichen betragen. | 
| Version | Die Versionsnummer des Moduls | 
| Titel | Eine kurze, aussagekräftige Beschreibung des Moduls. Die Länge dieses Werts sollte höchstens 50 Zeichen betragen. | 
| helptext |  Die ausführliche Beschreibung des Moduls. Die Länge jeder Zeile sollte höchstens 75 Zeichen betragen. Wenn das Modul mit (obligatorischen oder optionalen) Argumenten aufgerufen wird, sollten sie in dem helptext-Wert einhalten sein. Beispiel: <pre>helptext: !!str |<br />  Collect output from ps for system analysis<br />  Consumes --times= for number of times to repeat<br />  Consumes --period= for time period between repetition</pre> | 
| placement | Die Stufe, in der das Modul ausgeführt werden sollte. Unterstützte Werte: [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/AWSEC2/latest/UserGuide/ec2rl_moduledev.html)  | 
| language | Die Sprache, in der das Modul geschrieben wurde. Unterstützte Werte: [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/AWSEC2/latest/UserGuide/ec2rl_moduledev.html)  Python-Code muss sowohl mit Python 2.7.9\$1 als auch mit Python 3.2\$1 kompatibel sein.   | 
| remediation |  Zeit an, ob das Modul eine Problembehebung unterstützt. Unterstützte Werte sind `True` oder `False`. Das Modul ist standardmäßig `False`, wenn diese Angabe fehlt, womit sie zu einem optionalen Attribut für Module wird, die keine Problembehebung unterstützen.  | 
| content | Der gesamte Code für das Skript. | 
| constraint | Der Name des Objekts, das Werte für die Beschränkung enthält. | 
| Domain | Eine Beschreibung, wie das Modul gruppiert oder klassifiziert wird. Die enthaltenen Module verwenden die folgenden Bereiche:  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/AWSEC2/latest/UserGuide/ec2rl_moduledev.html) | 
| class | Eine Beschreibung der Aufgabe, die von dem Modul durchgeführt wird. Die enthaltenen Module verwenden die folgenden Klassen: [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/AWSEC2/latest/UserGuide/ec2rl_moduledev.html) | 
| distro | Die Liste der Linux-Distributionen, die dieses Modul unterstützt. Die enthaltenen Module verwenden die folgenden Distributionen: [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/AWSEC2/latest/UserGuide/ec2rl_moduledev.html) | 
| Erforderlich | Die obligatorischen Argumente für den Aufruf des Moduls mit dem CLI. | 
| optional | Die optionalen Argumente für den Aufruf des Moduls. | 
| software | Die ausführbare Software, die in dem Modul verwendet wird. Dieses Attribut dient der Spezifikation von Software, die nicht standardmäßig installiert ist. Die Logik von EC2 Rescue for Linux stellt sicher, dass diese Programme vorhanden und ausführbar sind, bevor das Modul ausgeführt wird. | 
| package | Das Quellcode-Paket für eine ausführbare Software. Dieses Attribut dient der Spezifikation ausführlicher Details zu dem Softwarepaket, einschließlich einer URL, unter der weitere Informationen heruntergeladen oder abgerufen werden können. | 
| sudo | Zeigt an, ob für die Ausführung des Moduls Root-Berechtigungen erforderlich sind.  Sie müssen keine sudo-Checks in dem Skript für das Modul implementieren. Wenn der Wert true ist, führt die EC2 Rescue for Linux-Logik das Modul nur aus, wenn der ausführende Benutzer Root-Zugriff hat. | 
| perfimpact | Zeigt an, ob das Modul signifikante Auswirkungen auf die Leistung in der Umgebung haben kann, in der es ausgeführt wird. Wenn dieser Wert auf „true” gesetzt und das `--perfimpact=true`-Argument nicht aufgerufen wird, dann wird das Modul übersprungen. | 
| parallelexclusive | Spezifiziert ein Programm, dass gegenseitige Exklusivität erfordert. So können z. B. alle Module, für die hier „bpf” angegeben wird, nur nacheinander ausgeführt werden. | 

## Hinzufügen von Umgebungsvariablen
<a name="ec2rl_adding_envvars"></a>

In der folgenden Tabelle werden die verfügbaren Umgebungsvariablen aufgeführt.


| Umgebungsvariable | Beschreibung | 
| --- | --- | 
|  `EC2RL_CALLPATH`  | Der Pfad zu ec2rl.py. Anhand dieses Pfades können Sie das Lib-Verzeichnis finden und von Anbietern bereitgestellte Python-Module benutzen. | 
|  `EC2RL_WORKDIR`  |  Das primäre temporäre Verzeichnis für das Diagnosetool Standardwer: `/var/tmp/ec2rl`. | 
|  `EC2RL_RUNDIR`  |  Das Verzeichnis, in dem alle Ausgaben gespeichert werden Standardwer: `/var/tmp/ec2rl/<date&timestamp>`.  | 
|  `EC2RL_GATHEREDDIR`  |  Das Stammverzeichnis für die erfassten Moduldaten Standardwer:`/var/tmp/ec2rl/<date&timestamp>/mod_out/gathered/`.  | 
|  `EC2RL_NET_DRIVER`  |  Der Treiber für die erste, alphabetisch sortierte, nicht virtuelle Netzwerkschnittstelle in der Instance Beispiele: [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/AWSEC2/latest/UserGuide/ec2rl_moduledev.html)  | 
|  `EC2RL_SUDO`  |  Wahr, wenn EC2 Rescue for Linux als Root-Benutzer ausgeführt wird; andernfalls False.  | 
|  `EC2RL_VIRT_TYPE`  |  Der Virtualisierungstyp gemäß der bereitgestellten Instance-Metadaten Beispiele: [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/AWSEC2/latest/UserGuide/ec2rl_moduledev.html)  | 
|  `EC2RL_INTERFACES`  |  Eine nummerierte List der Schnittstellen in dem System. Der Wert besteht aus einer Zeichenfolge, die Namen wie `eth0`, `eth1` usw. enthält. Er wird über `functions.bash` generiert und ist nur für Module verfügbar, die diese aufgerufen haben.  | 

## Verwenden des YAML-Syntax
<a name="ec2rl_yamlsyntax"></a>

Beachten Sie unbedingt die folgenden Punkte, wenn Sie die YAML-Dateien für ein Modul erstellen:
+ Drei Bindestriche hintereinander (`---`) zeigen den Beginn eines Dokuments explizit an.
+ Der Tag `!ec2rlcore.module.Module` zeigt dem YAML-Parser an, welcher Konstruktor aufgerufen werden soll, um das Objekt aus dem Datenstrom zu erstellen. Sie finden den Konstruktor in der Datei `module.py`.
+ Der Tag `!!str` weist den YAML-Parser an, keinen Versuch zur Bestimmung des Datentyps zu unternehmen, sondern den Inhalt als Zeichenfolgeliteral zu interpretieren.
+ Das Pipe-Zeichen (`|`) zeigt dem YAML-Parser an, dass es sich um einen skalaren Wert handelt – ähnlich einem Literal. In diesem Fall übernimmt der Parser alle Leerraumzeichen. Dies ist im Zusammenhang mit Modulen sehr wichtig, da Einrückungen und Zeilenumbrüche erhalten bleiben.
+ Die Standardeinrückung in YAML besteht aus zwei Leerzeichen, wie in den folgenden Beispielen gezeigt. Stellen Sie sicher, dass Sie in Ihrem Skript mit den jeweiligen Standard-Einrückungen arbeiten (z. B. vier Leerzeichen in Python) und den gesamten Inhalt anschließend in der Moduldatei um zwei Leerzeichen einrücken.

## Beispielmodule
<a name="ec2rl_example"></a>

Beispiel 1 (`mod.d/ps.yaml`):

```
--- !ec2rlcore.module.Module
# Module document. Translates directly into an almost-complete Module object
name: !!str ps
path: !!str
version: !!str 1.0
title: !!str Collect output from ps for system analysis
helptext: !!str |
  Collect output from ps for system analysis
  Requires --times= for number of times to repeat
  Requires --period= for time period between repetition
placement: !!str run
package: 
  - !!str
language: !!str bash
content: !!str |
  #!/bin/bash
  error_trap()
  {
      printf "%0.s=" {1..80}
      echo -e "\nERROR:	"$BASH_COMMAND" exited with an error on line ${BASH_LINENO[0]}"
      exit 0
  }
  trap error_trap ERR

  # read-in shared function
  source functions.bash
  echo "I will collect ps output from this $EC2RL_DISTRO box for $times times every $period seconds."
  for i in $(seq 1 $times); do
      ps auxww
      sleep $period
  done
constraint:
  requires_ec2: !!str False
  domain: !!str performance
  class: !!str collect
  distro: !!str alami ubuntu rhel suse
  required: !!str period times
  optional: !!str
  software: !!str
  sudo: !!str False
  perfimpact: !!str False
  parallelexclusive: !!str
```