將 AWS IoT SiteWise 警示連接至 AWS IoT TwinMaker Grafana 儀表板 - AWS IoT TwinMaker

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

將 AWS IoT SiteWise 警示連接至 AWS IoT TwinMaker Grafana 儀表板

注意

此功能為公開預覽版,可能會有所變更。

AWS IoT TwinMaker 能夠將 AWS IoT SiteWise 和 事件警示匯入 AWS IoT TwinMaker 元件。這可讓您查詢警示狀態並設定警示閾值,而無需實作自訂資料連接器以進行 AWS IoT SiteWise 資料遷移。您可以使用 AWS IoT TwinMaker Grafana 外掛程式將警示狀態視覺化,並在 Grafana 中設定警示閾值,而無需對警示進行 API 呼叫 AWS IoT TwinMaker 或直接與 AWS IoT SiteWise 警示互動。

注意

終止支援通知: 將於 2026 AWS 年 5 月 20 日結束對 的支援 AWS IoT Events。2026 年 5 月 20 日之後,您將無法再存取 AWS IoT Events 主控台或 AWS IoT Events 資源。如需詳細資訊,請參閱AWS IoT Events 終止支援

AWS IoT SiteWise 警示組態先決條件

在建立警示並將其整合到您的 Grafana 儀表板之前,請確定您已檢閱下列先決條件:

  • 熟悉 AWS IoT SiteWise模型和資產系統。如需詳細資訊,請參閱 AWS IoT SiteWise 使用者指南中的建立資產模型建立資產

  • 熟悉 IoT Events 警示模型,以及如何將它們連接到 AWS IoT SiteWise 模型。如需詳細資訊,請參閱 AWS IoT SiteWise 使用者指南中的定義 AWS IoT 事件警示

  • AWS IoT TwinMaker 與 Grafana 整合,讓您可以存取 Grafana 中的 AWS IoT TwinMaker 資源。如需詳細資訊,請參閱 AWS IoT TwinMaker Grafana 儀表板整合

定義 AWS IoT SiteWise 警示元件 IAM 角色

AWS IoT TwinMaker 使用工作區 IAM 角色在 Grafana 中查詢和設定警示閾值。 AWS IoT TwinMaker 工作區角色需要下列許可,才能與 Grafana 中的 AWS IoT SiteWise 警示互動:

{ "Effect": "Allow", "Action": [ "iotevents:DescribeAlarmModel", ], "Resource": ["{IoTEventsAlarmModelArn}"] },{ "Effect": "Allow", "Action": [ "iotsitewise:BatchPutAssetPropertyValue" ], "Resource": ["{IoTSitewiseAssetArn}"] }

AWS IoT TwinMaker 主控台中,建立代表您 AWS IoT SiteWise 資產的實體。請務必使用 新增該實體的元件com.amazon.iotsitewise.alarm做為元件類型,並挑選對應的資產和警示模型。

新增元件畫面顯示 com.amazon.iotsitewise.alarm 類型的元件。

上述螢幕擷取畫面是使用 類型建立此實體的範例com.amazon.iotsitewise.alarm

當您建立此元件時, AWS IoT TwinMaker 會自動從 AWS IoT SiteWise 和 匯入相關的警示屬性 AWS IoT Events。您可以重複此警示元件類型模式,為工作區中所需的所有資產建立警示元件。

透過 AWS IoT TwinMaker API 查詢和更新

建立警示元件之後,您可以透過 AWS IoT TwinMaker API 查詢警示狀態、閾值和更新警示閾值。

以下是查詢警示狀態的範例請求:

aws iottwinmaker get-property-value-history --cli-input-json \ '{ "workspaceId": "{workspaceId}", "entityId": "{entityId}", "componentName": "{componentName}", "selectedProperties": ["alarm_status"], "startTime": "{startTimeIsoString}", "endTime": "{endTimeIsoString}" }'

以下是查詢警示閾值的範例請求。

aws iottwinmaker get-property-value-history --cli-input-json \ '{ "workspaceId": "{workspaceId}", "entityId": "{entityId}", "componentName": "{componentName}", "selectedProperties": ["alarm_threshold"], "startTime": "{startTimeIsoString}", "endTime": "{endTimeIsoString}" }'

以下是更新警示閾值的範例請求:

aws iottwinmaker batch-put-property-values --cli-input-json \ '{ "workspaceId": "{workspaceId}", "entries": [ { "entityPropertyReference": { "entityId": "{entityId}", "componentName": "{componentName}", "propertyName": "alarm_threshold" }, "propertyValues": [ { "value": { "doubleValue": "{newThreshold}" }, "time": "{effectiveTimeIsoString}" } ] } ] }'

設定警示的 Grafana 儀表板

需要建立第二個啟用寫入的儀表板 IAM 角色 ,這是正常角色,但具有iottwinmaker:BatchPutPropertyValues將 動作新增至 TwinMaker 工作區的許可,如以下範例所示。

JSON
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "iottwinmaker:Get*", "iottwinmaker:List*", "iottwinmaker:BatchPutPropertyValues" ], "Resource": [ "{workspaceArn}", "{workspaceArn}/*" ] }, { "Effect": "Allow", "Action": "iottwinmaker:ListWorkspaces", "Resource": "*" } ] }

或者,您可以在 IAM 角色的結尾新增此陳述式:

{ "Effect": "Allow", "Action": [ "iottwinmaker:BatchPutPropertyValues" ], "Resource": [ "{workspaceArn}", "{workspaceArn}/*" ] }

資料來源需要使用您建立的儀表板寫入角色來設定其寫入 arn。

修改 IAM 角色後,請登入 Grafana 儀表板以擔任更新的角色。選取定義警示組態面板寫入許可的核取方塊,並在 arn 中複製寫入角色。

選取核取方塊並反白顯示 arn 項目方塊的 Grafana 儀表板設定標籤。

使用 Grafana 儀表板進行警示視覺化

使用下列程序將警示組態面板新增至儀表板並進行設定::

  1. 在面板選項中選取工作區。

  2. 在查詢組態中設定您的資料來源。

  3. 使用下列查詢類型:Get Property Value History by Entity

  4. 選取您要新增警示的實體或實體變數。

  5. 選取實體之後,請選取要套用屬性的元件或元件變數。

  6. 針對 屬性,選擇: alarm_statusalarm_threshold

    連線後,您應該會看到警示 ID 的 ID 及其目前的閾值。

    注意

    對於公開預覽,不會顯示通知。您應該檢閱警示狀態和閾值,以確保屬性已正確套用。

  7. 應使用預設的遞增查詢順序,以便顯示最新的值。

  8. 查詢的篩選條件區段可以保留空白。完整的組態如下所示:

    Grafana 實驗室警示組態測試/編輯面板,其中已填入完整組態。
  9. 透過使用編輯警示按鈕,您可以開啟對話方塊來變更目前的警示閾值。

  10. 選取儲存以設定新的閾值。

    具有取消和儲存按鈕的編輯警示對話方塊。
    注意

    此面板只能與包含目前的即時時間範圍搭配使用。搭配過去結束和開始的時間範圍使用它,可能會在一律將警示閾值編輯為目前閾值時顯示非預期的值。