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 wird CloudWatch, und die Abfrageergebnisse werden an diese gesendet. Dort können Sie die Anzahl der Sensoren mit potenziellen Hochtemperaturrisiken anzeigen und Alarme einrichten. 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 CloudWatch Amazon-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
Anzahl 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 zu erstellen
high_temp_FM
. Sie erstellen die Flottenmetrik, um die Anzahl der Sensoren mit Temperaturen über 80 Grad Fahrenheit zu überwachen. CloudWatchaws 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 Dinge abgefragt werden, deren Namen mit oder TempSensormit Temperaturen ü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 count für den Aggregationstyp und Statistics an, um die Anzahl der Geräte zurückzugeben, deren Attribute der Abfrage entsprechen, mit anderen Worten, um die Anzahl der Geräte zurückzugeben, deren Namen mit oder mit TempSensorTemperaturen über 80 Grad Fahrenheit beginnen. 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 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" }
Flottenkennzahlen anzeigen in CloudWatch
Nachdem Sie die Flottenkennzahl erstellt haben, können Sie die Metrikdaten unter anzeigen CloudWatch. In diesem Tutorial sehen Sie die Metrik, die die Anzahl der Sensoren angibt, deren Namen mit TempSensorund mit Temperaturen über 80 Grad Fahrenheit beginnen.
Um Datenpunkte anzuzeigen in CloudWatch
-
Öffnen Sie die CloudWatch Konsole unter https://console.aws.amazon.com/cloudwatch/
. -
Wählen Sie im CloudWatch Menü auf der linken Seite 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.
-
Im ersten Abschnitt mit Registerkarten werden alle Metriken aufgeführt, die Sie in Gruppen anzeigen können. Wählen Sie Io TFleet Metrics 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. Sie sehen den Wert
count
links neben Ihrem Metriknamen. Dies ist der Wert des Aggregationstyps, den Sie in diesem Tutorial im Abschnitt Flottenkennzahlen erstellen 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 Perioden-Attribut CloudWatch ist standardmäßig auf 5 Minuten eingestellt. Es ist das Zeitintervall zwischen den Datenpunkten, die in CloudWatch angezeigt werden. 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ü auf der linken Seite Alarme aus, um das Untermenü zu erweitern, und wählen Sie dann Alle Alarme.
-
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 CloudWatch Amazon-Alarme verwenden.
-
Weitere Informationen finden Sie unter Verwenden von CloudWatch Amazon-Metriken.
Wenn Sie darin keine Datenpunkte sehen können CloudWatch, lesen Sie die Informationen zur Fehlerbehebung bei Flottenkennzahlen.
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
Um Metriken zu bereinigen 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 CloudWatch Amazon-Metriken.