AWS IoT Greengrass Version 1 memasuki fase umur panjang pada 30 Juni 2023. Untuk informasi selengkapnya, lihat kebijakan AWS IoT Greengrass V1 pemeliharaan. Setelah tanggal ini, tidak AWS IoT Greengrass V1 akan merilis pembaruan yang menyediakan fitur, penyempurnaan, perbaikan bug, atau patch keamanan. Perangkat yang berjalan AWS IoT Greengrass V1 tidak akan terganggu dan akan terus beroperasi dan terhubung ke cloud. Kami sangat menyarankan Anda bermigrasi ke AWS IoT Greengrass Version 2, yang menambahkan fitur baru yang signifikan dan dukungan untuk platform tambahan.
Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
CloudWatch Konektor metrik
Konektor CloudWatch Metrik menerbitkan metrik khusus dari perangkat Greengrass ke Amazon. CloudWatch Konektor menyediakan infrastruktur terpusat untuk menerbitkan CloudWatch metrik, yang dapat Anda gunakan untuk memantau dan menganalisis lingkungan inti Greengrass, dan bertindak berdasarkan acara lokal. Untuk informasi selengkapnya, lihat Menggunakan CloudWatch metrik Amazon di Panduan CloudWatch Pengguna Amazon.
Konektor ini menerima data metrik sebagai pesan MQTT. Konektor mengumpulkan metrik yang berada di namespace yang sama dan menerbitkannya secara berkala. CloudWatch
Konektor ini memiliki versi berikut.
Versi |
ARN |
---|---|
5 |
|
4 |
|
3 |
|
2 |
|
1 |
|
Untuk informasi tentang perubahan versi, lihat Changelog.
Persyaratan
Konektor ini memiliki persyaratan sebagai berikut:
Parameter Konektor
Konektor ini menyediakan parameter berikut:
Buat Contoh Konektor (AWS CLI)
Perintah CLI berikut membuat ConnectorDefinition
dengan versi awal yang berisi konektor CloudWatch Metrik.
aws greengrass create-connector-definition --name MyGreengrassConnectors --initial-version '{ "Connectors": [ { "Id": "MyCloudWatchMetricsConnector", "ConnectorArn": "arn:aws:greengrass:
region
::/connectors/CloudWatchMetrics/versions/4", "Parameters": { "PublishInterval" : "600", "PublishRegion" : "us-west-2", "MemorySize" : "16", "MaxMetricsToRetain" : "2500", "IsolationMode" : "GreengrassContainer" } } ] }'
Di konsol AWS IoT Greengrass tersebut, Anda dapat menambahkan konektor dari halaman grup Konektor ini. Untuk informasi lebih lanjut, lihat Memulai dengan konektor Greengrass (konsol).
Data input
Konektor ini menerima metrik pada topik MQTT dan menerbitkan metrik ke. CloudWatch Pesan input harus dalam format JSON.
- Filter topik dalam langganan
-
cloudwatch/metric/put
- Properti pesan
-
request
-
Informasi tentang metrik dalam pesan ini.
Objek permintaan berisi data metrik untuk dipublikasikan CloudWatch. Nilai metrik harus memenuhi spesifikasi
PutMetricData
API. Hanyanamespace
,metricData.metricName
, danmetricData.value
properti yang diperlukan.Wajib:
true
Jenis:
object
yang mencakup properti berikut:namespace
-
Namespace yang ditentukan pengguna untuk data metrik dalam permintaan ini. CloudWatch menggunakan ruang nama sebagai wadah untuk titik data metrik.
catatan
Anda tidak dapat menentukan namespace yang dimulai dengan string yang dicadangkan
AWS/
.Wajib:
true
Jenis:
string
Pola yang valid:
[^:].*
metricData
-
Data untuk metrik.
Wajib:
true
Jenis:
object
yang mencakup properti berikut:metricName
-
Nama metrik.
Wajib:
true
Jenis:
string
dimensions
-
Dimensi yang terkait dengan metrik. Dimensi memberikan informasi lebih lanjut tentang metrik dan datanya. Metrik dapat menentukan hingga 10 dimensi.
Konektor ini secara otomatis menyertakan dimensi bernama
coreName
, di mana nilainya adalah nama inti.Wajib:
false
Jenis:
array
objek dimensi yang mencakup properti berikut:name
-
Nama dimensi.
Wajib:
false
Jenis:
string
value
-
Nilai dimensi.
Wajib:
false
Jenis:
string
timestamp
-
Waktu data metrik diterima, dinyatakan sebagai jumlah detik sejak
Jan 1, 1970 00:00:00 UTC
. Jika nilai ini dihilangkan, konektor menggunakan waktu yang menerima pesan.Wajib:
false
Jenis:
timestamp
catatan
Jika Anda menggunakan antara versi 1 dan 4 konektor ini, kami sarankan Anda mengambil stempel waktu secara terpisah untuk setiap metrik saat Anda mengirim beberapa metrik dari satu sumber. Jangan menggunakan variabel untuk menyimpan catatan waktu.
value
-
Nilai untuk metrik.
catatan
CloudWatch menolak nilai yang terlalu kecil atau terlalu besar. Nilai harus dalam kisaran
8.515920e-109
ke1.174271e+108
(Basis 10) atau2e-360
ke2e360
(Basis 2). Nilai khusus (sebagai contoh,NaN
,+Infinity
,-Infinity
) tidak didukung.Wajib:
true
Jenis:
double
unit
-
Unit untuk metrik.
Wajib:
false
Jenis:
string
Nilai yang valid:
Seconds, Microseconds, Milliseconds, Bytes, Kilobytes, Megabytes, Gigabytes, Terabytes, Bits, Kilobits, Megabits, Gigabits, Terabits, Percent, Count, Bytes/Second, Kilobytes/Second, Megabytes/Second, Gigabytes/Second, Terabytes/Second, Bits/Second, Kilobits/Second, Megabits/Second, Gigabits/Second, Terabits/Second, Count/Second, None
- Batas
-
Semua batasan yang diberlakukan oleh CloudWatch
PutMetricData
API berlaku untuk metrik saat menggunakan konektor ini. Batas berikut sangat penting:-
Batas 40 KB pada muatan API
-
20 metrik per permintaan API
-
150 transaksi per detik (TPS) untuk API
PutMetricData
Untuk informasi selengkapnya, lihat CloudWatch batasan di Panduan CloudWatch Pengguna Amazon.
-
- Contoh masukan
-
{ "request": { "namespace": "Greengrass", "metricData": { "metricName": "latency", "dimensions": [ { "name": "hostname", "value": "test_hostname" } ], "timestamp": 1539027324, "value": 123.0, "unit": "Seconds" } } }
Data output
Konektor ini menerbitkan informasi status sebagai data output pada topik MQTT.
- Filter topik dalam langganan
-
cloudwatch/metric/put/status
- Contoh keluaran: Sukses
-
Responsnya mencakup namespace data metrik dan
RequestId
bidang dari respons. CloudWatch{ "response": { "cloudwatch_rid":"70573243-d723-11e8-b095-75ff2EXAMPLE", "namespace": "Greengrass", "status":"success" } }
- Contoh keluaran: Kegagalan
-
{ "response" : { "namespace": "Greengrass", "error": "InvalidInputException", "error_message":"cw metric is invalid", "status":"fail" } }
catatan
Jika konektor mendeteksi kesalahan yang dapat diulang (sebagai contoh, kesalahan koneksi), konektor mengulang lagi publikasinya dalam batch berikutnya.
Contoh Penggunaan
Gunakan langkah-langkah tingkat tinggi berikut untuk mengatur contoh fungsi Lambda Python 3.7 yang dapat Anda gunakan untuk mencoba konektor.
catatan
-
Jika Anda menggunakan waktu aktif Python lainnya, Anda dapat membuat symlink dari Python3.x ke Python 3.7.
-
Topik Memulai dengan konektor (konsol) dan Memulai dengan konektor (CLI) berisi langkah-langkah terperinci yang menunjukkan cara mengonfigurasi dan men-deploy contoh konektor Notifikasi Twilio.
-
Pastikan Anda memenuhi persyaratan untuk konektor.
Untuk persyaratan peran grup, Anda harus mengonfigurasi peran untuk memberikan izin yang diperlukan dan memastikan peran telah ditambahkan ke grup. Untuk informasi lebih lanjut, lihat Mengelola peran grup Greengrass (konsol) atau Mengelola peran grup Greengrass (CLI).
-
Buat dan terbitkan fungsi Lambda yang mengirimkan data input ke konektor.
Simpan kode contoh sebagai file PY. Unduh dan unzip AWS IoT Greengrass Core SDK for Python. Kemudian, buat paket zip yang berisi file PY dan folder
greengrasssdk
dalam tingkat root. Paket zip ini adalah paket deployment yang Anda unggah ke AWS Lambda.Setelah Anda membuat fungsi Lambda Python 3.7, terbitkankan versi fungsi dan buat alias.
-
Konfigurasikan grup Greengrass Anda.
-
Tambahkan fungsi Lambda dengan aliasnya (direkomendasikan). Konfigurasikan siklus hidup Lambda sebagai berumur panjang (atau
"Pinned": true
dalam CLI). -
Tambahkan konektor dan konfigurasikan parameter.
-
Tambahkan langganan yang mengizinkan konektor untuk menerima data input dan mengirim data output pada filter topik yang didukung.
-
Atur fungsi Lambda sebagai sumber, konektor sebagai target, dan gunakan filter topik input yang mendukung.
-
Atur konektor sebagai sumber, AWS IoT Core sebagai target, dan gunakan filter topik input yang mendukung. Anda menggunakan langganan ini untuk melihat pesan status dalam konsol AWS IoT tersebut.
-
-
-
Men-deploy grup.
-
Di konsol AWS IoT tersebut, pada halaman Tes ini, berlangganan ke topik data output untuk melihat pesan status dari konektor. Contoh fungsi Lambda yang berumur panjang dan mulai mengirim pesan segera setelah grup dalam-deploy.
Setelah selesai pengujian, Anda dapat mengatur siklus hidup Lambda ke sesuai permintaan (atau
"Pinned": false
dalam CLI) dan men-deploy grup. Ini menghentikan fungsi dari mengirim pesan.
Contoh
Contoh fungsi Lambda berikut mengirimkan pesan input ke konektor.
import greengrasssdk import time import json iot_client = greengrasssdk.client('iot-data') send_topic = 'cloudwatch/metric/put' def create_request_with_all_fields(): return { "request": { "namespace": "Greengrass_CW_Connector", "metricData": { "metricName": "Count1", "dimensions": [ { "name": "test", "value": "test" } ], "value": 1, "unit": "Seconds", "timestamp": time.time() } } } 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
Lisensi
Konektor CloudWatch Metrik mencakup perangkat lunak/lisensi pihak ketiga berikut:
-
AWS SDK for Python (Boto3)
/Apache License 2.0 -
botocore
/Apache License 2.0 -
dateutil
/PSF License -
docutils
/BSD License, Lisensi Publik Umum (GPL) GNU, Lisensi Dasar Perangkat Lunak Python, Domain Publik -
jmespath
/MIT License -
s3transfer
/Apache License 2.0 -
urllib3
/Lisensi MIT
Konektor ini dirilis di bawah Perjanjian Lisensi Perangkat lunak core Greengrass
Changelog
Tabel berikut menjelaskan perubahan dalam setiap versi konektor.
Versi |
Perubahan |
---|---|
5 |
Perbaiki untuk menambahkan dukungan untuk stempel waktu duplikat dalam data input. |
4 |
Ditambahkan parameter |
3 |
Memperbarui waktu aktif Lambda untuk Python 3.7, yang mengubah persyaratan waktu aktif. |
2 |
Perbaiki untuk mengurangi pencatatan berlebihan. |
1 |
Pelepasan awal. |
Sebuah grup Greengrass dapat berisi hanya satu versi konektor pada suatu waktu. Untuk informasi lebih lanjut tentang pembaruan versi konektor, lihat Versi upgrade konektor.
Lihat juga
-
Integrasikan dengan layanan dan protokol menggunakan konektor Greengrass
-
Menggunakan CloudWatch metrik Amazon di CloudWatch Panduan Pengguna Amazon
-
PutMetricDatadi Referensi CloudWatch API Amazon