2016-10-17 5 views
0

Was ich tun muss ist: Wenn eine EC2-Instanz gestartet wird, installiert die Lambda-Funktion oder anderes das Skript zur Überwachung der Speicher- und Festplattennutzung im Host.EC2 Event [Running] + Lambda-Funktion

Ich denke darüber nach, wie ich das tun kann .. Jeder kann mir eine Idee geben?

Antwort

0

Ihre Anforderung besteht offenbar darin, die Speicher- und Festplattennutzung von einer Amazon EC2-Instanz aus zu überwachen. Ich nehme an, dass Sie es über Amazon CloudWatch überwachen möchten.

Amazon CloudWatch bietet Standardmetriken für EC2-Instanzen, einschließlich CPU-Auslastung, Netzwerkverkehr und Festplattenzugriff. Diese Metriken sind vom Hypervisor aus sichtbar. CloudWatch kann jedoch die EC2-Instanz nicht "in" sehen, daher müssen Skripts innerhalb der Instanz ausgeführt werden, um Dinge wie freien Speicher und freien Speicherplatz zu verfolgen. Die Skripte sprechen mit dem Betriebssystem, um diese Metriken abzurufen, weshalb sie "innerhalb" der Instanz ausgeführt werden müssen.

Einige Standard-Monitoring-Skripte sind für Linux-Instanzen zur Verfügung: Monitoring Memory and Disk Metrics for Amazon EC2 Linux Instances

Sie können natürlich Ihre eigenen Skripte zu send custom metrics to CloudWatch schreiben. Nach der Installation werden die Skripts beim Neustart der Instanz automatisch ausgeführt.

Wenn Sie diese Skripte installieren möchten (oder eigene Skripte) auf neue EC2-Instanzen, gibt es ein paar Methoden sind:

  • Installieren Sie die Skripte auf eine Instanz, erstellen dann eine Amazon Machine Image (AMI) dieser Instanz, die eine Kopie der Festplatte enthält. Sie können dann mit diesem AMI neue Instanzen starten, und die Skripte werden bereits auf den neuen Instanzen installiert.
  • Starten Sie die Instanz (en) mit einem Benutzerdaten-Skript, um das Überwachungsskript zu installieren. Jedes Skript, das Benutzerdaten durchlaufen hat, wird beim ersten Start der Instanz automatisch ausgeführt.
+0

Hallo, danke für die Antwort! Also .. Ich benutze das Skript, um die Speicher- und Festplattennutzung über CloudWatch zu überwachen! Ich habe über diese zwei Optionen nachgedacht, die Sie mir gegeben haben, aber ich suchte nach anderen Optionen, wie "RunCommand" oder vielleicht einer Lambda-Funktion, wenn ein EC2 gestartet wird, aber ich fand nichts. Ich werde ein AMI mit dem Script + -Agent verwenden, um "RunCommand" für zukünftige Updates zu verwenden. Vielen Dank! –

2

Sie brauchen kein Lambda. Übergeben Sie Ihr Installationsskript als Benutzerdaten.

Siehe: Running Commands on Your Linux Instance at Launch

+0

Ja, es ist eine Lösung. Aber was ich brauche, ist: Immer wenn eine EC2-Instanz gestartet wird, wird dieses Skript installiert –

+0

Richtig, @MaiconBaum, also ... genau wie diese Antwort sagt, "übergeben Sie Ihr Installationsskript als Benutzerdaten." Es läuft beim ersten Booten. –

0

Wenn Sie eine Skalierung Gruppe verwenden Sie einen LaunchConfig angeben müssen. Teil der LaunchConfig ist das Benutzerdatenskript, das beim Booten der Instanz ausgeführt wird. Dies kann auch problemlos mit CloudFormation-Skripten erfolgen, wenn Sie diese zum Erstellen der neuen EC2-VM verwenden. Sie können hier Beispiele von Skripten finden. enter link description here