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 kontainer dalam tugas Anda untuk mengirim informasi CloudWatch log ke Log. Jika Anda menggunakan tipe peluncuran Fargate untuk tugas Anda, Anda dapat melihat log dari kontainer Anda. Jika Anda menggunakan tipe peluncuran EC2, Anda dapat melihat log yang berbeda dari kontainer Anda di satu lokasi yang nyaman, dan ini mencegah log kontainer Anda mengambil ruang disk pada instance 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 kontainer secara lokal, yang merupakan aliran STDOUT dan STDERR I/O. Driver awslogs log hanya meneruskan log ini dari Docker ke CloudWatch Logs. Untuk informasi selengkapnya tentang cara log Docker diproses, termasuk cara alternatif untuk menangkap berbagai pengaliran atau data file, lihat Melihat log untuk kontainer atau layanan dalam dokumentasi Docker.

Untuk mengirim log sistem dari instans penampung Amazon ECS Anda ke CloudWatch Log, lihat Memantau Kuota File Log dan CloudWatch Log di Panduan Pengguna Amazon CloudWatch Logs.

Jenis peluncuran Fargate

Jika Anda menggunakan tipe peluncuran 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",

Jenis peluncuran EC2

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

catatan

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

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

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