Konfigurasikan AWS IoT logging - AWS IoT Core

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

Konfigurasikan AWS IoT logging

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

Saat mempertimbangkan cara mengonfigurasi AWS IoT logging Anda, konfigurasi logging tingkat akun menentukan bagaimana AWS IoT aktivitas akan dicatat kecuali ditentukan lain. Memulai, Anda mungkin ingin mendapatkan log terperinci dengan tingkat log default INFO atau DEBUG. Setelah meninjau log awal, Anda dapat mengubah level log default ke level yang kurang bertele-tele seperti WARN atau ERROR di level akun atau peristiwa dan menetapkan tingkat log spesifik sumber daya yang lebih verbose pada sumber daya yang mungkin memerlukan perhatian lebih. Level log dapat diubah kapan pun Anda mau.

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

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

Mengkonfigurasi login V2 AWS IoT

Menentukan versi logging Anda

LoggingOptions API GetV2 mengembalikan logging NotConfiguredException if V2 tidak diaktifkan. Kesalahan ini terjadi ketika logging V1 sedang digunakan, atau tidak ada logging yang dikonfigurasi.

Memahami fitur logging V2

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

Migrasi dari V1 ke V2

Anda dapat bermigrasi ke logging V2 menggunakan LoggingOptions API SetV2 melalui AWS CLI atau SDK. Setelah migrasi, AWS IoT secara otomatis merutekan semua log ke grup CloudWatch log 'AWSIotLogSv2'. Penting: Jika aplikasi atau sumber daya hilir Anda menggunakan informasi dari 'AWSIotLog', 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 CloudWatch log grup 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 Otentikasi dan Kontrol Akses untuk CloudWatch Log Amazon.

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 di akun Anda.

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

Buat peran logging

Untuk membuat peran logging, buka hub Peran konsol IAM dan pilih Buat peran.

  1. Di bawah Pilih entitas tepercaya, pilih AWS Layanan. Kemudian pilih IoT di bawah Kasus penggunaan. Jika Anda tidak melihat IoT, masukkan dan cari IoT dari menu tarik-turun Kasus penggunaan untuk AWS layanan lain:. Pilih Selanjutnya.

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

  3. Pada halaman Nama, tinjau, dan buat, masukkan nama Peran dan Deskripsi peran untuk peran tersebut, lalu pilih Buat peran.

Kebijakan peran logging

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

Jika Anda juga diizinkan 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-nilai Anda.

  • Ganti partisi dengan partisi wilayah.

  • Ganti wilayah dengan AWS Wilayah yang Anda gunakan. Pastikan Anda menggunakan AWS Wilayah yang sama dengan yang 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 login di AWS IoT (konsol)

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

Untuk mengkonfigurasi AWS IoT logging:
  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. Konfigurasi pencatatan tingkat akun: pencatatan tingkat akun berlaku untuk semua AWS IoT armada Anda (perangkat atau titik akhir), kecuali diganti dengan pengaturan tingkat peristiwa atau khusus sumber daya.

    1. Di bawah Pencatatan tingkat akun, pilih Kelola pencatatan tingkat akun untuk melakukan pembaruan.

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

    3. Di bawah peran log IAM, pilih peran yang ada dari daftar tarik-turun. Anda dapat Melihat detail peran untuk memeriksa izin peran. Atau, pilih Buat peran baru untuk menyiapkan peran IAM baru. Peran logging menyediakan kebijakan yang memungkinkan AWS IoT untuk mengirimkan 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 untuk grup log ini.

    4. Pilih tingkat Log Default yang sesuai dengan 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 masing-masing jenis peristiwa seperti yang dijelaskan di bagian berikut.

    5. Pilih Perbarui logging untuk menyimpan perubahan Anda.

  4. Pencatatan tingkat peristiwa memungkinkan Anda untuk secara selektif menangkap log untuk peristiwa yang relevan dan mengarahkannya ke grup log khusus CloudWatch . Ini memberi Anda fleksibilitas untuk mengatur log berdasarkan kasus penggunaan agar dapat ditemukan dengan lebih baik, membagikannya dengan audiens yang berbeda, dan mengurangi CloudWatch biaya dengan mengaktifkan log dan menetapkan tingkat log berdasarkan kekritisan peristiwa.

    Konfigurasi pencatatan tingkat peristiwa: pencatatan tingkat peristiwa menangkap AWS IoT peristiwa tertentu, seperti upaya otentikasi klien. Pengaturan ini mengesampingkan Pencatatan Tingkat Akun.

    1. Di bawah bagian Pencatatan tingkat peristiwa, pilih Kelola pencatatan tingkat peristiwa untuk melakukan pembaruan.

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

    3. Untuk mengubah pengaturan untuk setiap peristiwa, klik nilai di baris peristiwa 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 untuk 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 'Is Modified' akan menampilkan 'Ya' untuk menunjukkan perubahan yang tertunda.

    4. Klik Perbarui Logging untuk menerapkan perubahan Anda atau pilih Batalkan untuk membuang.

  5. Konfigurasi penggantian khusus Sumber Daya: Penggantian khusus sumber daya menerapkan setelan logging ke sumber daya yang dipilih. Sumber daya dapat berupa grup benda, IP sumber, ID klien, atau ID utama. Konfigurasi logging khusus sumber daya mengesampingkan pengaturan tingkat akun dan tingkat peristiwa. Saat diaktifkan, ini menghasilkan log untuk semua jenis peristiwa pada tingkat logging yang dikonfigurasi untuk sumber daya yang ditentukan. Misalnya, Anda dapat mengatur logging tingkat debug untuk Hal tertentu sambil menyimpan pencatatan tingkat info untuk semua Hal lainnya.

    1. Pilih Tambahkan penggantian khusus sumber daya di bagian penggantian khusus sumber daya.

    2. Pilih target log: Thing group, Source IP, Client ID atau Principal ID.

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

    4. Pilih level log yang diinginkan dari menu tarik-turun di bagian tingkat log khusus sumber daya.

    5. Klik Kirim untuk menambahkan penggantian atau Batalkan 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 lebih lanjut tentang melihat entri log.

Konfigurasikan Login Akun dan Tingkat Acara ( AWS IoT CLI)

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

Anda dapat mengonfigurasi logging tingkat peristiwa secara opsional. Pencatatan tingkat peristiwa menangkap informasi pencatatan di tingkat peristiwa, seperti otentikasi dan otorisasi atau peristiwa pembuatan sertifikat. Anda dapat menyesuaikan tingkat log dan tujuan grup CloudWatch log di tingkat acara. Pencatatan tingkat peristiwa beroperasi pada tingkat yang lebih bertarget dibandingkan dengan pencatatan tingkat akun dan oleh karena itu mengesampingkan pengaturan pencatatan 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 Nama Sumber Daya Amazon (ARN) dari peran yang ingin Anda gunakan. Jika Anda perlu membuat peran yang akan digunakan untuk logging, lihat Buat peran logging 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.

Prinsipal 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 ditampilkan di sini.

Untuk menggunakan CLI untuk mengonfigurasi logging default untuk AWS IoT
  1. Gunakan set-v2-logging-optionsperintah untuk mengatur opsi pencatatan 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 memberikan AWS IoT izin untuk menulis ke log Anda di Log. CloudWatch Konfigurasi role-ARN diperlukan untuk pengaturan awal.

    --default-log-level

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

    --no-disable-all-logs

    Parameter opsional yang memungkinkan semua AWS IoT logging. Gunakan parameter ini untuk mengaktifkan logging saat saat ini 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 opsional dan memungkinkan Anda untuk menyesuaikan pengaturan logging untuk masing-masing jenis acara:

    • EventType: Jenis peristiwa yang menggantikan setelan tingkat akun

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

    • LogDestination: Tentukan grup CloudWatch log kustom untuk pengiriman log

    Anda dapat mengonfigurasi tingkat pencatatan dan tujuan log secara independen untuk setiap jenis acara. Jika tidak ditentukan, peristiwa 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-optionsperintah untuk mendapatkan opsi logging Anda saat ini.

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

    di mana:

    --verbose

    Parameter opsional yang memungkinkan Anda mengambil semua EventTypes dan konfigurasinya.

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

catatan

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

Konfigurasikan penggantian khusus Sumber Daya di (CLI) AWS IoT

Bagian ini menjelaskan cara mengonfigurasi penggantian khusus Sumber Daya dengan menggunakan CLI. AWS IoT Penggantian khusus sumber daya memungkinkan Anda menentukan tingkat pencatatan untuk sumber daya tertentu yang diidentifikasi oleh Thing Group, ID Klien, IP Sumber, atau ID Utama. Ketika logging khusus sumber daya diaktifkan, ini akan mengganti 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 hal lain untuk membuat hubungan hierarkis. Prosedur ini menjelaskan cara mengkonfigurasi logging dari satu grup hal. Anda dapat menerapkan prosedur ini ke grup hal induk dalam hierarki untuk mengonfigurasi logging untuk semua grup hal dalam hierarki. Anda juga dapat menerapkan prosedur ini ke grup hal anak untuk mengganti konfigurasi logging induknya.

Sesuatu 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 banyak hal secara kolektif, daripada berurusan dengan setiap hal secara individual. Ketika ID klien Anda cocok dengan nama hal, secara otomatis AWS IoT Core akan mengaitkan sesi klien dengan sumber daya hal yang sesuai. Ini memungkinkan sesi klien untuk mewarisi konfigurasi dan pengaturan yang diterapkan ke grup benda yang menjadi milik benda itu, termasuk level logging. Jika ID klien Anda tidak cocok dengan nama benda, Anda dapat mengaktifkan lampiran hal 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 Nama Sumber Daya Amazon (ARN) dari peran yang ingin Anda gunakan. Jika Anda perlu membuat peran yang akan digunakan untuk logging, lihat Buat peran logging sebelum melanjutkan.

Prinsipal 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 ditampilkan di sini.

Untuk menggunakan CLI untuk mengonfigurasi penggantian khusus Sumber Daya 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-levelperintah untuk mengonfigurasi penggantian khusus Sumber Daya. Lihat contoh berikut untuk konfigurasi grup benda:

    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 konfigurasikan 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

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

  3. Gunakan list-v2-logging-levelsperintah untuk mencantumkan level logging yang saat ini dikonfigurasi.

    aws iot list-v2-logging-levels
  4. Gunakan delete-v2-logging-levelperintah untuk menghapus tingkat 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 untuk menghapus level logging.

Tingkat Log

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

ERROR

Kesalahan apa pun yang menyebabkan operasi gagal.

Contoh: gagal mengautentikasi perangkat karena sertifikat kedaluwarsa.

Log hanya menyertakan informasi ERROR.

WARN

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

Contoh: mendekati batas tingkat pesan.

Log termasuk ERROR dan WARN informasi.

INFO

Informasi tingkat tinggi tentang aliran benda.

Contoh: klien telah berhasil berlangganan topik MQTT.

Log termasuk informasi INFO, ERROR, dan WARN.

DEBUG

Informasi yang mungkin berguna saat men-debug masalah.

Contoh: IoT Rules Engine mendeteksi pesan yang dipublikasikan ke topik aturan “aturan/pengujian” dan berhasil mulai dijalankan. Aturan dikonfigurasi dengan RepublishAction.

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

DISABLED

Semua logging dinonaktifkan.