Mengumpulkan data telemetri kondisi sistem dari perangkat AWS IoT Greengrass core - AWS IoT Greengrass

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.

Mengumpulkan data telemetri kondisi sistem dari perangkat AWS IoT Greengrass core

Data telemetri kondisi sistem adalah data diagnostik yang dapat membantu Anda memantau kinerja operasi kritis pada perangkat core Greengrass Anda. Agen telemetri pada core Greengrass mengumpulkan data telemetri lokal dan menerbitkannya ke Amazon EventBridge tanpa memerlukan interaksi pelanggan. Perangkat inti mempublikasikan data telemetri untuk EventBridge atas dasar upaya terbaik. Sebagai contoh, perangkat inti mungkin gagal untuk mengirimkan data telemetri saat offline.

catatan

Amazon EventBridge adalah layanan bus peristiwa yang dapat Anda gunakan untuk menghubungkan aplikasi Anda dengan data dari berbagai sumber, seperti Perangkat core Greengrass and pemberitahuan deployment. Untuk informasi lebih lanjut, lihat Apa yang dimaksud dengan Amazon EventBridge? di Panduan EventBridge Pengguna Amazon.

Anda dapat membuat proyek dan aplikasi untuk mengambil, menganalisis, mengubah, dan melaporkan data telemetri dari perangkat edge Anda. Pakar domain, seperti proses engineer, dapat menggunakan aplikasi ini untuk mendapatkan wawasan tentang kondisi armada.

Untuk memastikan bahwa komponen edge Greengrass berfungsi dengan baik, AWS IoT Greengrass menggunakan data untuk tujuan pengembangan dan peningkatan kualitas. Fitur ini juga membantu menginformasikan kemampuan edge yang baru dan ditingkatkan. AWS IoT Greengrass hanya menyimpan data telemetri hingga tujuh hari.

Fitur ini tersedia di perangkat lunak AWS IoT Greengrass core v1.11.0 dan diaktifkan secara default untuk semua core Greengrass, termasuk core yang ada. Anda secara otomatis mulai menerima data segera setelah Anda membarui ke perangkat lunak AWS IoT Greengrass core v1.11.0 atau yang lebih baru.

Untuk informasi tentang cara mengakses atau mengelola data telemetri yang dipublikasikan, lihat Berlangganan untuk menerima data telemetri.

Agen telemetri mengumpulkan dan menerbitkan metrik sistem berikut.

Metrik Telemetri
Nama Penjelasan Sumber

SystemMemUsage

Jumlah memori yang saat ini digunakan oleh semua aplikasi pada perangkat inti Greengrass, termasuk sistem operasi.

Sistem

CpuUsage

Jumlah CPU yang saat ini digunakan oleh semua aplikasi pada perangkat inti Greengrass, termasuk sistem operasi.

Sistem

TotalNumberOfFDs

Bilangan deskriptor file yang disimpan oleh sistem operasi perangkat inti Greengrass. Satu file deskriptor secara unik mengidentifikasi satu file yang terbuka.

Sistem

LambdaOutOfMemory

Jumlah yang berjalan dan menghasilkan fungsi Lambda akan kehabisan memori.

Sistem

DroppedMessageCount

Jumlah pesan dibatalkan yang ditujukan untuk AWS IoT Core.

GGCloudSpooler komponen sistem

LambdaTimeout

Jumlah timeout untuk menjalankan fungsi Lambda yang ditetapkan pengguna.

Fungsi Lambda yang ditentukan pengguna, AWS Cloud, dan sistem

LambdaUngracefullyKilled

Jumlah yang berjalan yang ditetapkan pengguna fungsi Lambda gagal untuk selesai.

Fungsi Lambda yang ditentukan pengguna, AWS Cloud, dan sistem

LambdaError

Jumlah yang berjalan yang menghasilkan catatan kesalahan penulisan fungsi Lambda yang ditetapkan pengguna.

Fungsi Lambda yang ditentukan pengguna, AWS Cloud, dan sistem

BytesAppended

Jumlah byte data ditambahkan ke pengelola pengaliran.

GGStreamManager komponen sistem

BytesUploadedToIoTAnalytics

Jumlah byte data yang diekspor pengelola pengaliran ke saluran di AWS IoT Analytics.

GGStreamManager komponen sistem

BytesUploadedToKinesis

Jumlah byte data yang diekspor pengelola pengaliran ke pengaliran di Amazon Kinesis Data Streams.

GGStreamManager komponen sistem

BytesUploadedToIoTSiteWise

Jumlah byte data yang diekspor pengelola pengaliran ke properti aset di AWS IoT SiteWise.

GGStreamManager komponen sistem

BytesUploadedToS3ExportTaskExecutor

Jumlah byte data yang diekspor pengelola pengaliran ke objek di Amazon S3.

GGStreamManager komponen sistem

BytesUploadedToHTTP

Jumlah byte data yang diekspor pengelola pengaliran ke HTTP.

GGStreamManager komponen sistem

Mengonfigurasi pengaturan telemetri

Telemetri Greengrass menggunakan pengaturan berikut:

  • Agen telemetri mengumpulkan data telemetri setiap jam.

  • Agen telemetri menerbitkan pesan telemetri setiap 24 jam.

catatan

Pengaturan tidak dapat diubah.

Anda dapat mengaktifkan atau menonaktifkan fitur telemetri untuk perangkat core Greengrass. AWS IoT Greengrass menggunakan bayangan untuk mengelola konfigurasi telemetri. Perubahan yang Anda lakukan berlaku segera ketika core memiliki koneksi ke AWS IoT Core.

Agen telemetri menerbitkan data menggunakan protokol MQTT dengan tingkat kualitas layanan (QoS) 0. Ini berarti bahwa hal tersebut tidak mengonfirmasi pengiriman atau mencoba lagi upaya penerbitan. Pesan telemetri berbagi koneksi MQTT dengan pesan lain untuk langganan yang ditujukan pada AWS IoT Core.

Selain biaya tautan data Anda, transfer data dari core ke AWS IoT Core tidak dipungut biaya. Hal ini karena agen menerbitkan ke topik AWS yang disimpan. Namun, tergantung pada kasus penggunaan Anda, Anda dapat dikenakan biaya saat menerima atau memproses data.

Persyaratan

Persyaratan berikut berlaku, ketika Anda mengonfigurasi pengaturan telemetri:

  • Anda harus menggunakan perangkat lunak AWS IoT Greengrass core v1.11.0 atau yang lebih baru.

    catatan

    Jika Anda menjalankan versi sebelumnya dan Anda tidak ingin menggunakan telemetri, Anda tidak perlu melakukan apapun.

  • Anda harus memberikan IAM izin untuk memperbarui core (hal) bayangan dan memanggil konfigurasi API sebelum Anda memperbarui pengaturan telemetri.

    Contoh kebijakan IAM berikut memungkinkan Anda mengelola bayangan dan waktu aktif konfigurasi core tertentu:

    { "Version": "2012-10-17", "Statement": [ { "Sid": "AllowManageShadow", "Effect": "Allow", "Action": [ "iot:GetThingShadow", "iot:UpdateThingShadow", "iot:DeleteThingShadow", "iot:DescribeThing" ], "Resource": [ "arn:aws:iot:region:account-id:thing/core-name-*" ] }, { "Sid": "AllowManageRuntimeConfig", "Effect": "Allow", "Action": [ "greengrass:GetCoreRuntimeConfiguration", "greengrass:UpdateCoreRuntimeConfiguration" ], "Resource": [ "arn:aws:iot:region:account-id:thing/core-name" ] } ] }

    Anda dapat memberikan akses terperinci atau bersyarat ke sumber daya, misalnya, dengan menggunakan wildcard * skema penamaan. Untuk informasi lebih lanjut, lihat Penambahan dan Penghapusan kebijakan IAM dalam Panduan Pengguna IAM.

Konfigurasikan pengaturan telemetri (konsol)

Berikut ini menunjukkan cara memperbarui pengaturan telemetri core Greengrass di konsol AWS IoT Greengrass tersebut.

  1. Di panel navigasiAWS IoT konsol, di bawah Kelola, luaskan perangkat Greengrass, lalu pilih Grup (V1).

  2. Untuk grup Greengrass, pilih grup target.

  3. Pada halaman konfigurasi grup, di bagian Ikhtisar, pilih inti Greengrass Anda.

  4. Pada halaman konfigurasi core, pilih tab Telemetri.

  5. Di bagian Telemetri kesehatan sistem, pilih Konfigurasi.

  6. Di Konfigurasi telemetri, pilih Telemetri untuk mengaktifkan atau menonaktifkan status Telemetri.

    penting

    Secara default, fitur telemetri diaktifkan untuk perangkat lunak AWS IoT Greengrass core v1.11.0 atau yang lebih baru.

Perubahan berlaku pada saatwaktu aktif. Anda tidak perlu men-deploy grup.

Mengonfigurasi pengaturan telemetri (CLI)

Di API AWS IoT Greengrass tersebut, objek TelemetryConfiguration mewakili pengaturan telemetri core Greengrass. Objek ini adalah bagian dari objek RuntimeConfiguration yang terkait dengan core. Anda dapat menggunakan API AWS IoT Greengrass tersebut, AWS CLI, atau AWS SDK untuk mengelola telemetri Greengrass. Contoh dalam bagian ini menggunakanAWS CLI.

Untuk memeriksa pengaturan telemetri

Perintah berikut mendapat pengaturan telemetri dari core Greengrass.

  • Ganti core-thing-namedengan nama core target.

    Untuk mendapatkan nama hal, Anda bisa menggunakan get-core-definition-versionperintah ini. Perintah mengembalikan ARN dari hal yang berisi nama hal.

aws greengrass get-thing-runtime-configuration --thing-name core-thing-name

Perintah mengembalikan objek GetCoreRuntimeConfigurationResponse dalam respons JSON. Misalnya:

{ "RuntimeConfiguration": { "TelemetryConfiguration": { "ConfigurationSyncStatus": "OutOfSync", "Telemetry": "On" } } }
Untuk mengonfigurasi pengaturan telemetri

Perintah berikut membarui pengaturan telemetri untuk core Greengrass.

  • Ganti core-thing-namedengan nama core target.

    Untuk mendapatkan nama hal, Anda bisa menggunakan get-core-definition-versionperintah ini. Perintah mengembalikan ARN dari hal yang berisi nama hal.

JSON expanded
aws greengrass update-thing-runtime-configuration --thing-name core-thing-name --telemetry-configuration '{ "RuntimeConfiguration": { "TelemetryConfiguration": { "ConfigurationSyncStatus": "InSync", "Telemetry": "Off" } } }
JSON single-line
aws greengrass update-thing-runtime-configuration --thing-name core-thing-name --telemetry-configuration "{\"TelemetryConfiguration\":{\"ConfigurationSyncStatus\":\"InSync\",\"Telemetry\":\"Off\"}}"

Perubahan pengaturan telemetri telah diterapkan jika ConfigurationSyncStatus adalah InSync. Perubahan berlaku pada saatwaktu aktif. Anda tidak perlu men-deploy grup.

TelemetryConfiguration objek

Objek TelemetryConfiguration memiliki properti berikut:

ConfigurationSyncStatus

Periksa apakah pengaturan telemetri sudah sinkron. Anda mungkin tidak membuat perubahan pada properti ini.

Tipe: string

Nilai yang valid: InSync atau OutOfSync

Telemetry

Menghidupkan atau mematikan telemetri. Default-nya adalah On.

Tipe: string

Nilai yang valid: On atau Off

Berlangganan untuk menerima data telemetri

Anda dapat membuat aturan di Amazon EventBridge yang menentukan bagaimana memproses data telemetri agar diterbitkan dari perangkat inti Greengrass. Ketika EventBridge menerima data, ia memanggil tindakan target yang ditentukan dalam aturan Anda. Misalnya, Anda dapat membuat aturan acara yang mengirim notifikasi, menyimpan informasi acara, mengambil tindakan korektif, atau memanggil acra lain.

Peristiwa Telemetri

Acara untuk perubahan status deployment termasuk data telemetri menggunakan format berikut:

{ "version": "0", "id": "f70f943b-9ae2-e7a5-fec4-4c22178a3e6a", "detail-type": "Greengrass Telemetry Data", "source": "aws.greengrass", "account": "123456789012", "time": "2020-07-28T20:45:53Z", "region": "us-west-1", "resources": [], "detail": { "ThingName": "CoolThing", "Schema": "2020-06-30", "ADP": [ { "TS": 123231546, "NS": "StreamManager", "M": [ { "N": "BytesAppended|BytesUploadedToKinesis", "Sum": 11, "U": "Bytes" } ] }, { "TS": 123231546, "NS": "StreamManager", "M": [ { "N": "BytesAppended|BytesUploadedToS3ExportTaskExecutor", "Sum": 11, "U": "Bytes" } ] }, { "TS": 123231546, "NS": "StreamManager", "M": [ { "N": "BytesAppended|BytesUploadedToHTTP", "Sum": 11, "U": "Bytes" } ] }, { "TS": 123231546, "NS": "StreamManager", "M": [ { "N": "BytesAppended|BytesUploadedToIoTAnalytics", "Sum": 11, "U": "Bytes" } ] }, { "TS": 123231546, "NS": "StreamManager", "M": [ { "N": "BytesAppended|BytesUploadedToIoTSiteWise", "Sum": 11, "U": "Bytes" } ] }, { "TS": 123231546, "NS": "arn:aws:lambda:us-west-1:123456789012:function:my-function", "M": [ { "N": "LambdaTimeout", "Sum": 15, "U": "Count" } ] }, { "TS": 123231546, "NS": "CloudSpooler", "M": [ { "N": "DroppedMessageCount", "Sum": 15, "U": "Count" } ] }, { "TS": 1593727692, "NS": "SystemMetrics", "M": [ { "N": "SystemMemUsage", "Sum": 11.23, "U": "Megabytes" }, { "N": "CpuUsage", "Sum": 35.63, "U": "Percent" }, { "N": "TotalNumberOfFDs", "Sum": 416, "U": "Count" } ] }, { "TS": 1593727692, "NS": "arn:aws:lambda:us-west-1:123456789012:function:my-function", "M": [ { "N": "LambdaOutOfMemory", "Sum": 12, "U": "Count" }, { "N": "LambdaUngracefullyKilled", "Sum": 100, "U": "Count" }, { "N": "LambdaError", "Sum": 7, "U": "Count" } ] } ] } }

Array ADP berisi daftar titik data agregat yang memiliki sifat sebagai berikut:

TS

Diperlukan. Timestamp saat data dikumpulkan.

NS

Diperlukan. Namespace dari sistem.

M

Diperlukan. Daftar metrik. Metrik ini berisi properti berikut:

N

Nama metrik.

Sum

Nilai metrik agregat. Agen telemetri menambahkan nilai baru ke total sebelumnya, sehingga jumlahnya adalah nilai yang terus meningkat. Anda dapat menggunakan timestamp untuk menemukan nilai agregasi tertentu. Misalnya, untuk menemukan nilai agregat terbaru, kurangi nilai berstempel waktu sebelumnya dari nilai berstempel waktu terbaru.

U

Unit nilai metrik.

ThingName

Diperlukan. Nama perangkat hal yang Anda targetkan.

Prasyarat untuk membuat EventBridge aturan

Sebelum Anda membuat EventBridge aturan untukAWS IoT Greengrass, Anda harus melakukan hal berikut:

  • Biasakan diri Anda dengan peristiwa, aturan, dan target di EventBridge.

  • Buat dan konfigurasi target yang dipanggil oleh EventBridge aturan Anda. Aturan dapat memanggil berbagai jenis target, seperti Amazon Kinesis Streams, fungsi AWS Lambda, topik Amazon SNS, dan antrean Amazon SQS.

    EventBridge Aturan Anda, dan target terkait harus berada diWilayah AWS tempat Anda menciptakan sumber daya Greengrass Anda. Untuk informasi selengkapnya, lihat Endpoint dan kuota layanan di bagian Referensi Umum AWS.

Untuk informasi lebih lanjut, lihat Apa yang dimaksud dengan Amazon EventBridge? dan Memulai dengan Amazon EventBridge di Panduan EventBridge Pengguna Amazon.

Buat aturan peristiwa untuk mendapatkan data telemetri (konsol)

Gunakan langkah-langkah berikut untuk menggunakan dalamAWS Management Console membuat EventBridge aturan yang menerima data telemetri agar diterbitkan oleh core Greengrass. Hal ini memungkinkan server web, alamat email, dan pelanggan topik lainnya untuk menanggapi peristiwa tersebut. Untuk informasi selengkapnya, lihat Membuat EventBridge aturan yang memicu peristiwa dariAWS sumber daya di Panduan EventBridge Pengguna Amazon.

  1. Buka EventBridgekonsol Amazon dan pilih Buat aturan.

  2. Di bawah Nama dan deskripsi, masukkan nama dan deskripsi untuk alarm Anda.

  3. Pilih bus acara - dan aktifkan aturan pada bus acara yang dipilih..

  4. Pilih jenis Aturan dan pilih Aturan dengan pola peristiwa.

  5. Pilih Selanjutnya.

  6. Untuk Sumber acara, pilih AWSacara atau acara EventBridge mitra.

  7. Untuk contoh acara, pilih AWSacara, dan pilih Greengrass Telemetri Data.

  8. Dalam pola acara, membuat pilihan berikut:

    1. Untuk sumber acara, pilih AWSlayanan.

    2. Untuk AWSlayanan, pilih Greengrass.

    3. Untuk Jenis acara, pilih Data Telemetri Greengrass.

  9. Pilih Selanjutnya.

  10. Untuk Target 1, pilih AWSlayanan.

  11. Untuk Pilih target, pilih antrian SQS.

  12. Untuk Antrian, pilih fungsi Anda.

Buat aturan peristiwa untuk mendapatkan data telemetri (CLI)

Gunakan langkah-langkah berikut untuk menggunakan dalamAWS CLI membuat EventBridge aturan yang menerima data telemetri agar diterbitkan oleh core Greengrass. Hal ini memungkinkan server web, alamat email, dan pelanggan topik lainnya untuk menanggapi peristiwa tersebut.

  1. Buat aturan .

    • Ganti nama-hal dengan nama core.

      Untuk mendapatkan nama hal, Anda bisa menggunakan get-core-definition-versionperintah ini. Perintah mengembalikan ARN dari hal yang berisi nama hal.

    aws events put-rule \ --name TestRule \ --event-pattern "{\"source\": [\"aws.greengrass\"], \"detail\": {\"ThingName\": [\"thing-name\"]}}"

    Properti apa pun yang Anda hilangkan dari pola akan diabaikan.

  2. Tambahkan topik sebagai target aturan. Contoh berikut menggunakan Amazon SQS tetapi Anda dapat mengonfigurasi jenis target lainnya.

    • Ganti queue-arn dengan ARN dari antrean Amazon SQS Anda.

    aws events put-targets \ --rule TestRule \ --targets "Id"="1","Arn"="queue-arn"
    catatan

    Untuk mengizinkan Amazon EventBridge untuk memanggil antrean target Anda, Anda harus menambahkan kebijakan berbasis sumber daya pada topik Anda. Untuk informasi selengkapnya, lihat izin Amazon SQS di Panduan EventBridge Pengguna Amazon.

Untuk informasi selengkapnya, lihat Pola peristiwa dan peristiwa EventBridge di dalam Panduan EventBridge Pengguna Amazon.

Penyelesaian Masalah AWS IoT Greengrass telemetri

Gunakan informasi berikut untuk menyelesaikan masalah dengan mengonfigurasi AWS IoT Greengrass telemetri.

Error: Respons berisi "ConfigurationStatus“:OutOfSync" "setelah Anda menjalankan get-thing-runtime-configuration perintah

Solusi:

  • Layanan Bayangan Perangkat AWS IoT membutuhkan waktu untuk memproses pembaruan konfigurasi waktu aktif dan untuk memberikan pembaruan ke perangkat core Greengrass. Anda dapat menunggu dan memeriksa apakah pengaturan telemetri nanti akan disinkronkan.

  • Pastikan bahwa perangkat core Anda online.

  • Mengaktifkan Amazon CloudWatch Logs diAWS IoT Core untuk memantau bayangannya.

  • Gunakan AWS IoT metrik untuk memantau hal Anda.