0

Erstens, schätze deine Geduld beim Lesen und Denken durch dieses Problem, das ich hier erwähnt habe.AWS EC2 Cloudwatch Überwachung

Ich hatte ein eindeutiges Problem auf einer meiner AWS EC2-Instanzen (Ubuntu 14.04), wo die Instanz entweder unerreichbar durch http oder Ping. Es hat mich auch aus dem SSH-Zugang ausgeschlossen. Ich musste mich jedes Mal bei der aws-Konsole anmelden und die Instanz manuell neu starten. Als Lösung habe ich cloudwatch monitoring konfiguriert, um die Instanz automatisch neu zu starten und eine Benachrichtigungs-E-Mail an mich zu senden, wenn die Systemprüfung fehlgeschlagen ist.

So weit, so gut.

Nun, was ich wirklich will, ist die Ursache/Ursache zum Beispiel unerreichbar. Ich nehme an, dass dies ein Speicherproblem ist. Ich habe die get-system-logs durchgelesen, was ein bisschen geholfen hat. Aber, gibt es trotzdem, ich kann Cloudwatch konfigurieren, um mir die Fehlerprotokolle oder etwas Ähnliches zu senden, wenn es mir die Alarm-E-Mail sendet. Oder gibt es eine Möglichkeit, kann ich mich mit ausreichenden Log-Informationen wie - Beispiel: Speicherauslastung ist 80%, Netzwerk reagiert nicht usw., wenn ich Instanz nicht erreichbar ist. Ich habe von Swap-Tool gehört, aber ich bin auf der Suche nach etwas allgemeiner, nur nicht auf Speicherüberwachung beschränkt.

Alles? Hat jemand eine Idee?

+0

Cloudwatch können Sie Log-Dateien nicht senden, aber Sie können Ihre Instanz konfigurieren Logfiles Cloudwatch senden welches in S3 gespeichert wird, das Sie später analysieren können. Ich würde damit beginnen, ein CloudWatch-Dashboard mit verschiedenen Überwachungsmetriken (Speicher, CPU, Festplatten-I/O usw.) einzurichten, um Ihnen eine Vorstellung vom Systemzustand zum Zeitpunkt des Ausfalls zu geben. Sie können benutzerdefinierte Software (Python-Skripts) schreiben, um Ihre eigenen Messwerte an CloudWatch zu senden, z. B. die Anzahl der Prozesse, freien Speicherplatz usw. –

+0

http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/mon -scripts.html # mon-scripts-systems Dies ist die sehr saubere Demo, wie man die Speicherverbrauchsmetrik von Ihrem ec2 sammelt und an cloudwatch sendet, damit Sie sie überwachen können. Dies ist das Problem der Speichernutzung, nachdem Sie diese Lösung implementieren, wenn sie erneut auftreten, überprüfen Sie die Speicherauslastung in Cloudwatch der Zeit – Ashwini

Antwort

0

würde ich Old Skool gehen und ein Skript auf dem Server in einer Datei zu protokollieren verwenden

Vermutlich (Sie in der obigen dieses Detail nicht erwähnt) gibt es ein bestimmtes Programm auf dem System ausgeführt wird, geben wird, Sie dieses Problem

Normalerweise speichern Systemprogramme ihre PID in einer Datei. Nehmen wir an, die Datei ist /var/run/nginx.pid. Sie können dies für Ihr spezielles System trainieren

ein Skript Schreiben Sie die PID und notieren Sie die Speichernutzung, zum Beispiel fügen Sie diese Datei als „/ usr/local/bin/MyMemory“

PID=`cat /var/run/crond.pid` 
# the 3 fields are %mem, VSZ and RSS 
DATA=`ps uhp $PID| awk '{print $4, $5, $6}'` 
NOW=`date --rfc-3339=sec` 
echo "$NOW $DATA" >> /var/log/memory.log  

In lesen eine Linie als root crontab

* * * * * /usr/local/bin/mymemory.log 

Dies wird eine stetig wachsende Datei für Speicher pro Minute machen. Ich schlage vor, Sie melden sich einmal am Tag an und überprüfen es, laden es bei Interesse herunter und löschen es. (In einem Kontext Logfolge reale Produktion verwendet werden könnte)

Jedes Mal, wenn ein Absturz gibt es die Dateidatenspeichernutzung enthalten sollte

Verwandte Themen