Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Buat pengiriman log untuk log eksekusi REST API
Anda dapat merutekan log eksekusi ke grup CloudWatch log Log Anda sendiri, bucket Amazon S3, atau aliran Firehose. Untuk melakukan ini, buat pengiriman Amazon CloudWatch Logs. Ini melibatkan tiga langkah: membuat sumber pengiriman, membuat tujuan pengiriman, dan menghubungkannya dengan pengiriman.
Prasyarat
Sebelum membuat pengiriman log, pastikan Anda memiliki yang berikut:
-
Pencatatan eksekusi diaktifkan pada tahap REST API Anda. Set
loggingLevelel keERRORatauINFO. Jika logging tidak diaktifkan, pembuatan sumber pengiriman gagal. -
Sumber daya tujuan: grup CloudWatch log log, bucket Amazon S3, atau aliran Firehose yang Anda miliki.
-
Izin untuk memanggil API pengiriman Amazon CloudWatch Logs. Untuk informasi selengkapnya, lihat Mengaktifkan pen AWS catatan dari layanan di Panduan CloudWatch Pengguna Amazon Logs.
Gateway-specific Nilai API untuk pengiriman Amazon CloudWatch Logs
Saat Anda membuat pengiriman untuk log eksekusi API Gateway, gunakan nilai berikut:
- ARN Sumber Daya
-
arn:aws:apigateway:{region}:{account-id}:/restapis/{rest-api-id}/stages/{stage-name} - Jenis log
-
EXECUTION_LOGS
Buat pengiriman log (AWS CLI)
Contoh berikut membuat pengiriman yang mengirimkan log eksekusi dari REST API ke grup CloudWatch log log yang Anda miliki.
-
Buat sumber pengiriman
Daftarkan REST API Anda sebagai sumber pengiriman.
aws logs put-delivery-source \ --namemy-apigw-source\ --log-type EXECUTION_LOGS \ --resource-arn arn:aws:apigateway:{region}:{account-id}:/restapis/{rest-api-id}/stages/{stage-name} -
Buat tujuan pengiriman
Daftarkan grup log Anda sebagai tujuan pengiriman.
aws logs put-delivery-destination \ --namemy-log-destination\ --delivery-destination-configuration "destinationResourceArn=arn:aws:logs:{region}:{account-id}:log-group:{log-group-name}" -
Buat pengiriman
Tautkan sumber ke tujuan.
aws logs create-delivery \ --delivery-source-namemy-apigw-source\ --delivery-destination-arn arn:aws:logs:{region}:{account-id}:delivery-destination:my-log-destination
Untuk mengirim log ke Amazon S3 atau Firehose, tentukan sumber daya yang sesuai ARN dalam put-delivery-destination perintah. Untuk informasi selengkapnya tentang alur kerja pengiriman Amazon CloudWatch Logs lengkap, lihat Mengaktifkan pen AWS catatan dari layanan di Panduan CloudWatch Pengguna Amazon Logs.
Untuk mengirim log ke beberapa tujuan, buat pengiriman tambahan menggunakan sumber pengiriman yang sama dengan tujuan yang berbeda.
Bidang rekaman
Dengan pengiriman Amazon CloudWatch Logs, log eksekusi menyertakan bidang terstruktur yang dapat Anda sesuaikan per tujuan. Bidang-bidang berikut tersedia:
resource_arn— ARN tahap APIevent_timestamp— Waktu acara logapi_id— Pengidentifikasi REST APIstage— Nama panggungresource_path— Jalur sumber daya permintaanhttp_method— Metode HTTPpayload— Konten log eksekusi (sama dengan log eksekusi standar)
Anda dapat memilih bidang mana yang akan disertakan dan format output untuk setiap tujuan menggunakan --record-fields parameter create-delivery aktif dan --output-format parameter aktifput-delivery-destination.
Format output yang tersedia tergantung pada tujuan:
CloudWatch Log - json, polos
Amazon S3 — json, polos, w3c, parket
Firehose — json, polos
Cocokkan output log eksekusi standar
Jika Anda ingin output pengiriman yang cocok dengan logging eksekusi standar (hanya payload, tidak ada bidang tambahan), tambahkan --output-format "plain" ke put-delivery-destination dan --record-fields "payload" --field-delimiter "" kecreate-delivery.
Buat pengiriman log (CloudFormation)
Saat merakit panggung ARN untuk CloudFormation template, gunakan pola berikut:
DeliverySource: Type: AWS::Logs::DeliverySource Properties: Name: my-apigw-source LogType: EXECUTION_LOGS ResourceArn: !Sub "arn:${AWS::Partition}:apigateway:${AWS::Region}:${AWS::AccountId}:/restapis/${MyApi}/stages/${MyStageName}"
Membuat pengiriman log (konsol API Gateway)
Anda dapat membuat pengiriman log dari bagian Log dan pelacakan pada halaman detail tahap Anda.
Masuk ke konsol API Gateway di https://console.aws.amazon.com/apigateway
. -
Pilih REST API Anda, lalu pilih Tahapan.
-
Memilih tahapan.
-
Di bagian Log dan pelacakan, di bawah Tujuan pengiriman log, pilih Tambahkan tujuan.
-
Pilih jenis tujuan (CloudWatch Logs, Amazon S3, atau Firehose) dan tentukan sumber daya tujuan.
-
Pilih Simpan.
penting
Anda harus mengaktifkan pencatatan eksekusi di panggung sebelum Anda dapat menambahkan tujuan pengiriman. Jika logging disetel ke Nonaktif, konfigurasi pengiriman tidak menghasilkan log.
catatan
Untuk mengonfigurasi tujuan pengiriman lintas akun, gunakan AWS CLI. Anda harus membuat kebijakan tujuan pengiriman di akun tujuan sebelum membuat pengiriman di akun sumber. Untuk informasi selengkapnya, lihat contoh Cross-account pengiriman di Panduan Pengguna Amazon CloudWatch Logs.