AWS IoT Greengrass Version 1 於 2023 年 6 月 30 日進入延長使用壽命階段。如需詳細資訊,請參閱AWS IoT Greengrass V1 維護政策。在此日期之後, AWS IoT Greengrass V1 將不會發行提供功能、增強功能、錯誤修正或安全性修補程式的更新。在上運行的設備 AWS IoT Greengrass V1 不會中斷,並將繼續運行並連接到雲。我們強烈建議您移轉至 AWS IoT Greengrass Version 2,這會增加重要的新功能,並支援其他平台。
本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
Splunk 整合連接器
警告
此連接器已移至延長生命階段,以及AWS IoT Greengrass不會發行提供功能、增強現有功能、安全性修補程式或錯誤修正的更新。如需詳細資訊,請參閱 AWS IoT Greengrass Version 1維護政策。
Splunk 整合連接器會將資料從 Greengrass 裝置發佈到 Splunk。這可讓您使用 Splunk 來監控和分析 Greengrass 核心環境,並對本機事件採取行動。連接器與 HTTP 事件收集器 (HEC) 整合。如需詳細資訊,請參閱 Splunk 文件中的 Splunk HTTP 事件收集器簡介
此連接器會接收 MQTT 主題上的記錄和事件資料,並將資料依現狀發佈到 Splunk API。
您可以使用此連接器來支援工業案例,例如:
-
操作員可以使用來自傳動器和感應器的週期性資料 (例如,溫度、壓力和水讀數),在值超出特定閾值時啟動警示。
-
開發人員使用從工業機械收集的資料,以建置機器學習模型來監控設備的潛在問題。
此連接器具有下列版本。
版本 |
ARN |
---|---|
4 |
|
3 |
|
2 |
|
1 |
|
如需版本變更的詳細資訊,請參閱 Changelog。
要求
此連接器有下列要求:
連接器參數
此連接器提供下列參數:
建立範例連接器 (AWS CLI)
以下 CLI 命令會建立ConnectorDefinition
使用包含 Splunk 整合連接器的初始版本。
aws greengrass create-connector-definition --name MyGreengrassConnectors --initial-version '{ "Connectors": [ { "Id": "MySplunkIntegrationConnector", "ConnectorArn": "arn:aws:greengrass:
region
::/connectors/SplunkIntegration/versions/4", "Parameters": { "SplunkEndpoint": "https://myinstance.cloud.splunk.com:8088", "MemorySize": 200000, "SplunkQueueSize": 10000, "SplunkFlushIntervalSeconds": 5, "SplunkTokenSecretArn":"arn:aws:secretsmanager:region
:account-id
:secret:greengrass-secret-hash
", "SplunkTokenSecretArn-ResourceId": "MySplunkResource", "IsolationMode" : "GreengrassContainer" } } ] }'
注意
此連接器中的 Lambda 函數具有長期生命週期。
在 中AWS IoT Greengrass主控台,您可以從群組中新增連接器連接器(憑證已建立!) 頁面上的名稱有些許差異。如需詳細資訊,請參閱 Greengrass 連接器入門 (主控台)。
輸入資料
此連接器會接受 MQTT 主題上的記錄和事件資料,並將收到的資料依現狀發佈到 Splunk API。輸入訊息必須是 JSON 格式。
- 訂閱中的主題篩選條件
-
splunk/logs/put
- 訊息屬性
-
request
-
要傳送到 Splunk API 的事件資料。事件必須符合 服務/收集器
API 的規格。 必要
true
類型:
object
。 只有event
需要屬性。 id
-
請求的任意 ID。此屬性用於將輸入請求映射到輸出狀態。
必要
false
類型:
string
- 限制
-
Splunk API 實施的所有限制,在使用此連接器時都適用。如需詳細資訊,請參閱服務/收集器
。 - 範例輸入
-
{ "request": { "event": "some event", "fields": { "severity": "INFO", "category": [ "value1", "value2" ] } }, "id": "request123" }
輸出資料
此連接器將輸出資料發佈在兩個主題:
-
splunk/logs/put/status
主題上的狀態資訊。 -
splunk/logs/put/error
主題的相關錯誤。
- 主題篩選條件:
splunk/logs/put/status
-
使用此主題監聽請求的狀態。每次連接器將一批收到的資料傳送到 Splunk API 時,就會發佈成功請求和失敗請求的 ID 清單。
- 範例輸出
-
{ "response": { "succeeded": [ "request123", ... ], "failed": [ "request789", ... ] } }
- 主題篩選條件:
splunk/logs/put/error
-
使用此主題監聽來自連接器的錯誤。
error_message
屬性,描述處理請求時發生的錯誤或逾時。- 範例輸出
-
{ "response": { "error": "UnauthorizedException", "error_message": "invalid splunk token", "status": "fail" } }
注意
如果連接器偵測到可重試的錯誤 (例如,連線錯誤),它會在下一個批次中重試發佈。
使用範例
使用下列高階步驟,設定可用來試用連接器的範例 Python 3.7 Lambda 函數。
注意
-
如果您使用的是其他 Python 執行時間,則可以建立從 Python 3.x 到 Python 3.7 的符號連結。
-
連接器入門 (主控台) 和 連接器入門 (CLI) 主題包含詳細步驟,說明如何設定和部署範例 Twilio 通知連接器。
-
確定您符合連接器的要求。
-
建立並發佈 Lambda 函數,以將輸入資料傳送至連接器。
將範例程式碼儲存為 PY 檔案。下載並解壓縮AWS IoT Greengrass適用於 Python 的核心開發套。然後,建立在根層級包含 PY 檔案和
greengrasssdk
資料夾的 zip 套件。此 zip 套件是您上傳至的部署套件AWS Lambda。建立 Python 3.7 Lambda 函數後,請發佈函數版本並建立別名。
-
設定 Greengrass 群組。
-
部署群組。
-
在 中AWS IoT主控台上測試」頁面中,訂閱輸出資料主題以檢視來自連接器的狀態訊息。範例 Lambda 函數具有長時間的生命週期,而且在部署完群組後會立即開始傳送訊息。
完成測試後,您可以將 Lambda 生命週期設為隨需 (或
"Pinned": false
在 CLI 中) 並部署群組。這會讓函數停止傳送訊息。
範例
下列範例 Lambda 函數會將輸入訊息傳送至連接器。
import greengrasssdk import time import json iot_client = greengrasssdk.client('iot-data') send_topic = 'splunk/logs/put' def create_request_with_all_fields(): return { "request": { "event": "Access log test message." }, "id" : "req_123" } def publish_basic_message(): messageToPublish = create_request_with_all_fields() print("Message To Publish: ", messageToPublish) iot_client.publish(topic=send_topic, payload=json.dumps(messageToPublish)) publish_basic_message() def lambda_handler(event, context): return
license
此連接器會在Greengrass Core 軟體授權合約
Changelog
下表說明連接器每個版本的變更。
版本 |
變更 |
---|---|
4 |
已新增 |
3 |
已將 Lambda 執行時間升級至 Python 3.7,這會改變執行時間要求。 |
2 |
可減少過多記錄的修正。 |
1 |
初始版本。 |
Greengrass 群組一次只能包含連接器的一個版本。若要取得有關升級連接器版本的資訊,請參閱升級連接器版本。