Hinweis zum Ende des Supports: Am 20. Mai 2026 AWS endet der Support für AWS IoT Events. Nach dem 20. Mai 2026 können Sie nicht mehr auf die AWS IoT Events Konsole oder AWS IoT Events die Ressourcen zugreifen. Weitere Informationen finden Sie unter AWS IoT Events Ende des Supports.
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.
Migrationsverfahren für AWS IoT SiteWise Alarme in AWS IoT Events
In diesem Abschnitt werden alternative Lösungen beschrieben, die bei der Migration von ähnliche Alarmfunktionen bieten AWS IoT Events.
Für AWS IoT SiteWise Immobilien, die AWS IoT Events Alarme verwenden, können Sie zu einer Lösung migrieren, die CloudWatch Alarme verwendet. Dieser Ansatz bietet robuste Überwachungsfunktionen mit etablierten SLAs und zusätzlichen Funktionen wie der Erkennung von Anomalien und gruppierten Alarmen.
Architekturen im Vergleich
Die aktuelle AWS IoT Events Alarmkonfiguration für AWS IoT SiteWise Eigenschaften muss AssetModelCompositeModels
im Asset-Modell erstellt werden, wie unter Definieren externer Alarme AWS IoT SiteWise im AWS IoT SiteWise Benutzerhandbuch beschrieben. Änderungen an der neuen Lösung werden in der Regel über die AWS IoT Events
Konsole verwaltet.
Die neue Lösung ermöglicht das Alarmmanagement mithilfe von CloudWatch Alarmen. Dieser Ansatz verwendet AWS IoT SiteWise Benachrichtigungen, um Eigenschaftsdatenpunkte in AWS IoT Core MQTT-Themen zu veröffentlichen, die dann von einer Lambda-Funktion verarbeitet werden. Die Funktion wandelt diese Benachrichtigungen in CloudWatch Metriken um und ermöglicht so die Alarmüberwachung über CloudWatch das Alarm-Framework.
Zweck | Lösung | Unterschiede |
---|---|---|
Datenquelle — Immobiliendaten von AWS IoT SiteWise |
AWS IoT SiteWise MQTT-Benachrichtigungen |
Ersetzt die direkte Integration von IoT Events durch MQTT-Benachrichtigungen von Immobilien AWS IoT SiteWise |
Datenverarbeitung — Transformiert Immobiliendaten |
Lambda-Funktion |
Verarbeitet AWS IoT SiteWise Eigenschaftsbenachrichtigungen und wandelt sie in Kennzahlen um CloudWatch |
Alarmauswertung — Überwacht Messwerte und löst Alarme aus |
CloudWatch Amazon-Alarme |
Ersetzt AWS IoT Events Alarme durch CloudWatch Alarme und bietet zusätzliche Funktionen wie die Erkennung von Anomalien |
Integration — Verbindung mit AWS IoT SiteWise |
AWS IoT SiteWise externe Alarme |
Optionale Möglichkeit, CloudWatch Alarme wieder AWS IoT SiteWise als externe Alarme zu importieren |
Schritt 1: Aktivieren Sie MQTT-Benachrichtigungen auf der Asset-Eigenschaft
Wenn Sie AWS IoT Events Integrationen für AWS IoT SiteWise Alarme verwenden, können Sie MQTT-Benachrichtigungen für jede zu überwachende Eigenschaft aktivieren.
-
Folgen Sie der Anleitung Alarme für Anlagen konfigurieren, AWS IoT SiteWise bis Sie den Schritt zum Bearbeiten der Eigenschaften des Asset-Modells abgeschlossen haben.
-
Ändern Sie für jede zu migrierende Eigenschaft den Status der MQTT-Benachrichtigung auf AKTIV.
-
Notieren Sie sich den Themenpfad, unter dem der Alarm für jedes geänderte Alarmattribut veröffentlicht wird.
Weitere Informationen finden Sie in den folgenden Dokumentationsressourcen:
-
Erfahren Sie mehr über Asset-Eigenschaften in den MQTT-Themen im AWS IoT SiteWise Benutzerhandbuch.
-
MQTT-Themen im AWS IoT Entwicklerhandbuch.
Schritt 2: Erstellen einer AWS Lambda -Funktion
Erstellen Sie eine Lambda-Funktion zum Lesen des vom MQTT-Thema veröffentlichten TQV-Arrays und veröffentlichen Sie einzelne Werte in. CloudWatch Wir verwenden diese Lambda-Funktion als Zielaktion, die in AWS IoT Core Message Rules ausgelöst werden soll.
-
Öffnen Sie die AWS Lambda console
. -
Wählen Sie Funktion erstellen.
-
Geben Sie einen Namen für den Funktionsnamen ein.
-
Wählen Sie NodeJS 2.x als Runtime aus.
-
Wählen Sie in der Dropdownliste Standardausführungsrolle ändern die Option Bestehende Rolle verwenden und wählen Sie dann die IAM-Rolle aus, die Sie in den vorherigen Schritten erstellt haben.
-
Wählen Sie Funktion erstellen.
-
Fügen Sie den folgenden Codeausschnitt ein, nachdem Sie die hartcodierten Konstanten ersetzt haben.
import json import boto3 from datetime import datetime # Initialize CloudWatch client cloudwatch = boto3.client('cloudwatch') def lambda_handler(message, context): try: # Parse the incoming IoT message # Extract relevant information asset_id = message['payload']['assetId'] property_id = message['payload']['propertyId'] # Process each value in the values array for value in message['payload']['values']: # Extract timestamp and value timestamp = datetime.fromtimestamp(value['timestamp']['timeInSeconds']) metric_value = value['value']['doubleValue'] quality = value.get('quality', 'UNKNOWN') # Publish to CloudWatch response = cloudwatch.put_metric_data( Namespace='
IoTSiteWise/AssetMetrics
', MetricData=[ { 'MetricName': f'Property_your-property-id
', 'Value': metric_value, 'Timestamp': timestamp, 'Dimensions': [ { 'Name': 'AssetId', 'Value': 'your-asset-id
' }, { 'Name': 'Quality', 'Value': quality } ] } ] ) return { 'statusCode': 200, 'body': json.dumps('Successfully published metrics to CloudWatch') } except Exception as e: print(f'Error processing message: {str(e)}') return { 'statusCode': 500, 'body': json.dumps(f'Error: {str(e)}') }
Schritt 3: Erstellen AWS IoT Core Sie eine Regel für die Nachrichtenweiterleitung
-
Folgen Sie der Anleitung: Vorgang zum erneuten Veröffentlichen einer MQTT-Nachricht und geben Sie die folgenden Informationen ein, wenn Sie dazu aufgefordert werden:
-
Nennen Sie die Nachrichten-Routing-Regel.
SiteWiseToCloudwatchAlarms
-
Für die Abfrage können Sie Folgendes verwenden:
SELECT * FROM '$aws/sitewise/asset-models/
your-asset-model-id
/assets/your-asset-id
/properties/your-property-id
' -
Wählen Sie unter Regelaktionen die Lambda-Aktion aus, an die die generierten Daten gesendet werden sollen AWS IoT SiteWise . CloudWatch Zum Beispiel:
-
Schritt 4: Metriken anzeigen CloudWatch
Wenn Sie Daten in die zuvor ausgewählte Eigenschaft aufnehmen AWS IoT SiteWise, werden Daten an die Lambda-Funktion weitergeleitetSchritt 1: Aktivieren Sie MQTT-Benachrichtigungen auf der Asset-Eigenschaft, die wir in erstellt haben. Schritt 2: Erstellen einer AWS Lambda -Funktion In diesem Schritt können Sie überprüfen, an welches Lambda Ihre Metriken sendet. CloudWatch
-
Öffnen Sie das CloudWatch AWS Management Console
. -
Wählen Sie in der linken Navigationsleiste Metriken und dann Alle Metriken aus.
-
Wählen Sie die URL eines Alarms aus, um ihn zu öffnen.
-
Auf der Registerkarte Quelle sieht die CloudWatch Ausgabe ähnlich wie in diesem Beispiel aus. Diese Quellinformationen bestätigen, dass die metrischen Daten in CloudWatch.
{ "view": "timeSeries", "stacked": false, "metrics": [ [ "IoTSiteWise/AssetMetrics", "Property_
your-property-id-hash
", "Quality", "GOOD", "AssetId", "your-asset-id-hash
", { "id": "m1" } ] ], "region": "your-region
" }
Schritt 5: CloudWatch Alarme erstellen
Folgen Sie dem Verfahren Einen CloudWatch Alarm auf der Grundlage eines statischen Schwellenwerts erstellen im CloudWatch Amazon-Benutzerhandbuch, um Alarme für jede relevante Metrik zu erstellen.
Anmerkung
Es gibt viele Optionen für die Alarmkonfiguration in Amazon CloudWatch . Weitere Informationen zu CloudWatch Alarmen finden Sie unter Verwenden von CloudWatch Amazon-Alarmen im CloudWatch Amazon-Benutzerhandbuch.
Schritt 6: (Optional) importieren Sie den CloudWatch Alarm in AWS IoT SiteWise
Sie können CloudWatch Alarme so konfigurieren, dass Daten AWS IoT SiteWise mithilfe von CloudWatch Alarmaktionen und Lambda zurückgesendet werden. Diese Integration ermöglicht es Ihnen, Alarmstatus und -eigenschaften im SiteWise Monitor-Portal einzusehen.
-
Konfigurieren Sie den externen Alarm als Eigenschaft in einem Asset-Modell. Weitere Informationen finden Sie AWS IoT SiteWise im AWS IoT SiteWise Benutzerhandbuch unter Definieren externer Alarme.
-
Erstellen Sie eine Lambda-Funktion, die die BatchPutAssetPropertyValueAPI im AWS IoT SiteWise Benutzerhandbuch verwendet, um Alarmdaten an zu AWS IoT SiteWise senden.
-
Richten Sie CloudWatch Alarmaktionen ein, um Ihre Lambda-Funktion aufzurufen, wenn sich der Alarmstatus ändert. Weitere Informationen finden Sie im Abschnitt Alarmaktionen im CloudWatch Amazon-Benutzerhandbuch.