Kirim ECS log Amazon 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 ECS log Amazon 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 EC2 peluncuran, 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 ECS penampung Amazon Anda ke CloudWatch Log, lihat Memantau Kuota File CloudWatch Log dan Log di Panduan Pengguna CloudWatch Log Amazon.

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 ECS tugas Amazon: Rute log ke CloudWatch.

Untuk penampung 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 jenis EC2 peluncuran untuk tugas Anda dan ingin mengaktifkan driver awslogs log, instans ECS penampung Amazon 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 ECS penampung Amazon.

catatan

Anda harus menggunakan Amazon yang ECS dioptimalkan AMI atau kustom AMI dengan setidaknya 1.9.0-1 versi ecs-init paket. Saat menggunakan kustomAMI, Anda harus menentukan bahwa driver awslogs logging tersedia di EC2 instans Amazon ketika 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 ECS penampung Amazon Anda juga memerlukan logs:CreateLogStream dan logs:PutLogEvents izin pada IAM peran yang dapat digunakan untuk meluncurkan instans penampung. Jika Anda membuat peran instans ECS penampung Amazon sebelum dukungan driver awslogs log diaktifkan di AmazonECS, Anda mungkin perlu menambahkan izin ini. ecsTaskExecutionRoleIni digunakan saat ditugaskan ke tugas dan kemungkinan berisi izin yang benar. Untuk informasi tentang peran eksekusi tugas, lihatIAMPeran eksekusi ECS tugas Amazon. Jika instance container Anda menggunakan IAM kebijakan terkelola untuk instance container, instance container Anda kemungkinan memiliki izin yang benar. Untuk informasi tentang IAM kebijakan terkelola untuk instance container, lihatIAMPeran contoh ECS wadah Amazon.