2012-03-28 3 views
4

Ich möchte meine EC2-Instanzen auf AWS skalieren. Dafür wurde ich vorgeschlagen, die Sensu framwork zu verwenden.Wie kann ich EC2-Instanzen automatisch mit Systemdaten skalieren, die vom Sensu-Framework erfasst wurden?

Ich möchte die Instanz basierend auf ihrer CPU-Auslastung skalieren. Zum Testen habe ich Sensu sowohl unter Windows als auch unter Ubuntu (V.Box) konfiguriert. Ich benutze einen Client unter Ubuntu, indem ich this example befolge. Meine CPU-Daten wurden erfolgreich an RabbitMQ übergeben.

Jetzt frage ich mich, wie ich diese Daten im Sensu-Server verwenden kann, damit ich skalieren oder skalieren kann? Jeder Vorschlag wird geschätzt.

Wenn es darauf ankommt, werde ich dies mit Opscode Chef verwenden.

Antwort

3

Der einfachste Weg, um Ihr Ziel zu erreichen, würde die verfügbaren Komponenten zu verbinden zusammen sein (was immer noch wird einige Codes erfordern Schreiben, siehe unten) und unterlassen individuelle Lösungen so weit wie möglich Zugabe:

Amazon EC2 bieten Auto Scaling, welches wiederum von Metrics erfasst über Amazon CloudWatch angetrieben wird. So Metrik sind der Schlüssel hier, und das ist genau, was Sensu dreht sich alles, siehe z.B. Sensu and Graphite, die zwei Ansätze umfasst Metriken von Sensu rempelt Graphit:

Denken Sie daran: Man denke an Sensu als "Monitoring-Router". Während wir sind Gehen, um zu zeigen, wie Metriken zu Graphit, schieben ist es genauso einfach zu Push-Metriken zu jedem anderen System - Librato, Cube, OpenTSDB, etc. In Tatsache wäre es überhaupt nicht schwer zu sein push metrics zu mehreren Graphen Backends in einer Fanout-Art. [Hervorhebung von mir]

Ihre Kennzahlen sind in der Sensu Server bereits, so dass Sie sie in Cloudwatch jetzt schieben müssen (wie bei Graphit in dem Artikel oben erläutert) und befestigen jeweiligen Auto Scaling Politik zu diesen wiederum.

Die derzeit verfügbaren metrics handlers für Sensu sind Graphite und Librato tatsächlich Targeting, so dass Sie eine solche Sensu Handler für Publishing Custom Metrics in Cloudwatch zu implementieren brauchen würde (sicher sein, es zu teilen, wird es auf jeden Fall weit über die Zeit verwendet werden :)

Viel Glück!

Verwandte Themen