View a markdown version of this page

Kirim log Amazon ECS ke CloudWatch - Amazon Elastic Container Service

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

Kirim log Amazon ECS ke CloudWatch

Anda dapat mengonfigurasi wadah dalam tugas Anda untuk mengirim informasi CloudWatch log ke Log. Jika Anda menggunakan Fargate untuk tugas Anda, Anda dapat melihat log dari wadah Anda. Jika Anda menggunakan EC2, Anda dapat melihat log yang berbeda dari wadah Anda di satu lokasi yang nyaman, dan ini mencegah log kontainer Anda mengambil ruang disk pada instans kontainer Anda.

catatan

Jenis informasi yang dicatat oleh kontainer dalam tugas Anda sebagian besar bergantung pada perintah ENTRYPOINT mereka. Secara default, log yang diambil menunjukkan output perintah yang biasanya Anda lihat di terminal interaktif jika Anda menjalankan wadah secara lokal, yaitu STDERR I/O aliran STDOUT dan. Driver awslogs log hanya meneruskan log ini dari Docker ke CloudWatch Log. Untuk informasi selengkapnya tentang cara Docker memproses log, termasuk cara alternatif untuk menangkap data atau aliran file yang berbeda, lihat Melihat log untuk wadah atau layanan di dokumentasi Docker.

Untuk mengirim log sistem dari instans container Amazon ECS Anda ke CloudWatch Log, lihat Mem antau File CloudWatch Log dan Kuota Log di Panduan Pengguna Amazon CloudWatch Log.

Fargate

Jika Anda menggunakan Fargate untuk tugas Anda, Anda perlu menambahkan logConfiguration parameter yang diperlukan ke definisi tugas Anda untuk mengaktifkan driver awslogs log. Untuk informasi selengkapnya, lihat Contoh definisi tugas Amazon ECS: Rute log ke CloudWatch.

Untuk wadah Windows di Fargate, lakukan salah satu opsi berikut ketika salah satu parameter definisi tugas Anda memiliki karakter khusus seperti,: & \ < > ^ |

  • Tambahkan escape (\) dengan tanda kutip ganda di sekitar seluruh string parameter

    Contoh

    "awslogs-multiline-pattern": "\"^[|DEBUG|INFO|WARNING|ERROR\"",
  • Tambahkan karakter escape (^) di sekitar setiap karakter khusus

    Contoh

    "awslogs-multiline-pattern": "^^[^|DEBUG^|INFO^|WARNING^|ERROR",

EC2

Jika Anda menggunakan EC2 untuk tugas dan ingin mengaktifkan driver awslogs log, instans container Amazon ECS Anda memerlukan setidaknya versi 1.9.0 dari agen kontainer. Untuk informasi tentang cara memeriksa versi agen Anda dan memperbarui ke versi terbaru, lihatMemperbarui agen kontainer Amazon ECS.

catatan

Anda harus menggunakan Amazon ECS-optimized AMI atau AMI khusus dengan setidaknya 1.9.0-1 versi ecs-init paket. Saat menggunakan AMI khusus, Anda harus menentukan bahwa driver awslogs logging tersedia di instans Amazon EC2 saat Anda memulai agen dengan menggunakan variabel lingkungan berikut dalam docker run pernyataan atau file variabel lingkungan Anda.

ECS_AVAILABLE_LOGGING_DRIVERS=["json-file","awslogs"]

Instans kontainer Amazon ECS Anda juga memerlukan logs:CreateLogStream dan logs:PutLogEvents izin pada peran IAM yang dapat Anda gunakan untuk meluncurkan instans kontainer. Jika Anda membuat peran instans container Amazon ECS sebelum dukungan driver awslogs log diaktifkan di Amazon ECS, Anda mungkin perlu menambahkan izin ini. ecsTaskExecutionRoleIni digunakan ketika ditugaskan ke tugas dan kemungkinan berisi izin yang benar. Untuk informasi tentang peran eksekusi tugas, lihatPeran IAM pelaksanaan tugas Amazon ECS. Jika instans kontainer Anda menggunakan kebijakan IAM terkelola untuk instans kontainer, instans kontainer Anda kemungkinan memiliki izin yang benar. Untuk informasi tentang kebijakan IAM terkelola untuk instance kontainer, lihatPeran IAM instans kontainer Amazon ECS.