AWS SDK untuk JavaScript V2 telah mencapai akhir dukungan. Kami menyarankan Anda bermigrasi ke AWS SDK untuk JavaScript v3. Untuk detail dan informasi tambahan tentang cara bermigrasi, silakan lihat pengumuman ini
Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Menggunakan Filter Langganan di Amazon CloudWatch Log
Contoh Node.js kode ini menunjukkan:
Cara membuat dan menghapus filter untuk peristiwa log di CloudWatch Log.
Skenario
Langganan menyediakan akses ke umpan peristiwa log secara real-time dari CloudWatch Log dan mengirimkan umpan tersebut ke layanan lain, seperti aliran Amazon Kinesis atau AWS Lambda, untuk pemrosesan khusus, analisis, atau pemuatan ke sistem lain. Filter langganan menentukan pola yang akan digunakan untuk memfilter peristiwa log mana yang dikirimkan ke AWS sumber daya Anda.
Dalam contoh ini, serangkaian Node.js modul digunakan untuk membuat daftar, membuat, dan menghapus filter langganan di CloudWatch Log. Tujuan untuk peristiwa log adalah fungsi Lambda. Node.js Modul menggunakan SDK JavaScript untuk mengelola filter langganan menggunakan metode kelas CloudWatchLogs klien berikut:
Untuk informasi selengkapnya tentang langganan CloudWatch Log, lihat Pemro Real-time sesan Data Log dengan Langganan di Panduan CloudWatch Pengguna Amazon Log.
Tugas Prasyarat
Untuk mengatur dan menjalankan contoh ini, Anda harus menyelesaikan tugas ini terlebih dahulu:
Instal Node.js. Untuk informasi lebih lanjut tentang menginstal Node.js, lihat situs Node.js web
. Buat file konfigurasi bersama dengan kredenSIAL pengguna Anda. Untuk informasi selengkapnya tentang menyediakan file kredenSIAL bersama, lihatMemuat Kredensial di Node.js dari File Kredensial Bersama.
Buat fungsi Lambda sebagai tujuan untuk peristiwa log. Anda harus menggunakan ARN dari fungsi ini. Untuk informasi selengkapnya tentang menyiapkan fungsi Lambda, lihat Filter Lang ganan dengan AWS Lambda di Panduan Pengguna Amazon CloudWatch Log.
Buat peran IAM yang kebijakannya memberikan izin untuk memanggil fungsi Lambda yang Anda buat dan memberikan akses penuh ke CloudWatch Log atau terapkan kebijakan berikut ke peran eksekusi yang Anda buat untuk fungsi Lambda. Untuk informasi selengkapnya tentang membuat peran IAM, lihat Membuat Peran untuk Mendelegasikan Izin ke AWS Layanan di Panduan Pengguna IAM.
Gunakan kebijakan peran berikut saat membuat peran IAM.
Menjelaskan Filter Langganan yang Ada
Buat Node.js modul dengan nama filecwl_describesubscriptionfilters.js. Pastikan untuk mengkonfigurasi SDK seperti yang ditunjukkan sebelumnya. Untuk mengakses CloudWatch Log, buat objek AWS.CloudWatchLogs layanan. Buat objek JSON yang berisi parameter yang diperlukan untuk menggambarkan filter yang ada, termasuk nama grup log dan jumlah maksimum filter yang ingin Anda jelaskan. Panggil metode describeSubscriptionFilters.
// Load the AWS SDK for Node.js var AWS = require("aws-sdk"); // Set the region AWS.config.update({ region: "REGION" }); // Create the CloudWatchLogs service object var cwl = new AWS.CloudWatchLogs({ apiVersion: "2014-03-28" }); var params = { logGroupName: "GROUP_NAME", limit: 5, }; cwl.describeSubscriptionFilters(params, function (err, data) { if (err) { console.log("Error", err); } else { console.log("Success", data.subscriptionFilters); } });
Untuk menjalankan contoh, ketik berikut ini di baris perintah.
node cwl_describesubscriptionfilters.js
Kode sampel ini dapat ditemukan di sini GitHub
Membuat Filter Langganan
Buat Node.js modul dengan nama filecwl_putsubscriptionfilter.js. Pastikan untuk mengkonfigurasi SDK seperti yang ditunjukkan sebelumnya. Untuk mengakses CloudWatch Log, buat objek AWS.CloudWatchLogs layanan. Buat objek JSON yang berisi parameter yang diperlukan untuk membuat filter, termasuk ARN dari fungsi Lambda tujuan, nama filter, pola string untuk pemfilteran, dan nama grup log. Panggil metode putSubscriptionFilters.
// Load the AWS SDK for Node.js var AWS = require("aws-sdk"); // Set the region AWS.config.update({ region: "REGION" }); // Create the CloudWatchLogs service object var cwl = new AWS.CloudWatchLogs({ apiVersion: "2014-03-28" }); var params = { destinationArn: "LAMBDA_FUNCTION_ARN", filterName: "FILTER_NAME", filterPattern: "ERROR", logGroupName: "LOG_GROUP", }; cwl.putSubscriptionFilter(params, function (err, data) { if (err) { console.log("Error", err); } else { console.log("Success", data); } });
Untuk menjalankan contoh, ketik berikut ini di baris perintah.
node cwl_putsubscriptionfilter.js
Kode sampel ini dapat ditemukan di sini GitHub
Menghapus Filter Langganan
Buat Node.js modul dengan nama filecwl_deletesubscriptionfilters.js. Pastikan untuk mengkonfigurasi SDK seperti yang ditunjukkan sebelumnya. Untuk mengakses CloudWatch Log, buat objek AWS.CloudWatchLogs layanan. Buat objek JSON yang berisi parameter yang diperlukan untuk menghapus filter, termasuk nama filter dan grup log. Panggil metode deleteSubscriptionFilters.
// Load the AWS SDK for Node.js var AWS = require("aws-sdk"); // Set the region AWS.config.update({ region: "REGION" }); // Create the CloudWatchLogs service object var cwl = new AWS.CloudWatchLogs({ apiVersion: "2014-03-28" }); var params = { filterName: "FILTER", logGroupName: "LOG_GROUP", }; cwl.deleteSubscriptionFilter(params, function (err, data) { if (err) { console.log("Error", err); } else { console.log("Success", data); } });
Untuk menjalankan contoh, ketik berikut ini di baris perintah.
node cwl_deletesubscriptionfilter.js
Kode sampel ini dapat ditemukan di sini GitHub