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.
Erste Schritte-Tutorial
In diesem Tutorial erstellen Sie eine Flottenmetrik, um die Temperaturen Ihrer Sensoren zu überwachen und potenzielle Anomalien zu erkennen. Bei der Erstellung der Flottenmetrik definieren Sie eine Aggregationsabfrage, die die Anzahl der Sensoren mit Temperaturen über ca. 80 Grad Fahrenheit erkennt. Sie geben an, dass die Abfrage alle 60 Sekunden ausgeführt werden soll, und die Abfrageergebnisse werden an ausgegeben CloudWatch, wo Sie die Anzahl der Sensoren mit potenziellen Hochalarmrisiken anzeigen und Alarme festlegen können. Zum Abschließen dieses Tutorials wird die AWS CLI verwendet.
In diesem Tutorial lernen Sie Folgendes:
Für dieses Tutorial brauchen Sie ungefähr 15 Minuten.
Voraussetzungen
-
Installieren der neuesten Version von AWS CLI
-
Vertrautmachen mit Abfragen von Aggregatdaten
-
Machen Sie sich mit der Verwendung von Amazon CloudWatch-Metriken vertraut
Einrichten
Um Flottenmetriken zu verwenden, aktivieren Sie die Flottenindizierung. Um die Flottenindizierung für Ihre Objekte oder Objektgruppen mit bestimmten Datenquellen und zugehörigen Konfigurationen zu aktivieren, folgen Sie den Anweisungen unter Verwaltung der Objektindizierung und Verwalten der Objektgruppenindizierung.
So führen Sie die Einrichtung durch:
-
Führen Sie den folgenden Befehl aus, um die Flottenindizierung zu aktivieren, und geben Sie die Datenquellen an, in denen gesucht werden soll.
aws iot update-indexing-configuration \ --thing-indexing-configuration "thingIndexingMode=REGISTRY_AND_SHADOW,customFields=[{name=attributes.temperature,type=Number},{name=attributes.rackId,type=String},{name=attributes.stateNormal,type=Boolean}],thingConnectivityIndexingMode=STATUS" \
Der obenstehende CLI-Beispielbefehl ermöglicht die Flottenindizierung, um die Suche nach Registrierungsdaten, Schattendaten und dem Status der Objektkonnektivität mithilfe des
AWS_Things
-Index zu unterstützen.Die Änderung der Konfiguration kann einige Minuten in Anspruch nehmen. Stellen Sie sicher, dass Ihre Flottenindizierung aktiviert ist, bevor Sie Flottenmetriken erstellen.
Führen Sie zum Überprüfen, ob Ihre Flottenindizierung aktiviert wurde, den folgenden CLI-Befehl aus:
aws --region
us-east-1
iot describe-index --index-name "AWS_Things"Weitere Informationen finden Sie unter Aktivieren der Objektindizierung.
-
Führen Sie das folgende Bash-Skript aus, um zehn Objekte zu erstellen und zu beschreiben.
# Bash script. Type `bash` before running in other shells. Temperatures=(70 71 72 73 74 75 47 97 98 99) Racks=(Rack1 Rack1 Rack2 Rack2 Rack3 Rack4 Rack5 Rack6 Rack6 Rack6) IsNormal=(true true true true true true false false false false) for ((i=0; i < 10; i++)) do thing=$(aws iot create-thing --thing-name "TempSensor$i" --attribute-payload attributes="{temperature=${Temperatures[@]:$i:1},rackId=${Racks[@]:$i:1},stateNormal=${IsNormal[@]:$i:1}}") aws iot describe-thing --thing-name "TempSensor$i" done
Dieses Skript erstellt zehn Objekte, die zehn Sensoren repräsentieren. Jedes Objekt hat die Attribute
temperature
,rackId
undstateNormal
, wie in der folgenden Tabelle beschrieben:Attribut Datentyp Beschreibung temperature
Zahl Temperaturwert in Fahrenheit rackId
String ID des Server-Racks, das Sensoren enthält stateNormal
Boolesch Ob der Temperaturwert des Sensors normal ist oder nicht Die Ausgabe dieses Skripts enthält zehn JSON-Dateien. Eine der JSON-Dateien sieht wie folgt aus:
{ "version": 1, "thingName": "TempSensor0", "defaultClientId": "TempSensor0", "attributes": { "rackId": "Rack1", "stateNormal": "true", "temperature": "70" }, "thingArn": "arn:aws:iot:
region
:account
:thing/TempSensor0", "thingId": "example-thing-id
" }Weitere Informationen finden Sie unter Ein Objekt erstellen.
Erstellen einer Flottenmetrik
So erstellen Sie eine Flottenmetrik:
-
Führen Sie den folgenden Befehl aus, um eine Flottenmetrik mit dem Namen
high_temp_FM
zu erstellen. Sie erstellen die Flottenmetrik, um die Anzahl der Sensoren zu überwachen, deren Temperatur 80 Grad Fahrenheit in überschreitet CloudWatch.aws iot create-fleet-metric --metric-name "high_temp_FM" --query-string "thingName:TempSensor* AND attributes.temperature >80" --period 60 --aggregation-field "attributes.temperature" --aggregation-type name=Statistics,values=count
--metric-name
Datentyp: Zeichenfolge. Der Parameter
--metric-name
gibt den Namen einer Flottenmetrik an. In diesem Beispiel erstellen Sie eine Flottenmetrik mit dem Namen high_temp_FM.--query-string
Datentyp: Zeichenfolge. Der Parameter
--query-string
gibt die Abfragezeichenfolge an. In diesem Beispiel bedeutet die Abfragezeichenfolge, dass alle Objekte mit Namen abgefragt werden sollen, die mit TempSensor und mit Temperatur über 80 Grad Fahrenheit beginnen. Weitere Informationen finden Sie unter Abfragesyntax.--period
Datentyp: Ganzzahl. Der Parameter
--period
gibt die Zeit in Sekunden für die Abfrage der aggregierten Daten an. In diesem Beispiel geben Sie an, dass die Flottenmetrik, die Sie erstellen, die aggregierten Daten alle 60 Sekunden abruft.--aggregation-field
Datentyp: Zeichenfolge. Der Parameter
--aggregation-field
gibt das auszuwertende Attribut an. In diesem Beispiel soll das Temperaturattribut ausgewertet werden.--aggregation-type
Der Parameter
--aggregation-type
gibt die statistische Zusammenfassung an, die in der Flottenmetrik angezeigt werden soll. Für Ihre Überwachungsaufgaben können Sie die Eigenschaften von Aggregationsabfragen für die verschiedenen Aggregationstypen (Statistik, Kardinalität und Perzentil) anpassen. In diesem Beispiel geben Sie Anzahl für den Aggregationstyp und Statistik an, um die Anzahl der Geräte zurückzugeben, deren Attribute mit der Abfrage übereinstimmen, d. h. um die Anzahl der Geräte zurückzugeben, deren Namen mit beginnen TempSensor und deren Temperatur über 80 Grad Fahrenheit liegt. Weitere Informationen finden Sie unter Abfragen von Aggregatdaten.Die Ausgabe dieses Befehls sieht wie folgt aus:
{ "metricArn": "arn:aws:iot:
region
:111122223333
:fleetmetric/high_temp_FM", "metricName": "high_temp_FM
" }Anmerkung
Es kann einen Moment dauern, bis die Datenpunkte in angezeigt werden CloudWatch.
Weitere Informationen zum Erstellen einer Flottenmetrik finden Sie unter Verwalten von Flottenmetriken.
Wenn Sie keine Flottenmetrik erstellen können, lesen Sie den Artikel Problembehebung bei Flottenmetriken.
-
(Optional) Führen Sie den folgenden Befehl aus, um Ihre Flottenmetrik mit dem Namen high_temp_FM zu beschreiben.
aws iot describe-fleet-metric --metric-name "
high_temp_FM
"Die Ausgabe dieses Befehls sieht wie folgt aus:
{ "queryVersion": "2017-09-30", "lastModifiedDate": 1625249775.834, "queryString": "*", "period": 60, "metricArn": "arn:aws:iot:
region
:111122223333
:fleetmetric/high_temp_FM", "aggregationField": "registry.version", "version": 1, "aggregationType": { "values": [ "count" ], "name": "Statistics" }, "indexName": "AWS_Things", "creationDate": 1625249775.834, "metricName": "high_temp_FM" }
Anzeigen von Flottenmetriken in CloudWatch
Nachdem Sie die Flottenmetrik erstellt haben, können Sie die Metrikdaten in anzeigen CloudWatch. In diesem Tutorial sehen Sie die -Metrik, die die Anzahl der Sensoren anzeigt, deren Namen mit beginnen TempSensor und deren Temperatur über 80 Grad Fahrenheit liegt.
So zeigen Sie Datenpunkte in an CloudWatch
-
Öffnen Sie die - CloudWatch Konsole unter https://console.aws.amazon.com/cloudwatch/
. -
Wählen Sie im CloudWatch Menü im linken Bereich Metriken aus, um das Untermenü zu erweitern, und wählen Sie dann Alle Metriken aus. Dadurch wird eine Seite geöffnet, bei der die obere Hälfte das Diagramm und die untere Hälfte vier Abschnitte mit Registerkarten enthält.
-
Der erste Abschnitt mit Registerkarten Alle Metriken listet alle Metriken auf, die Sie in Gruppen anzeigen können. Wählen Sie IoTFleetMetrics aus. Diese enthält all Ihre Flottenmetriken.
-
Wählen Sie auf der Registerkarte Alle Metriken im Abschnitt Aggregationstyp die Option Aggregationstyp aus, um alle von Ihnen erstellten Flottenmetriken anzuzeigen.
-
Wählen Sie links im Abschnitt Aggregationstyp die Flottenmetrik aus, für die das Diagramm angezeigt werden soll. Links neben Ihrem Metriknamen wird der Wert
Anzahl
angezeigt. Dies ist der Wert des Aggregationstyps, den Sie in diesem Tutorial im Abschnitt Erstellen einer Flottenmetrik angegeben haben. -
Wählen Sie die zweite Registerkarte mit dem Namen Grafische Metriken rechts neben der Registerkarte Alle Metriken, um die Flottenmetrik anzuzeigen, die Sie im vorherigen Schritt ausgewählt haben.
Sie sollten ein Diagramm sehen, das die Anzahl der Sensoren mit Temperaturen über 80 Grad Fahrenheit anzeigt, wie in diesem Beispiel:
Anmerkung
Das Period-Attribut in ist CloudWatch standardmäßig 5 Minuten. Dies ist das Zeitintervall zwischen Datenpunkten, die in angezeigt werden CloudWatch. Sie können die Einstellung für den Zeitraum je nach Bedarf ändern.
-
(Optional) Sie können einen metrischen Alarm einrichten.
-
Wählen Sie im CloudWatch Menü im linken Bereich Alarme aus, um das Untermenü zu erweitern, und wählen Sie dann Alle Alarme aus.
-
Wählen Sie auf der Seite Alarme in der oberen rechten Ecke die Option Alarm erstellen aus. Folgen Sie den Anweisungen zum Erstellen eines Alarms in der Konsole, um bei Bedarf einen Alarm zu erstellen. Weitere Informationen finden Sie unter Verwenden von Amazon- CloudWatch Alarmen.
-
Weitere Informationen finden Sie unter Verwenden von Amazon- CloudWatch Metriken.
Wenn Sie keine Datenpunkte in sehen können CloudWatch, lesen Sie Fehlerbehebung bei Flottenmetriken.
Bereinigen
So löschen Sie Flottenkennzahlen:
Verwenden Sie den delete-fleet-metric-CLI-Befehl, um Flottenmetriken zu löschen.
Führen Sie den folgenden Befehl aus, um die Flottenmetrik mit dem Namen high_temp_FM zu löschen.
aws iot delete-fleet-metric --metric-name "
high_temp_FM
"
So löschen Sie Objekte:
Mit dem CLI-Befehl delete-thing können Sie ein Objekt löschen.
Um die zehn Objekte zu löschen, die Sie erstellt haben, führen Sie das folgende Skript aus:
# Bash script. Type `bash` before running in other shells. for ((i=0; i < 10; i++)) do thing=$(aws iot delete-thing --thing-name "TempSensor$i") done
So bereinigen Sie Metriken in CloudWatch
CloudWatch unterstützt das Löschen von Metriken nicht. Metriken laufen je nach ihren Aufbewahrungplänen ab. Weitere Informationen finden Sie unter Verwenden von Amazon- CloudWatch Metriken.