Buat parser log khusus untuk Amazon ECS menggunakan router log Firelens - AWS Prescriptive Guidance

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

Buat parser log khusus untuk Amazon ECS menggunakan router log Firelens

Varun Sharma, Amazon Web Services

Ringkasan

Firelens adalah router log untuk Amazon Elastic Container Service (Amazon ECS) dan AWS Fargate. Anda dapat menggunakan Firelens untuk merutekan log kontainer dari Amazon ECS ke Amazon CloudWatch dan tujuan lainnya (misalnya, Splunk atau Sumo Logic). Firelens bekerja dengan Fluentd atau Fluent Bit sebagai agen logging, yang berarti Anda dapat menggunakan parameter definisi tugas Amazon ECS untuk merutekan log.

Dengan memilih untuk mengurai log di tingkat sumber, Anda dapat menganalisis data logging Anda dan melakukan kueri untuk merespons masalah operasional secara lebih efisien dan efektif. Karena aplikasi yang berbeda memiliki pola logging yang berbeda, Anda perlu menggunakan parser khusus yang menyusun log dan membuat pencarian lebih mudah di tujuan akhir Anda.

Pola ini menggunakan router log Firelens dengan parser khusus untuk mendorong log CloudWatch dari contoh aplikasi Spring Boot yang berjalan di Amazon ECS. Anda kemudian dapat menggunakan Amazon CloudWatch Logs Insights untuk memfilter log berdasarkan bidang kustom yang dihasilkan oleh parser kustom.

Prasyarat dan batasan

Prasyarat

  • Akun Amazon Web Services (AWS) yang aktif.

  • AWS Command Line Interface (AWS CLI), diinstal dan dikonfigurasi pada mesin lokal Anda.

  • Docker, diinstal dan dikonfigurasi pada mesin lokal Anda.

  • Aplikasi kontainer berbasis Spring Boot yang ada di Amazon Elastic Container Registry (Amazon ECR). 

Arsitektur

Menggunakan router log Firelens untuk mendorong log CloudWatch dari aplikasi yang berjalan di Amazon ECS.

Tumpukan teknologi

  • CloudWatch

  • Amazon ECR

  • Amazon ECS

  • Fargate

  • Docker

  • Fluent Bit

Alat

  • Amazon ECR — Amazon Elastic Container Registry (Amazon ECR) adalah layanan registri gambar kontainer terkelola AWS yang aman, terukur, dan andal.

  • Amazon ECS — Amazon Elastic Container Service (Amazon ECS) adalah layanan manajemen kontainer yang sangat skalabel dan cepat yang memudahkan untuk menjalankan, menghentikan, dan mengelola kontainer di cluster.

  • AWS Identity and Access Management (IAM) — IAM adalah layanan web untuk mengontrol akses ke layanan AWS secara aman.

  • AWS CLI — AWS Command Line Interface (AWS CLI) Command Line Interface (AWS CLI) adalah alat sumber terbuka yang memungkinkan Anda berinteraksi dengan layanan AWS menggunakan perintah di shell baris perintah Anda.

  • Docker — Docker adalah platform terbuka untuk mengembangkan, mengirim, dan menjalankan aplikasi.

Kode

File-file berikut dilampirkan ke pola ini:

  • customFluentBit.zip— Berisi file untuk menambahkan parsing dan konfigurasi khusus.

  • firelens_policy.json— Berisi dokumen kebijakan untuk membuat kebijakan IAM.

  • Task.json- Berisi definisi tugas sampel untuk Amazon ECS.

Epik

TugasDeskripsiKeterampilan yang dibutuhkan

Buat repositori Amazon ECR.

Masuk ke AWS Management Console, buka konsol Amazon ECR, dan buat repositori yang disebut. fluentbit_custom

Untuk informasi selengkapnya tentang ini, lihat Membuat repositori di dokumentasi Amazon ECR.

Administrator sistem, Pengembang

Buka zip customFluentBit paket.zip.

 

  1. Unduh customFluentBit.zip paket (terlampir) ke mesin lokal Anda. 

  2. Unzip ke customFluentBit direktori dengan menjalankan perintah berikut: unzip -d customFluentBit.zip

  3. Direktori berisi file-file berikut yang diperlukan untuk menambahkan parsing dan konfigurasi kustom:

    • parsers/springboot_parser.conf— Berisi direktif parser dan mendefinisikan pola ekspresi reguler (regex) untuk parser kustom. Anda dapat menambahkan pola regex untuk parser spesifik Anda.

    •  conf/parse_springboot.conf— Berisi filter dan arahan layanan.

    • Dockerfile

Buat gambar Docker kustom.

  1. Ubah direktori ke customFluentBit.

  2. Buka konsol Amazon ECR, pilih fluentbit_custom repositori, lalu pilih Lihat perintah push. 

  3. Unggah proyek Anda. 

  4. Setelah unggahan selesai, salin URL build. URL ini diperlukan saat Anda membuat wadah di Amazon ECS

Untuk informasi selengkapnya tentang ini, lihat Mendorong gambar Docker di dokumentasi Amazon ECR. 

Administrator sistem, Pengembang
TugasDeskripsiKeterampilan yang dibutuhkan

Buat cluster Amazon ECS.

Buat klaster Amazon ECS dengan mengikuti petunjuk dari bagian Template Networking only pada Membuat klaster di dokumentasi Amazon ECS.

catatan

Pastikan Anda memilih Create VPC untuk membuat virtual private cloud (VPC) baru untuk cluster Amazon ECS Anda.

Administrator sistem, Pengembang
TugasDeskripsiKeterampilan yang dibutuhkan

Siapkan peran IAM eksekusi tugas Amazon ECS.

Buat peran IAM eksekusi tugas Amazon ECS dengan menggunakan kebijakan AmazonECSTaskExecutionRolePolicy terkelola. Untuk informasi selengkapnya tentang ini, lihat peran IAM eksekusi tugas Amazon ECS dalam dokumentasi Amazon ECS.

catatan

Pastikan Anda merekam Nama Sumber Daya Amazon (ARN) peran IAM.

Administrator sistem, Pengembang

Lampirkan kebijakan IAM ke peran IAM eksekusi tugas Amazon ECS.

  1. Buat kebijakan IAM dengan menggunakan dokumen kebijakan firelens_policy.json (terlampir). Untuk informasi selengkapnya tentang ini, lihat Membuat kebijakan pada tab JSON di dokumentasi IAM.

  2. Lampirkan kebijakan ini ke peran IAM eksekusi tugas Amazon ECS yang Anda buat sebelumnya. Untuk informasi selengkapnya tentang ini, lihat Menambahkan kebijakan IAM (AWS CLI) di dokumentasi IAM. 

Administrator sistem, Pengembang

Siapkan definisi tugas Amazon ECS.

  1. Perbarui bagian berikut dalam definisi tugas Task.json sampel (terlampir):

    • Perbarui executionRoleArn dan taskRoleArn dengan ARN dari peran IAM eksekusi tugas

    • Perbarui gambar containerDefinitions dengan gambar Fluent Bit Docker khusus yang Anda buat sebelumnya

    • Perbarui gambar containerDefinitions dengan nama gambar aplikasi Anda

  2. Buka konsol Amazon ECS, pilih Definisi Tugas, pilih Buat definisi tugas baru, lalu pilih Fargate di halaman Pilih kompatibilitas.    

  3. Pilih Konfigurasi melalui Json, tempel Task.json file yang diperbarui ke area teks, lalu pilih Simpan.

  4. Buat definisi tugas.

Untuk informasi selengkapnya tentang ini, lihat Membuat definisi tugas dalam dokumentasi Amazon ECS.

Administrator sistem, Pengembang
TugasDeskripsiKeterampilan yang dibutuhkan

Jalankan tugas Amazon ECS.

Di konsol Amazon ECS, pilih Cluster, pilih klaster yang Anda buat sebelumnya, lalu jalankan tugas mandiri.

Untuk informasi selengkapnya tentang ini, lihat Menjalankan tugas mandiri di dokumentasi Amazon ECS.

Administrator sistem, Pengembang
TugasDeskripsiKeterampilan yang dibutuhkan

Verifikasi log.

  1. Buka CloudWatch konsol, pilih Grup log, lalu pilih/aws/ecs/containerinsights/{{cluster_ARN}}/firelens/application.

  2. Verifikasi log, terutama bidang kustom yang ditambahkan oleh parser kustom.

  3. Gunakan CloudWatch untuk memfilter log berdasarkan bidang kustom.

Administrator sistem, Pengembang

Sumber daya terkait

Lampiran

Untuk mengakses konten tambahan yang terkait dengan dokumen ini, unzip file berikut: attachment.zip