View a markdown version of this page

Konfigurasi AWS IoT pencatatan log - AWS IoT Core

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

Konfigurasi AWS IoT pencatatan log

Anda harus mengaktifkan logging dengan menggunakan AWS IoT konsol, CLI, atau API sebelum Anda dapat memantau dan mencatat AWS IoT aktivitas. Anda dapat mengonfigurasi logging AWS IoT pada tiga tingkat: tingkat akun, tingkat peristiwa, atau tingkat sumber daya khusus. Event-level dan logging khusus sumber daya tersedia secara eksklusif dengan pencatatan V2. Pelanggan yang menggunakan log V1 harus melakukan migrasi ke V2 untuk mengakses fitur-fitur ini. Lihat detail.

Saat mempertimbangkan cara mengonfigurasi AWS IoT logging Anda, konfigurasi pencatatan tingkat akun menentukan bagaimana AWS IoT aktivitas akan dicatat kecuali ditentukan lain. Mulai, Anda mungkin ingin mendapatkan log terperinci dengan tingkat https://docs.aws.amazon.com/iot/latest/developerguide/configure-logging.html#log-level log default INFO atau DEBUG. Setelah meninjau log awal, Anda dapat mengubah tingkat log default ke tingkat yang kurang bertele-tele seperti WARN atau ERROR di tingkat akun atau peristiwa dan menetapkan tingkat log spesifik sumber daya yang lebih bertele-tele pada sumber daya yang mungkin memerlukan perhatian lebih. Tingkat log dapat diubah kapan pun Anda mau.

Topik ini mencakup login sisi cloud. AWS IoT Untuk informasi tentang pencatatan dan pemantauan sisi perangkat, lihat Meng unggah log sisi perangkat ke. CloudWatch

Untuk informasi tentang pencatatan dan pemantauan AWS IoT Greengrass, lihat Logging dan monitoring in AWS IoT Greengrass.

Mengkonfigurasi masuk V2 AWS IoT

Menentukan versi logging Anda

GetV2LoggingOptions API mengembalikan NotConfiguredException jika pencatatan V2 tidak diaktifkan. Kesalahan ini terjadi saat pencatatan V1 sedang digunakan, atau tidak ada logging yang dikonfigurasi.

Memahami fitur pencatatan V2

V2 logging menyediakan dua kemampuan utama: logging tingkat peristiwa dan logging khusus sumber daya. Event-levellogging memungkinkan konfigurasi logging yang ditargetkan dengan tingkat log yang dapat disesuaikan dan tujuan grup CloudWatch log. Resource-specific logging memungkinkan Anda untuk memfilter log berdasarkan grup benda, IP sumber, ID klien, atau ID utama. Bersama-sama, fitur-fitur ini memberikan kontrol terperinci dan visibilitas komprehensif ke dalam operasi IoT, meningkatkan kemampuan pencarian log dan mengurangi biaya dengan menghilangkan aktivitas pencatatan yang tidak perlu.

Bermigrasi dari V1 ke V2

Anda dapat bermigrasi ke logging V2 menggunakan SetV2LoggingOptions API melalui AWS CLI atau SDK. Setelah migrasi, AWS IoT secara otomatis merutekan semua CloudWatch log ke grup log 'AWSIotLogsV2'. Penting: Jika aplikasi atau sumber daya hilir Anda menggunakan informasi dari AWSIotLogs '', perbarui untuk menggunakan jalur grup log yang sesuai.

Konfigurasikan peran dan kebijakan pencatatan

Sebelum mengaktifkan login AWS IoT, Anda harus membuat peran IAM dan kebijakan yang memberikan AWS IoT izin untuk menulis aktivitas AWS IoT log ke grup CloudWatch log atas nama Anda. Anda juga dapat membuat peran IAM dengan kebijakan yang diperlukan di bagian Log AWS IoT konsol.

catatan

Sebelum mengaktifkan AWS IoT logging, pastikan Anda memahami izin akses CloudWatch Log. Pengguna dengan akses ke CloudWatch Log dapat melihat informasi debugging dari perangkat Anda. Untuk informasi selengkapnya, lihat O tentikasi dan Kontrol Akses untuk Amazon CloudWatch Log.

Jika Anda mengharapkan pola lalu lintas tinggi AWS IoT Core karena pengujian beban, pertimbangkan untuk menonaktifkan pencatatan IoT untuk mencegah pelambatan. Jika lalu lintas tinggi terdeteksi, layanan kami dapat menonaktifkan login ke akun Anda.

Berikut ini menunjukkan cara membuat peran dan kebijakan logging untuk AWS IoT Core sumber daya.

Membuat peran pencatatan

Untuk membuat peran logging, buka hub Per an di konsol IAM dan pilih Buat peran.

  1. Di bawah Pilih entitas tepercaya, pilih AWS Layanan. Kemudian pilih IoT di bawah Use case. Jika Anda tidak melihat IoT, masukkan dan cari IoT dari menu drop-down Use case for other AWS services:. Pilih Selanjutnya.

  2. Pada halaman Tambah izin, Anda akan melihat kebijakan yang secara otomatis dilampirkan ke peran layanan. Pilih Berikutnya.

  3. Pada halaman Nama, ulasan, dan buat, masukkan nama peran dan deskripsi peran untuk peran tersebut, lalu pilih Buat peran.

Kebijakan peran pencatatan

Dokumen kebijakan berikut menyediakan kebijakan peran dan kebijakan kepercayaan yang AWS IoT memungkinkan pengiriman entri log atas nama Anda. CloudWatch Jika Anda mengonfigurasi pencatatan tingkat peristiwa dengan grup CloudWatch log kustom, Anda harus memperbarui kebijakan peran untuk menyertakan ARN sumber daya kustom.

Jika Anda juga mengizinkan AWS IoT Core for LoRaWAN untuk mengirimkan entri log, Anda akan melihat dokumen kebijakan yang dibuat untuk Anda yang mencatat kedua aktivitas tersebut.

catatan

Dokumen-dokumen ini dibuat untuk Anda saat Anda membuat peran logging. Dokumen memiliki variabel, ${partition}, ${region} , dan ${accountId} , yang harus Anda ganti dengan nilai Anda.

  • Ganti partisi dengan partisi wilayah.

  • Ganti wilayah dengan Wil AWS ayah yang Anda gunakan. Pastikan Anda menggunakan Wilayah yang sama dengan yang AWS Anda gunakan untuk mengonfigurasi AWS CLI di perangkat Anda.

  • Ganti account-id dengan ID AWS akun Anda.

Kebijakan peran:

{ "Version":"2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "logs:CreateLogGroup", "logs:CreateLogStream", "logs:PutLogEvents", "logs:PutMetricFilter", "logs:PutRetentionPolicy", "iot:GetLoggingOptions", "iot:SetLoggingOptions", "iot:SetV2LoggingOptions", "iot:GetV2LoggingOptions", "iot:SetV2LoggingLevel", "iot:ListV2LoggingLevels", "iot:DeleteV2LoggingLevel" ], "Resource": [ "arn:aws:logs:us-east-1:123456789012:log-group:AWSIotLogsV2:*" ] } ] }

Kebijakan kepercayaan untuk mencatat AWS IoT Core aktivitas saja:

{ "Version":"2012-10-17", "Statement": [ { "Sid": "", "Effect": "Allow", "Principal": { "Service": "iot.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }

AWS IoT Logging mungkin gagal mempublikasikan logging ke CloudWatch Log karena izin peran IAM tidak mencukupi. Ketika ini terjadi, periksa metrik CloudWatch logging untuk menyelidiki dan memecahkan masalah kegagalan.

Konfigurasikan log in AWS IoT (konsol)

Bagian ini menjelaskan cara mengonfigurasi AWS IoT logging menggunakan AWS IoT konsol. Anda dapat mengatur logging tingkat akun, tingkat peristiwa, dan sumber daya khusus.

Untuk mengkonfigurasi AWS IoT pencatatan:
  1. Masuk ke AWS IoT konsol. Untuk informasi selengkapnya, lihat Buka AWS IoT konsol.

  2. Di panel navigasi kiri, pilih Log (sebelumnya bagian di bawah Pengaturan).

  3. Konfigurasikan pencatatan tingkat akun: pencatatan tingkat akun berlaku untuk semua AWS IoT armada Anda (perangkat atau titik akhir), kecuali diganti oleh setelan tingkat peristiwa atau sumber daya khusus.

    1. Di bawah Account-level pencatatan, pilih Kelola pencatatan tingkat akun untuk melakukan pembaruan.

    2. Pilih kotak centang “Aktifkan logging” untuk mulai mengirim log ke CloudWatch. Ketika “Aktifkan logging” tidak dicentang, log apa pun tidak AWS IoT akan dikirim ke grup CloudWatch log, terlepas dari konfigurasi pencatatan tingkat peristiwa atau tingkat sumber daya.

    3. Di bawah peran log IAM, pilih peran yang ada dari daftar dropdown. Anda dapat Melihat detail peran untuk memeriksa izin peran. Atau, pilih Buat peran baru untuk mengatur peran IAM baru. Peran logging menyediakan kebijakan yang memungkinkan AWS IoT untuk mengirimkan entri log atas nama Anda. CloudWatch Jika Anda mengonfigurasi logging tingkat peristiwa dengan grup CloudWatch log kustom, Anda harus memperbarui kebijakan peran untuk menyertakan ARN untuk grup log ini.

    4. Pilih tingkat Log Def ault yang sesuai dengan https://docs.aws.amazon.com/iot/latest/developerguide/configure-logging.html#log-level tingkat detail entri log yang ingin Anda tampilkan di CloudWatch Log. Catatan: Tingkat log “DEBUG” memberikan detail paling banyak tetapi meningkatkan CloudWatch biaya. CloudWatch tujuan grup log tidak dapat dikonfigurasi di tingkat akun. Namun, Anda dapat menentukan grup log kustom untuk setiap jenis peristiwa seperti yang dijelaskan di bagian berikut.

    5. Pilih Perbarui logging untuk menyimpan perubahan Anda.

  4. Event-level logging memungkinkan Anda untuk secara selektif menangkap log untuk peristiwa yang relevan dan mengarahkannya ke CloudWatch grup log khusus. Ini memberi Anda fleksibilitas untuk mengatur log berdasarkan kasus penggunaan untuk lebih mudah ditemukan, membagikannya dengan audiens yang berbeda, dan mengurangi CloudWatch biaya dengan mengaktifkan log dan mengatur tingkat log berdasarkan kekritisan peristiwa.

    Konfigurasikan pencatatan tingkat peristiwa: pencatatan tingkat peristiwa menangkap AWS IoT peristiwa tertentu, seperti upaya otentikasi klien. Pengaturan ini mengesampingkan Account-Level Logging.

    1. Di bawah bagian Event-level logging, pilih Kel ola pencatatan tingkat peristiwa untuk melakukan pembaruan.

    2. Secara default, tipe peristiwa mewarisi konfigurasi logging tingkat akun. Catatan: Saat logging khusus sumber daya dikonfigurasi, pencatatan akan menggantikan pengaturan tingkat akun dan peristiwa.

    3. Untuk mengubah pengaturan untuk peristiwa individual, klik nilai di baris acara yang sesuai. Anda dapat menyesuaikan tingkat log dan tujuan grup CloudWatch log. Saat menentukan tujuan grup CloudWatch log kustom, Anda harus memverifikasi bahwa kebijakan peran IAM menyertakan izin untuk grup log baru. Kegagalan memperbarui kebijakan peran akan AWS IoT mencegah penulisan log ke grup log kustom. Setelah membuat pilihan Anda, klik tanda centang untuk mengonfirmasi pilihan Anda. Kolom 'Dimodifikasi 'akan menampilkan' Ya 'untuk menunjukkan perubahan yang tertunda.

    4. Klik Per barui Logging untuk menerapkan perubahan Anda atau pilih Bat al untuk dibuang.

  5. Konfigurasikan Resource-specific penggantian: peng Resource-specific gantian menerapkan pengaturan logging ke sumber daya yang dipilih. Sumber daya dapat berupa grup benda, IP sumber, ID klien, atau ID utama. Resource-specific konfigurasi logging menggantikan pengaturan tingkat akun dan tingkat peristiwa. Ketika diaktifkan, ia menghasilkan log untuk semua jenis peristiwa pada tingkat logging yang dikonfigurasi untuk sumber daya yang ditentukan. Misalnya, Anda dapat mengatur pencatatan tingkat debug untuk Thing tertentu sambil menyimpan pencatatan tingkat info untuk semua Hal lainnya.

    1. Pilih Tambahkan penggantian khusus sumber daya di bagian penggantian. Resource-specific

    2. Pilih target log: Grup benda, IP Sumber, ID Klien atau ID Utama.

    3. Masukkan nilai target log yang sesuai untuk jenis target yang Anda pilih.

    4. Pilih level log yang diinginkan dari menu dropdown di bagian tingkat Resource-specific log.

    5. Klik K irim untuk menambahkan penggantian atau Bat alkan untuk membuang perubahan.

    6. Untuk mengubah penggantian khusus sumber daya yang ada, pilih kotak centang di sebelah sumber daya dan klik “Hapus” untuk menghapus penggantian atau “Edit” untuk memodifikasi.

Setelah mengaktifkan logging, kunjungi Melihat AWS IoT log di CloudWatch konsol untuk mempelajari selengkapnya tentang melihat entri log.

Konfigurasikan Akun dan Event-level masuk AWS IoT (CLI)

Bagian ini menjelaskan cara mengonfigurasi logging global AWS IoT dengan menggunakan CLI.

Anda dapat mengkonfigurasi Event-level logging secara opsional. Event-level logging menangkap informasi logging di tingkat peristiwa, seperti otentikasi dan otorisasi atau peristiwa pembuatan sertifikat. Anda dapat menyesuaikan tingkat log dan tujuan grup CloudWatch log di tingkat peristiwa. Event-level logging beroperasi pada tingkat yang lebih ditargetkan dibandingkan dengan logging tingkat akun dan oleh karena itu mengesampingkan pengaturan logging tingkat akun. Pendekatan hierarkis ini memungkinkan Anda mempertahankan strategi pencatatan yang berbeda untuk berbagai jenis peristiwa berdasarkan kepentingan operasional dan pertimbangan biayanya.

catatan

Anda memerlukan Amazon Resource Name (ARN) dari peran yang ingin Anda gunakan. Jika Anda perlu membuat peran untuk digunakan untuk logging, lihat Membuat peran pencatatan sebelum melanjutkan. Saat menentukan grup CloudWatch log kustom untuk jenis peristiwa apa pun, pastikan peran logging Anda memiliki izin yang diperlukan untuk grup log target.

Prinsip yang digunakan untuk memanggil API harus memiliki Melewati izin peran peran logging Anda.

Anda juga dapat melakukan prosedur ini dengan API dengan menggunakan metode di AWS API yang sesuai dengan perintah CLI yang ditunjukkan di sini.

Untuk menggunakan CLI untuk mengonfigurasi pencatatan default untuk AWS IoT
  1. Gunakan set-v2-logging-options perintah untuk mengatur opsi logging untuk akun Anda.

    aws iot set-v2-logging-options \ --event-configurations event-configuration-list \ --role-arn logging-role-arn \ --default-log-level log-level

    di mana:

    --role-arn

    Peran ARN yang AWS IoT memberikan izin untuk menulis ke log Anda di CloudWatch Log. Role-arn konfigurasi diperlukan untuk pengaturan awal.

    --default-log-level

    Tingkat log yang akan digunakan. Nilai yang valid adalah:ERROR,WARN,INFO,DEBUG, atauDISABLED. Default-log-level konfigurasi diperlukan untuk pengaturan awal.

    --no-disable-all-logs

    Parameter opsional yang memungkinkan semua AWS IoT logging. Gunakan parameter ini untuk mengaktifkan logging saat dinonaktifkan.

    --disable-all-logs

    Parameter opsional yang menonaktifkan semua AWS IoT logging. Gunakan parameter ini untuk menonaktifkan logging saat saat ini diaktifkan.

    --event-configurations

    Parameter ini bersifat opsional dan memungkinkan Anda untuk menyesuaikan pengaturan logging untuk setiap jenis peristiwa:

    • EventType: Jenis peristiwa yang mengesampingkan pengaturan tingkat akun

    • LogLevel: Mengganti pengaturan tingkat akun dengan DEBUG, INFO, ERROR, WARN, atau DISABLED

    • LogDestination: Tentukan grup CloudWatch log khusus untuk pengiriman log

    Anda dapat mengonfigurasi tingkat logging dan tujuan log secara independen untuk setiap jenis peristiwa. Jika tidak ditentukan, acara akan mewarisi pengaturan tingkat akun

    aws iot set-v2-logging-options \ --event-configurations "[{\"eventType\":\"Publish-In\",\"logLevel\":\"INFO\",\"logDestination\":\"examplePublishInLogGroup\"}]"
  2. Gunakan get-v2-logging-options perintah untuk mendapatkan opsi logging Anda saat ini.

    aws iot get-v2-logging-options \ --verbose

    di mana:

    --verbose

    Parameter opsional yang memungkinkan Anda untuk mengambil semua EventTypes dan konfigurasinya.

Setelah mengaktifkan logging, kunjungi Melihat AWS IoT log di CloudWatch konsol untuk mempelajari selengkapnya tentang melihat entri log.

catatan

AWS IoT terus mendukung perintah lama (set-logging-optionsdanget-logging-options) untuk mengatur dan mendapatkan log global di akun Anda. Ketahuilah bahwa ketika perintah ini digunakan, log yang dihasilkan berisi teks biasa, bukan muatan JSON dan latensi logging umumnya lebih tinggi. Tidak ada perbaikan lebih lanjut yang akan dilakukan pada implementasi perintah lama ini. Kami menyarankan Anda menggunakan versi “v2” untuk mengonfigurasi opsi pencatatan Anda dan, jika memungkinkan, mengubah aplikasi lama yang menggunakan versi lama.

Konfigurasikan Resource-specific penggantian di AWS IoT (CLI)

Bagian ini menjelaskan cara mengonfigurasi Resource-specific penggantian untuk AWS IoT menggunakan CLI. Resource-specific penggantian memungkinkan Anda menentukan tingkat logging untuk sumber daya tertentu yang diidentifikasi oleh Grup Hal, ID Klien, IP Sumber, atau ID Utama. Saat logging khusus sumber daya diaktifkan, pencatatan akan menggantikan pengaturan tingkat akun dan tingkat peristiwa. Semua jenis peristiwa akan menghasilkan log untuk sumber daya yang ditentukan pada tingkat logging yang dikonfigurasi, bahkan jika peristiwa tersebut dinonaktifkan dalam konfigurasi tingkat peristiwa.

Kelompok benda dapat berisi kelompok benda lain untuk menciptakan hubungan hierarkis. Prosedur ini menjelaskan cara mengonfigurasi logging grup benda tunggal. Anda dapat menerapkan prosedur ini ke grup benda induk dalam hierarki untuk mengonfigurasi logging untuk semua grup benda dalam hierarki. Anda juga dapat menerapkan prosedur ini ke grup benda turunan untuk mengganti konfigurasi logging dari induknya.

Suatu hal bisa menjadi anggota kelompok benda. Keanggotaan ini memungkinkan benda untuk mewarisi konfigurasi, kebijakan, dan pengaturan yang diterapkan ke grup benda. Kelompok benda digunakan untuk mengelola dan menerapkan pengaturan ke beberapa hal secara kolektif, daripada berurusan dengan setiap hal secara individual. Ketika ID klien Anda cocok dengan nama benda, secara otomatis AWS IoT Core akan mengaitkan sesi klien dengan sumber daya benda yang sesuai. Hal ini memungkinkan sesi klien untuk mewarisi konfigurasi dan pengaturan yang diterapkan ke grup benda yang dimiliki benda tersebut, termasuk level logging. Jika ID klien Anda tidak cocok dengan nama benda, Anda dapat mengaktifkan lampiran barang eksklusif untuk membuat asosiasi. Untuk informasi selengkapnya, lihat Mengaitkan AWS IoT sesuatu dengan koneksi klien MQTT.

Selain grup benda, Anda juga dapat mencatat target seperti ID klien perangkat, IP sumber, dan ID utama.

catatan

Anda memerlukan Amazon Resource Name (ARN) dari peran yang ingin Anda gunakan. Jika Anda perlu membuat peran untuk digunakan untuk logging, lihat Membuat peran pencatatan sebelum melanjutkan.

Prinsip yang digunakan untuk memanggil API harus memiliki Melewati izin peran peran logging Anda.

Anda juga dapat melakukan prosedur ini dengan API dengan menggunakan metode di AWS API yang sesuai dengan perintah CLI yang ditunjukkan di sini.

Untuk menggunakan CLI untuk mengonfigurasi penggantian Resource-specific untuk AWS IoT
  1. Aktifkan logging tingkat akun sebelum mengonfigurasi logging khusus sumber daya menggunakan perintah berikut: perintah aws iot set-v2-logging-options

  2. Gunakan set-v2-logging-level perintah untuk mengkonfigurasi peng Resource-specific gantian. Lihat contoh berikut untuk konfigurasi grup hal:

    aws iot set-v2-logging-level \ --log-target targetType=THING_GROUP,targetName=thing_group_name \ --log-level log_level
    --log-target

    Jenis dan nama sumber daya yang Anda konfigurasi logging. targetTypeNilai harus salah satu dari: THING_GROUP | CLIENT_ID | SOURCE_IP |PRINCIPAL_ID. Nilai parameter log-target dapat berupa teks, seperti yang ditunjukkan pada contoh perintah sebelumnya, atau string JSON, seperti contoh berikut.

    aws iot set-v2-logging-level \ --log-target '{"targetType": "THING_GROUP","targetName": "thing_group_name"}' \ --log-level log_level
    --log-level

    Level logging yang digunakan saat menghasilkan log untuk sumber daya yang ditentukan. Nilai yang valid adalah: DEBUG, INFO, ERROR, WARN, dan DISABLED.

  3. Gunakan list-v2-logging-levels perintah untuk membuat daftar level logging yang dikonfigurasi saat ini.

    aws iot list-v2-logging-levels
  4. Gunakan delete-v2-logging-level perintah untuk menghapus level logging khusus sumber daya, seperti contoh berikut.

    aws iot delete-v2-logging-level \ --target-type "THING_GROUP" \ --target-name "thing_group_name"
    aws iot delete-v2-logging-level \ --target-type=CLIENT_ID --target-name=ClientId1
    --target-type

    target-typeNilai harus salah satu dari: THING_GROUP | CLIENT_ID | SOURCE_IP |PRINCIPAL_ID.

    --target-name

    Nama grup benda yang akan menghapus level logging.

Tingkat log

Level log ini menentukan peristiwa yang dicatat dan berlaku untuk tingkat log default dan sumber daya tertentu.

ERROR

Kesalahan apa pun yang menyebabkan operasi gagal.

Contoh: gagal mengotentikasi perangkat karena sertifikat kedaluwarsa.

Log hanya menyertakan informasi ERROR.

WARN

Apa pun yang berpotensi menyebabkan inkonsistensi dalam sistem, tetapi mungkin tidak menyebabkan operasi gagal.

Contoh: mendekati batas kecepatan pesan.

Log termasuk informasi ERROR dan WARN.

INFO

High-level informasi tentang aliran sesuatu.

Contoh: klien telah berhasil berlangganan topik MQTT.

Log termasuk informasi INFO, ERROR, dan WARN.

DEBUG

Informasi yang mungkin berguna saat men-debug masalah.

Contoh: Mesin Aturan IoT mendeteksi pesan yang dipublikasikan ke topik aturan “rule/test” dan berhasil memulai eksekusi. Aturan dikonfigurasi dengan RepublishAction.

Log termasuk informasi DEBUG, INFO, ERROR, dan WARN.

DISABLED

Semua logging dinonaktifkan.