Pemantauan dengan AWS IoT Greengrass log - 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.

Pemantauan dengan AWS IoT Greengrass log

AWS IoT Greengrass terdiri dari layanan cloud dan AWS IoT Greengrass perangkat lunak core. Perangkat lunak AWS IoT Greengrass Core dapat menulis log ke Amazon CloudWatch dan ke sistem file lokal perangkat inti Anda. Fungsi dan konektor Lambda yang berjalan pada inti juga dapat menulis CloudWatch log ke Log dan sistem file lokal. Anda dapat menggunakan log untuk memantau acara dan meyelesaikan masalah. Semua entri log AWS IoT Greengrass termasuk timestamp, tingkat log, dan informasi tentang acara. Perubahan pada pengaturan pencatatan berlaku setelah Anda men-deploy grup.

Pencatatan dikonfigurasi pada tingkat grup. Untuk langkah-langkah yang menunjukkan cara mengonfigurasi pencatatan untuk grup Greengrass, lihat Konfigurasi pencatatan untuk AWS IoT Greengrass.

Mengakses Log CloudWatch

Jika Anda mengonfigurasi CloudWatch logging, Anda dapat melihat log di halaman Log di CloudWatch konsol Amazon. Grup log untuk log AWS IoT Greengrass menggunakan konvensi penamaan berikut:

/aws/greengrass/GreengrassSystem/greengrass-system-component-name /aws/greengrass/Lambda/aws-region/account-id/lambda-function-name

Setiap grup log berisi aliran log yang menggunakan Konvensi penamaan berikut:

date/account-id/greengrass-group-id/name-of-core-that-generated-log

Pertimbangan berikut berlaku saat Anda menggunakan CloudWatch Log:

  • Log dikirim ke CloudWatch Log dengan jumlah percobaan ulang terbatas jika tidak ada konektivitas internet. Setelah percobaan ulang habis, kegiatan ini dibatalkan.

  • Transaksi, memori, dan keterbatasan lainnya berlaku. Untuk informasi selengkapnya, lihat Batasan pencatatan.

  • Peran grup Greengrass Anda harus AWS IoT Greengrass memungkinkan untuk menulis ke Log. CloudWatch Untuk memberikan izin, menanamkan kebijakan di barisan berikut dalam peran grup Anda.

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "logs:CreateLogGroup", "logs:CreateLogStream", "logs:PutLogEvents", "logs:DescribeLogStreams" ], "Resource": [ "arn:aws:logs:*:*:*" ] } ] }
    catatan

    Anda dapat memberikan akses yang terperinci ke sumber daya log Anda. Untuk informasi selengkapnya, lihat Menggunakan kebijakan berbasis identitas (kebijakan IAM) untuk Log CloudWatch di Panduan Pengguna Amazon. CloudWatch

    Peran grup adalah IAM role yang Anda buat dan lampirkan ke grup Greengrass Anda. Anda dapat menggunakan konsol atau API AWS IoT Greengrass untuk mengelola peran grup.

     

    Menggunakan konsol
    1. Di panel navigasi AWS IoT konsol, di bawah Kelola, perluas perangkat Greengrass, lalu pilih Grup (V1).

    2. Pilih grup target.

    3. Pilih Lihat pengaturan. Di bawah Peran grup, Anda dapat melihat, mengaitkan, atau memisahkan peran grup.

      Untuk langkah-langkah yang menunjukkan cara melampirkan peran grup, lihat peran grup.

     

    Menggunakan CLI

     

    Untuk mempelajari cara mendapatkan ID grup agar dapat digunakan dengan perintah ini, lihat Mendapatkan ID grup.

Mengakses log sistem file

Jika Anda mengonfigurasi pencatatan sistem file, file log disimpan di bawah greengrass-root/ggc/var/log pada perangkat core. Berikut ini adalah struktur direktori tingkat tinggi:

greengrass-root/ggc/var/log - crash.log - system - log files for each Greengrass system component - user - region - account-id - log files generated by each user-defined Lambda function - aws - log files generated by each connector
catatan

Secara default, greengrass-root adalah direktori /greengrass ini. Jika menulis direktori dikonfigurasi, maka log berada di bawah direktori itu.

Pertimbangan berikut berlaku saat Anda menggunakan log sistem file:

  • Membaca log AWS IoT Greengrass pada sistem file memerlukan izin root.

  • AWS IoT Greengrass mendukung rotasi berbasis ukuran dan pembersihan otomatis ketika jumlah data log mendekati batas yang dikonfigurasi.

  • File crash.log tersedia hanya dalam log sistem file. Log ini tidak ditulis ke CloudWatch Log.

  • Pembatasan penggunaan disk berlaku. Untuk informasi selengkapnya, lihat Batasan pencatatan.

catatan

Catatan untuk perangkat lunak AWS IoT Greengrass core v1.0 disimpan di bawah direktori greengrass-root/var/log ini.

Konfigurasi pencatatan default

Jika pengaturan pencatatan tidak dikonfigurasi secara eksplisit, AWS IoT Greengrass akan menggunakan konfigurasi pencatatan default berikut setelah deployment grup pertama.

AWS IoT Greengrass Komponen Sistem
  • Jenis - FileSystem

  • Komponen - GreengrassSystem

  • Tingkat - INFO

  • Yang lebih besar - 128 KB

Fungsi Lambda yang ditentukan pengguna
  • Jenis - FileSystem

  • Komponen - Lambda

  • Tingkat - INFO

  • Yang lebih besar - 128 KB

catatan

Sebelum deployment pertama, hanya komponen sistem yang menulis log ke sistem file karena tidak ada fungsi Lambda yang ditentukan pengguna di-deploy.

Konfigurasi pencatatan untuk AWS IoT Greengrass

Anda dapat menggunakan konsol AWS IoT tersebut atau AWS IoT Greengrass API untuk mengonfigurasi AWS IoT Greengrass pencatatan.

catatan

Agar dapat menulis log ke CloudWatch Log, peran grup Anda harus mengizinkan tindakan CloudWatch Log yang diperlukan. AWS IoT Greengrass

Konfigurasi pencatatan (konsol)

Anda dapat mengonfigurasi pencatatan di grup halaman Pengaturan ini.

  1. Di panel navigasi AWS IoT konsol, di bawah Kelola, perluas perangkat Greengrass, lalu pilih Grup (V1).

  2. Pilih grup tempat Anda ingin mengonfigurasi pencatatan.

  3. Pada halaman konfigurasi grup, pilih tab Log.

  4. Pilih lokasi pencatatan, sebagai berikut:

    • Untuk mengonfigurasi CloudWatch logging, untuk konfigurasi CloudWatch log, pilih Edit.

    • Untuk mengonfigurasi pencatatan sistem file, untuk konfigurasi log Lokal, pilih Edit.

    Anda dapat mengonfigurasi pencatatan untuk satu atau kedua lokasi.

  5. Dalam modal konfigurasi edit log, pilih tingkat log sistem Greengrass atau tingkat log fungsi Lambda Pengguna. Anda bisa memilih satu atau kedua komponen.

  6. Pilih tingkat terendah acara yang ingin Anda masukkan log. acara di bawah ambang batas ini disaring dan tidak disimpan.

  7. Pilih Simpan. Perubahan berlaku setelah Anda men-deploy grup.

Konfigurasi pencatatan (API)

Anda dapat menggunakan pencatat AWS IoT Greengrass API untuk mengonfigurasi pencatatan pemrograman. Misalnya, gunakan tindakan CreateLoggerDefinition untuk membuat definisi pencatat berdasarkan muatan LoggerDefinitionVersion ini, yang menggunakan sintaks berikut:

{ "Loggers": [ { "Id": "string", "Type": "FileSystem|AWSCloudWatch", "Component": "GreengrassSystem|Lambda", "Level": "DEBUG|INFO|WARN|ERROR|FATAL", "Space": "integer" }, { "Id": "string", ... } ] }

LoggerDefinitionVersion adalah array dari satu atau lebih objek Logger yang memiliki properti berikut:

Id

Pengidentifikasi untuk pencatat.

Type

Mekanisme penyimpanan untuk log acara. Saat AWSCloudWatch digunakan, peristiwa log dikirim ke CloudWatch Log. Saat FileSystem digunakan, log acara disimpan pada sistem file lokal.

Nilai yang valid: AWSCloudWatch, FileSystem

Component

Sumber log acara. Saat GreengrassSystem digunakan, acara dari komponen sistem Greengrass dicatat. Saat Lambda digunakan, acara dari fungsi Lambda yang ditentukan pengguna dicatat.

Nilai yang valid: GreengrassSystem, Lambda

Level

Ambang tingkat log. Log acara di bawah ambang batas ini disaring dan tidak disimpan.

Nilai yang valid: DEBUG, INFO (direkomendasikan), WARN, ERROR, FATAL

Space

Jumlah maksimum penyimpanan lokal, dalam KB, digunakan untuk menyimpan log. Bidang ini hanya berlaku bila Type diatur ke FileSystem.

Contoh konfigurasI

Contoh LoggerDefinitionVersion berikut menentukan konfigurasi pencatatan yang:

  • Mengaktifkan sistem file ERROR dan pencatatan di atas untuk komponen sistem AWS IoT Greengrass ini.

  • Mengaktifkan pencatatan sistem file INFO (dan di atas) untuk fungsi Lambda yang ditentukan pengguna.

  • Mengaktifkan CloudWatch INFO (dan di atas) logging untuk fungsi Lambda yang ditentukan pengguna.

{ "Name": "LoggingExample", "InitialVersion": { "Loggers": [ { "Id": "1", "Component": "GreengrassSystem", "Level": "ERROR", "Space": 10240, "Type": "FileSystem" }, { "Id": "2", "Component": "Lambda", "Level": "INFO", "Space": 10240, "Type": "FileSystem" }, { "Id": "3", "Component": "Lambda", "Level": "INFO", "Type": "AWSCloudWatch" } ] } }

Setelah Anda membuat versi definisi pencatat, Anda dapat menggunakan versi ARN untuk membuat versi grup sebelum men-deploy grup.

Batasan pencatatan

AWS IoT Greengrass memiliki batasan pencatatan berikut.

Transaksi per detik (TPS)

Saat login ke CloudWatch diaktifkan, komponen logging akan mengumpulkan peristiwa log secara lokal sebelum mengirimnya CloudWatch, sehingga Anda dapat masuk dengan kecepatan lebih tinggi dari lima permintaan per detik per aliran log.

Memori

Jika AWS IoT Greengrass dikonfigurasi untuk mengirim log ke CloudWatch dan fungsi Lambda mencatat lebih dari 5 MB/detik untuk jangka waktu yang lama, pipeline pemrosesan internal akhirnya terisi. Kasus terburuk teoritis adalah 6 MB per fungsi Lambda.

Clock skew

Saat login ke CloudWatch diaktifkan, komponen logging menandatangani permintaan untuk CloudWatch menggunakan proses penandatanganan Signature Version 4 normal. Jika waktu sistem pada perangkat AWS IoT Greengrass core tidak sinkron lebih dari 15 menit, maka permintaan ditolak.

Penggunaan disk

Gunakan rumus berikut untuk menghitung jumlah maksimum total penggunaan disk dalam pencatatan.

greengrass-system-component-space * 8 // 7 if automatic IP detection is disabled + 128KB // the internal log for the local logging component + lambda-space * lambda-count // different versions of a Lambda function are treated as one

Di mana:

greengrass-system-component-space

Jumlah maksimum penyimpanan lokal untuk log komponen sistem AWS IoT Greengrass ini.

lambda-space

Jumlah maksimum penyimpanan lokal untuk log fungsi Lambda.

lambda-count

Jumlah fungsi Lambda yang di-deploy.

Kehilangan log

Jika perangkat AWS IoT Greengrass inti Anda dikonfigurasi untuk masuk hanya ke CloudWatch dan tidak ada konektivitas internet, Anda tidak memiliki cara untuk mengambil log yang saat ini ada di memori.

Ketika fungsi Lambda dihentikan (misalnya, selama penerapan), log selama beberapa detik tidak ditulis. CloudWatch

CloudTrail log

AWS IoT Greengrass berjalan dengan AWS CloudTrail, layanan yang menyediakan log tindakan yang diambil oleh pengguna, peran, atau layanan AWS di AWS IoT Greengrass. Lihat informasi yang lebih lengkap di Mencatat log panggilan API AWS IoT Greengrass dengan AWS CloudTrail.