Memantau AWS IoT Greengrass log - AWS IoT Greengrass

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Memantau 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 Logs dan ke sistem file lokal perangkat inti. Komponen Greengrass yang berjalan pada perangkat inti juga dapat menulis log CloudWatch 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.

Secara default, perangkat lunak AWS IoT Greengrass Core menulis log hanya ke sistem file lokal. Anda dapat melihat log sistem file secara real time, sehingga Anda dapat men-debug komponen Greengrass yang Anda kembangkan dan terapkan. Anda juga dapat mengonfigurasi perangkat inti untuk menulis CloudWatch log ke Log, sehingga Anda dapat memecahkan masalah perangkat inti tanpa akses ke sistem file lokal. Untuk informasi selengkapnya, lihat Aktifkan pencatatan ke CloudWatch Log.

Akses log sistem file

Perangkat lunak AWS IoT Greengrass Core menyimpan log di /greengrass/v2/logs folder pada perangkat inti, di /greengrass/v2 mana jalur ke folder AWS IoT Greengrass root. Folder log memiliki struktur berikut.

/greengrass/v2 └── logs ├── greengrass.log ├── greengrass_2021_09_14_15_0.log ├── ComponentName.log ├── ComponentName_2021_09_14_15_0.log └── main.log

Untuk informasi selengkapnya tentang perbedaan antara komponen plugin, generik, dan Lambda, lihat. Jenis komponen

Pertimbangan berikut berlaku saat Anda menggunakan log sistem file:

  • Izin pengguna root

    Anda harus memiliki izin root untuk membaca AWS IoT Greengrass log pada sistem file.

  • Rotasi file log

    Perangkat lunak AWS IoT Greengrass Core memutar file log setiap jam atau ketika mereka melebihi batas ukuran file. File log yang diputar berisi stempel waktu dalam nama file mereka. Misalnya, file log perangkat lunak AWS IoT Greengrass Core yang diputar mungkin diberi namagreengrass_2021_09_14_15_0.log. Batas ukuran file default adalah 1.024 KB (1 MB). Anda dapat mengonfigurasi batas ukuran file pada komponen inti Greengrass.

  • Penghapusan file log

    Perangkat lunak AWS IoT Greengrass Core membersihkan file log sebelumnya ketika ukuran file log perangkat lunak AWS IoT Greengrass Core atau file log komponen Greengrass, termasuk file log yang diputar, melebihi batas ruang disk. Batas ruang disk default untuk log perangkat lunak AWS IoT Greengrass Core dan setiap log komponen adalah 10.240 KB (10 MB). Anda dapat mengonfigurasi batas ruang disk log perangkat lunak AWS IoT Greengrass Core pada komponen inti Greengrass atau komponen pengelola log. Anda dapat mengonfigurasi batas ruang disk log setiap komponen pada komponen pengelola log.

Untuk melihat file log perangkat lunak AWS IoT Greengrass inti
  • Jalankan perintah berikut untuk melihat file log secara real time. Ganti /greengrass/v2 dengan jalur ke folder AWS IoT Greengrass root.

    Linux or Unix
    sudo tail -f /greengrass/v2/logs/greengrass.log
    Windows Command Prompt (CMD)
    type C:\greengrass\v2\logs\com.example.HelloWorld.log

    typePerintah menulis konten file ke terminal. Jalankan perintah ini beberapa kali untuk mengamati perubahan dalam file.

    PowerShell
    gc C:\greengrass\v2\logs\greengrass.log -Tail 10 -Wait
Untuk melihat berkas log untuk komponen
  • Jalankan perintah berikut untuk melihat file log secara real time. Ganti /greengrass/v2 atau C:\greengrass\v2 dengan path ke folder AWS IoT Greengrass root, dan ganti com.example. HelloWorlddengan nama komponennya.

    Linux or Unix
    sudo tail -f /greengrass/v2/logs/com.example.HelloWorld.log
    PowerShell
    gc C:\greengrass\v2\logs\com.example.HelloWorld.log -Tail 10 -Wait

Anda juga dapat menggunakan logs perintah CLI Greengrass untuk menganalisis log Greengrass pada perangkat inti. Untuk menggunakan logs perintah, Anda harus mengkonfigurasi inti Greengrass untuk mengeluarkan file log format JSON. Lihat informasi yang lebih lengkap di Antarmuka Baris Perintah Greengrass dan log.

Akses CloudWatch Log

Anda dapat menerapkan komponen pengelola log untuk mengonfigurasi perangkat inti untuk menulis ke CloudWatch Log. Untuk informasi selengkapnya, lihat Aktifkan pencatatan ke CloudWatch Log. Kemudian, Anda dapat melihat log di halaman Log di CloudWatch konsol Amazon atau menggunakan API CloudWatch Log.

Nama grup log
/aws/greengrass/componentType/region/componentName

Nama grup log menggunakan variabel berikut:

  • componentType — Jenis komponen, yang dapat berupa salah satu dari berikut ini:

    • GreengrassSystemComponent— Grup log ini mencakup log untuk komponen inti dan plugin, yang berjalan di JVM yang sama dengan inti Greengrass. Komponen ini merupakan bagian dari inti Greengrass.

    • UserComponent— Grup log ini mencakup log untuk komponen generik, komponen Lambda, dan aplikasi lain di perangkat. Komponen ini bukan bagian dari inti Greengrass.

    Untuk informasi selengkapnya, lihat Jenis komponen.

  • region — Wilayah AWS yang menggunakan perangkat inti.

  • componentName — Nama komponen. Untuk log sistem, nilai ini adalah System.

Nama aliran log
/date/thing/thingName

Nama aliran log menggunakan variabel berikut:

  • date — Tanggal log, seperti 2020/12/15. Komponen manajer log menggunakan format yyyy/MM/dd.

  • thingName - Nama perangkat inti.

catatan

Jika nama objek berisi titik dua (:), manajer log akan menggantikan titik dua dengan tanda tambah (+).

Pertimbangan berikut berlaku saat Anda menggunakan komponen pengelola log untuk menulis ke CloudWatch Log:

  • Penundaan log

    catatan

    Kami menyarankan Anda meningkatkan ke pengelola log versi 2.3.0 yang mengurangi penundaan log untuk file log yang diputar dan aktif. Saat Anda meningkatkan ke pengelola log 2.3.0, kami sarankan Anda juga meningkatkan ke Greengrass nucleus 2.9.1.

    Komponen pengelola log versi 2.2.8 (dan sebelumnya) memproses dan mengunggah log hanya dari file log yang diputar. Secara default, perangkat lunak AWS IoT Greengrass Core memutar file log setiap jam atau setelah 1.024 KB. Akibatnya, komponen pengelola log mengunggah log hanya setelah perangkat lunak AWS IoT Greengrass Core atau komponen Greengrass menulis log senilai lebih dari 1.024 KB. Anda dapat mengonfigurasi batas ukuran file log yang lebih rendah untuk menyebabkan file log diputar lebih sering. Hal ini menyebabkan komponen pengelola log mengunggah CloudWatch log ke Log lebih sering.

    Komponen pengelola log versi 2.3.0 (dan yang lebih baru) memproses dan mengunggah semua log. Saat Anda menulis log baru, pengelola log versi 2.3.0 (dan yang lebih baru) memproses dan langsung mengunggah file log aktif itu alih-alih menunggu untuk diputar. Ini berarti Anda dapat melihat log baru dalam 5 menit atau kurang.

    Komponen pengelola log mengunggah log baru secara berkala. Secara default, komponen pengelola log mengunggah log baru setiap 5 menit. Anda dapat mengonfigurasi interval unggahan yang lebih rendah, sehingga komponen pengelola log mengunggah CloudWatch log ke Log lebih sering dengan mengonfigurasi log. periodicUploadIntervalSec Untuk informasi selengkapnya tentang cara mengonfigurasi interval periodik ini, lihat Konfigurasi.

    Log dapat diunggah dalam waktu dekat dari sistem file Greengrass yang sama. Jika Anda perlu mengamati log secara real time, pertimbangkan untuk menggunakan log sistem file.

    catatan

    Jika Anda menggunakan sistem file yang berbeda untuk menulis log, pengelola log kembali ke perilaku di komponen pengelola log versi 2.2.8 dan yang lebih lama. Untuk informasi tentang mengakses log sistem file, lihat Mengakses log sistem file.

  • Kemiringan jam

    Komponen pengelola log menggunakan proses penandatanganan Signature Version 4 standar untuk membuat permintaan API ke CloudWatch Log. Jika waktu sistem pada perangkat inti tidak sinkron lebih dari 15 menit, maka CloudWatch Log menolak permintaan. Untuk informasi selengkapnya, lihat Proses penandatanganan Versi Tanda Tangan 4 di bagian Referensi Umum AWS.

Akses log layanan sistem

Jika Anda mengonfigurasi perangkat lunak AWS IoT Greengrass Core sebagai layanan sistem, Anda dapat melihat log layanan sistem untuk memecahkan masalah, seperti perangkat lunak yang gagal memulai.

Untuk melihat log layanan sistem (CLI)
  1. Jalankan perintah berikut untuk melihat log layanan sistem perangkat lunak AWS IoT Greengrass inti.

    Linux or Unix (systemd)
    sudo journalctl -u greengrass.service
    Windows Command Prompt (CMD)
    type C:\greengrass\v2\logs\greengrass.wrapper.log
    PowerShell
    gc C:\greengrass\v2\logs\greengrass.wrapper.log
  2. Pada perangkat Windows, perangkat lunak AWS IoT Greengrass Core membuat file log terpisah untuk kesalahan layanan sistem. Jalankan perintah berikut untuk melihat log kesalahan layanan sistem.

    Windows Command Prompt (CMD)
    type C:\greengrass\v2\logs\greengrass.err.log
    PowerShell
    gc C:\greengrass\v2\logs\greengrass.err.log

Pada perangkat Windows, Anda juga dapat menggunakan aplikasi Event Viewer untuk melihat log layanan sistem.

Untuk melihat log layanan Windows (Event Viewer)
  1. Buka aplikasi Event Viewer.

  2. Pilih Windows Log untuk memperluasnya.

  3. Pilih Aplikasi untuk melihat log layanan aplikasi.

  4. Temukan dan buka log peristiwa yang Sumbernya greengrass.

Aktifkan pencatatan ke CloudWatch Log

Anda dapat menerapkan komponen pengelola log untuk mengonfigurasi perangkat inti untuk menulis log ke CloudWatch Log. Anda dapat mengaktifkan CloudWatch Log untuk log perangkat lunak AWS IoT Greengrass Inti, dan Anda dapat mengaktifkan CloudWatch Log untuk komponen Greengrass tertentu.

catatan

Peran pertukaran token perangkat inti Greengrass harus memungkinkan perangkat inti untuk menulis CloudWatch ke Log, seperti yang ditunjukkan dalam contoh kebijakan IAM berikut. Jika Anda menginstal perangkat lunak AWS IoT Greengrass Core dengan penyediaan sumber daya otomatis, perangkat inti Anda memiliki izin ini.

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

Untuk mengonfigurasi perangkat inti untuk menulis log perangkat lunak AWS IoT Greengrass Inti ke CloudWatch Log, buat penerapan yang menentukan pembaruan konfigurasi yang disetel uploadToCloudWatch ke true komponen. aws.greengrass.LogManager AWS IoT Greengrass Log perangkat lunak inti menyertakan log untuk inti Greengrass dan komponen plugin.

{ "logsUploaderConfiguration": { "systemLogsConfiguration": { "uploadToCloudWatch": "true" } } }

Untuk mengonfigurasi perangkat inti untuk menulis log komponen Greengrass CloudWatch ke Log, buat penerapan yang menentukan pembaruan konfigurasi yang menambahkan komponen ke daftar konfigurasi logging komponen. Saat Anda menambahkan komponen ke daftar ini, komponen pengelola log akan menulis lognya ke CloudWatch Log. Log komponen termasuk log untuk komponen generik dan komponen Lambda.

{ "logsUploaderConfiguration": { "componentLogsConfigurationMap": { "com.example.HelloWorld": { } } } }

Saat Anda menerapkan komponen pengelola log, Anda juga dapat mengonfigurasi batas ruang disk dan apakah perangkat inti menghapus file log setelah menulisnya ke CloudWatch Log. Untuk informasi selengkapnya, lihat Konfigurasi pencatatan untuk AWS IoT Greengrass.

Konfigurasi pencatatan untuk AWS IoT Greengrass

Anda dapat mengonfigurasi opsi berikut untuk menyesuaikan logging untuk perangkat inti Greengrass. Untuk mengonfigurasi opsi ini, buat penerapan yang menentukan pembaruan konfigurasi ke inti Greengrass atau komponen pengelola log.

  • Menulis log ke CloudWatch Log

    Untuk memecahkan masalah perangkat inti dari jarak jauh, Anda dapat mengonfigurasi perangkat inti untuk menulis perangkat lunak AWS IoT Greengrass inti dan log komponen ke Log. CloudWatch Untuk melakukannya, gunakan dan konfigurasikan komponen pengelola log. Untuk informasi selengkapnya, lihat Aktifkan pencatatan ke CloudWatch Log.

  • Menghapus file log yang diunggah

    Untuk mengurangi penggunaan ruang disk, Anda dapat mengonfigurasi perangkat inti untuk menghapus file log setelah menulis file CloudWatch log ke Log. Untuk informasi selengkapnya, lihat deleteLogFileAfterCloudUpload parameter komponen pengelola log, yang dapat Anda tentukan untuk log perangkat lunak AWS IoT Greengrass inti dan log komponen.

  • Batas ruang disk log

    Untuk membatasi penggunaan ruang disk, Anda dapat mengonfigurasi ruang disk maksimum untuk setiap log, termasuk file log yang diputar, pada perangkat inti. Misalnya, Anda dapat mengonfigurasi ruang disk gabungan maksimum untuk greengrass.log dan greengrass.log file yang diputar. Untuk informasi selengkapnya, lihat parameter komponen inti Greengrass dan parameter komponen logging.totalLogsSizeKBdiskSpaceLimit pengelola log, yang dapat Anda tentukan AWS IoT Greengrassuntuk log perangkat lunak inti dan log komponen.

  • Batas ukuran file log

    Anda dapat mengonfigurasi ukuran file maksimum untuk setiap file log. Setelah file log melebihi batas ukuran file ini, perangkat lunak AWS IoT Greengrass Core membuat file log baru. Komponen pengelola log versi 2.28 (dan sebelumnya) hanya menulis file log yang diputar ke CloudWatch Log, sehingga Anda dapat menentukan batas ukuran file yang lebih rendah untuk menulis CloudWatch log ke Log lebih sering. Komponen pengelola log versi 2.3.0 (dan yang lebih baru) memproses dan mengunggah semua log alih-alih menunggu mereka diputar. Untuk informasi lebih lanjut, lihat parameter batas ukuran file log komponen inti Greengrass (). logging.fileSizeKB

  • Tingkat log minimum

    Anda dapat mengonfigurasi level log minimum yang ditulis oleh komponen inti Greengrass ke log sistem file. Misalnya, Anda dapat menentukan log DEBUG level untuk membantu pemecahan masalah, atau Anda dapat menentukan log ERROR level untuk mengurangi jumlah log yang dibuat oleh perangkat inti. Untuk informasi lebih lanjut, lihat parameter tingkat log komponen inti Greengrass (). logging.level

    Anda juga dapat mengonfigurasi tingkat log minimum yang ditulis oleh komponen pengelola CloudWatch log ke Log. Misalnya, Anda dapat menentukan tingkat log yang lebih tinggi untuk mengurangi biaya pencatatan. Untuk informasi selengkapnya, lihat minimumLogLevel parameter komponen pengelola log, yang dapat Anda tentukan untuk log perangkat lunak AWS IoT Greengrass inti dan log komponen.

  • Interval untuk memeriksa log untuk menulis ke CloudWatch Log

    Untuk menambah atau mengurangi seberapa sering komponen pengelola log menulis CloudWatch log ke Log, Anda dapat mengonfigurasi interval di mana ia memeriksa file log baru untuk ditulis. Misalnya, Anda dapat menentukan interval yang lebih rendah untuk melihat CloudWatch log di Log lebih cepat daripada yang Anda lakukan dengan interval 5 menit default. Anda dapat menentukan interval yang lebih tinggi untuk mengurangi biaya, karena komponen pengelola log mengumpulkan file log ke permintaan yang lebih sedikit. Untuk informasi selengkapnya, lihat parameter interval unggah komponen pengelola log (periodicUploadIntervalSec).

  • Format log

    Anda dapat memilih apakah perangkat lunak AWS IoT Greengrass Core menulis log dalam format teks atau JSON. Pilih format teks jika Anda membaca log, atau pilih format JSON jika Anda menggunakan aplikasi untuk membaca atau mengurai log. Untuk informasi lebih lanjut, lihat parameter format log komponen inti Greengrass (). logging.format

  • Folder log sistem file lokal

    Anda dapat mengubah folder log dari /greengrass/v2/logs folder lain pada perangkat inti. Untuk informasi lebih lanjut, lihat parameter direktori keluaran komponen inti Greengrass (). logging.outputDirectory

Log AWS CloudTrail

AWS IoT Greengrassterintegrasi denganAWS CloudTrail, layanan yang menyediakan catatan tindakan yang diambil oleh pengguna, peran, atau Layanan AWS dalamAWS IoT Greengrass. Lihat informasi yang lebih lengkap di Log panggilan AWS IoT Greengrass V2 API dengan AWS CloudTrail.