本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
從 AWS IoT Greengrass 核心裝置收集系統運作狀態遙測資料
系統運作狀態遙測資料是診斷資料,可協助您監控 Greengrass 核心裝置上的關鍵操作效能。您可以建立專案和應用程式,從邊緣裝置擷取、分析、轉換和報告遙測資料。程序工程師等網域專家可以使用這些應用程式來深入了解機群運作狀態。
您可以使用下列方法來從 Greengrass 核心裝置收集遙測資料:
-
Nucleus 遙測發射器元件 - Greengrass 核心裝置上的核遙測發射器元件 (
aws.greengrass.telemetry.NucleusEmitter
) 預設會將遙測資料發佈至$local/greengrass/telemetry
主題。您可以使用發佈至此主題的資料,在核心裝置上於本機執行動作,即使您的裝置與雲端的連線有限。您也可以選擇性地設定 元件,將遙測資料發佈至您選擇的 AWS IoT Core MQTT 主題。您必須將核發射器元件部署至核心裝置,才能發佈遙測資料。將遙測資料發佈至本機主題不會產生相關費用。不過,使用 MQTT 主題將資料發佈到 時 AWS 雲端 ,需受AWS IoT Core 定價
的限制。 AWS IoT Greengrass 提供數個社群元件,可協助您使用 InfluxDB 和 Grafana,在核心裝置上本機分析和視覺化遙測資料。這些元件使用來自 核發射器元件的遙測資料。如需詳細資訊,請參閱 InfluxDB 發佈者元件
的 README。 -
遙測代理程式:Greengrass 核心裝置上的遙測代理程式會收集本機遙測資料,並將其發佈至 Amazon EventBridge,而不需要任何客戶互動。核心裝置會盡最大努力將遙測資料發佈至 EventBridge。例如,核心裝置可能無法在離線時提供遙測資料。
預設會為所有 Greengrass 核心裝置啟用遙測代理程式功能。設定 Greengrass 核心裝置後,您即會自動開始接收資料。除了您的資料連結成本之外,從核心裝置到 的資料傳輸 AWS IoT Core 是免費的。這是因為代理程式發佈到 AWS 預留主題。不過,根據您的使用案例,您可能會在接收或處理資料時產生成本。
注意
Amazon EventBridge 是一種事件匯流排服務,可用來將應用程式與各種來源的資料連線,例如 Greengrass 核心裝置。如需詳細資訊,請參閱《Amazon EventBridge 使用者指南》中的什麼是 Amazon EventBridge?
為確保 AWS IoT Greengrass 核心軟體正常運作, AWS IoT Greengrass 會使用資料進行開發和品質改善。此功能也有助於通知新的和增強的邊緣功能。 會 AWS IoT Greengrass 保留遙測資料最多七天。
本節說明如何設定和使用遙測代理程式。如需設定 核遙測發射器元件的詳細資訊,請參閱 Nucleus 遙測發射器。
遙測指標
下表說明遙測代理程式發佈的指標。
名稱 | 描述 |
---|---|
系統 |
|
|
Greengrass 核心裝置上所有應用程式目前使用的記憶體量,包括作業系統。 |
|
Greengrass 核心裝置上所有應用程式目前使用的 CPU 數量,包括作業系統。 |
|
Greengrass 核心裝置的作業系統所儲存的檔案描述項數量。一個檔案描述項可唯一識別一個開啟的檔案。 |
Greengrass 核 |
|
|
在 Greengrass 核心裝置上執行的元件數量。 |
|
Greengrass 核心裝置上處於錯誤狀態的元件數量。 |
|
安裝在 Greengrass 核心裝置上的元件數量。 |
|
在 Greengrass 核心裝置上啟動的元件數量。 |
|
Greengrass 核心裝置上新增的元件數量。 |
|
在 Greengrass 核心裝置上停止的元件數量。 |
|
在 Greengrass 核心裝置上完成的元件數量。 |
|
在 Greengrass 核心裝置上損壞的元件數量。 |
|
Greengrass 核心裝置上無狀態的元件數量。 |
用戶端裝置驗證 – 此功能需要 v2.4.0 或更新版本的用戶端裝置驗證元件。 |
|
|
驗證用戶端裝置身分是否成功的次數。 |
|
驗證用戶端裝置身分失敗的次數。 |
|
用戶端裝置被授權完成請求動作的次數。 |
|
用戶端裝置無權完成請求動作的次數。 |
|
用戶端裝置成功驗證的次數。 |
|
用戶端裝置無法驗證的次數。 |
|
憑證更新的成功訂閱數量。 |
|
嘗試訂閱憑證更新的失敗次數。 |
|
用戶端裝置驗證中未處理的內部錯誤數目。 |
串流管理員 – 此功能需要 2.7.0 版或更新版本的 Greengrass 核元件。 |
|
|
附加至串流管理員的資料位元組數。 |
|
串流管理員匯出至頻道的資料位元組數 AWS IoT Analytics。 |
|
串流管理員匯出至 Amazon Kinesis Data Streams 中串流的資料位元組數。 |
|
串流管理員匯出至資產屬性的資料位元組數 AWS IoT SiteWise。 |
|
串流管理員匯出至 Amazon S3 物件的資料位元組數。 |
設定遙測代理程式設定
遙測代理程式使用以下預設設定:
-
遙測代理程式每小時彙總一次遙測資料。
-
遙測代理程式每 24 小時發佈一次遙測訊息。
遙測代理程式會使用服務品質 (QoS) 層級為 0 的 MQTT 通訊協定來發佈資料,這表示它不會確認交付或重試發佈嘗試。遙測訊息會與其他訊息共用 MQTT 連線,以用於 的訂閱 AWS IoT Core。
除了您的資料連結成本之外,從核心到 的資料傳輸 AWS IoT Core 是免費的。這是因為代理程式發佈到 AWS 預留主題。不過,根據您的使用案例,您可能會在接收或處理資料時產生成本。
您可以啟用或停用每個 Greengrass 核心裝置的遙測代理程式功能。您也可以設定核心裝置彙總和發佈資料的間隔。若要設定遙測,請在部署 Greengrass 核元件時自訂遙測組態參數。
訂閱 EventBridge 中的遙測資料
您可以在 Amazon EventBridge 中建立規則,定義如何處理從 Greengrass 核心裝置上的遙測代理程式發佈的遙測資料。EventBridge 接收資料時,會叫用規則中定義的目標動作。例如,您可以建立事件規則來傳送通知、存放事件資訊、採取修正動作或叫用其他事件。
遙測事件
遙測事件使用以下格式。
{ "version": "0", "id": "a09d303e-2f6e-3d3c-a693-8e33f4fe3955", "detail-type": "Greengrass Telemetry Data", "source": "aws.greengrass", "account": "
123456789012
", "time": "2020-11-30T20:45:53Z", "region": "us-east-1", "resources": [], "detail": { "ThingName": "MyGreengrassCore", "Schema": "2020-07-30", "ADP": [ { "TS": 1602186483234, "NS": "SystemMetrics", "M": [ { "N": "TotalNumberOfFDs", "Sum": 6447.0, "U": "Count" }, { "N": "CpuUsage", "Sum": 15.458333333333332, "U": "Percent" }, { "N": "SystemMemUsage", "Sum": 10201.0, "U": "Megabytes" } ] }, { "TS": 1602186483234, "NS": "GreengrassComponents", "M": [ { "N": "NumberOfComponentsStopping", "Sum": 0.0, "U": "Count" }, { "N": "NumberOfComponentsStarting", "Sum": 0.0, "U": "Count" }, { "N": "NumberOfComponentsBroken", "Sum": 0.0, "U": "Count" }, { "N": "NumberOfComponentsFinished", "Sum": 1.0, "U": "Count" }, { "N": "NumberOfComponentsInstalled", "Sum": 0.0, "U": "Count" }, { "N": "NumberOfComponentsRunning", "Sum": 7.0, "U": "Count" }, { "N": "NumberOfComponentsNew", "Sum": 0.0, "U": "Count" }, { "N": "NumberOfComponentsErrored", "Sum": 0.0, "U": "Count" }, { "N": "NumberOfComponentsStateless", "Sum": 0.0, "U": "Count" } ] }, { "TS": 1602186483234, "NS": "aws.greengrass.ClientDeviceAuth", "M": [ { "N": "VerifyClientDeviceIdentity.Success", "Sum": 3.0, "U": "Count" }, { "N": "VerifyClientDeviceIdentity.Failure", "Sum": 1.0, "U": "Count" }, { "N": "AuthorizeClientDeviceActions.Success", "Sum": 20.0, "U": "Count" }, { "N": "AuthorizeClientDeviceActions.Failure", "Sum": 5.0, "U": "Count" }, { "N": "GetClientDeviceAuthToken.Success", "Sum": 5.0, "U": "Count" }, { "N": "GetClientDeviceAuthToken.Failure", "Sum": 2.0, "U": "Count" }, { "N": "SubscribeToCertificateUpdates.Success", "Sum": 10.0, "U": "Count" }, { "N": "SubscribeToCertificateUpdates.Failure", "Sum": 1.0, "U": "Count" }, { "N": "ServiceError", "Sum": 3.0, "U": "Count" } ] }, { "TS": 1602186483234, "NS": "aws.greengrass.StreamManager", "M": [ { "N": "BytesAppended", "Sum": 157745524.0, "U": "Bytes" }, { "N": "BytesUploadedToIoTAnalytics", "Sum": 149012.0, "U": "Bytes" }, { "N": "BytesUploadedToKinesis", "Sum": 12192.0, "U": "Bytes" }, { "N": "BytesUploadedToIoTSiteWise", "Sum": 13321.0, "U": "Bytes" }, { "N": "BytesUploadedToS3", "Sum": 12213.0, "U": "Bytes" } ] } ] } }
ADP
陣列包含具有下列屬性的彙總資料點清單:
TS
-
收集資料時的時間戳記。
NS
-
指標命名空間。
M
-
指標清單。指標包含下列屬性:
N
-
指標的名稱
Sum
-
此遙測事件中的指標值總和。
U
-
指標值的單位。
如需每個指標的詳細資訊,請參閱 遙測指標。
建立 EventBridge 規則的先決條件
為 建立 EventBridge 規則之前 AWS IoT Greengrass,您應該執行下列動作:
如需詳細資訊,請參閱《Amazon EventBridge 使用者指南》中的什麼是 Amazon EventBridge? 和 Amazon EventBridge 入門。
建立事件規則以取得遙測資料 (主控台)
使用下列步驟來使用 AWS Management Console 建立 EventBridge 規則,以接收 Greengrass 核心裝置發佈的遙測資料。藉由這個規則,Web 伺服器、電子郵件地址和其他主題訂閱者將能回應事件。如需詳細資訊,請參閱《Amazon EventBridge 使用者指南》中的從 AWS 資源建立事件觸發的 EventBridge 規則。 EventBridge
-
開啟 Amazon EventBridge 主控台
,然後選擇建立規則。 -
在 Name and description (名稱和描述),輸入規則的名稱和描述。
-
在 Define pattern (定義模式),設定規則模式。
-
選擇 Event pattern (事件模式)。
-
選擇Pre-defined pattern by service (依服務預先定義模式)。
-
在 Service provider (服務提供者),選擇 AWS。
-
在 Service Name (服務名稱),選擇 Greengrass。
-
針對事件類型,選取 Greengrass 遙測資料。
-
-
在 Select event bus (選取事件匯流排),保留預設的事件匯流排選項。
-
在 Select targets (選取目標),設定您的目標。下列範例使用 Amazon SQS 佇列,但您可以設定其他目標類型。
-
針對目標,選擇 SQS 佇列。
-
針對佇列*,選擇您的目標佇列。
-
-
在 Tags - optional (標籤 - 選用),定義規則的標籤,或將欄位留白。
-
選擇 Create (建立)。
建立事件規則以取得遙測資料 (CLI)
使用下列步驟來使用 AWS CLI 建立 EventBridge 規則,以接收 Greengrass 核心裝置發佈的遙測資料。藉由這個規則,Web 伺服器、電子郵件地址和其他主題訂閱者將能回應事件。
-
建立 規則。
-
以核心裝置的
物件名稱
取代 物件名稱。
模式省略的屬性會遭到忽略。
-
-
新增主題作為規則目標。下列範例使用 Amazon SQS,但您可以設定其他目標類型。
-
將
queue-arn
取代為 Amazon SQS 佇列的 ARN。
注意
若要允許 Amazon EventBridge 叫用您的目標佇列,您必須將資源型政策新增至主題。如需詳細資訊,請參閱《Amazon EventBridge 使用者指南》中的 Amazon SQS 許可。 EventBridge
-
如需詳細資訊,請參閱《Amazon EventBridge 使用者指南》中的 EventBridge 中的事件和事件模式。