View a markdown version of this page

Jenis logging di Amazon EKS - AWS Bimbingan Preskriptif

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

Jenis logging di Amazon EKS

Di Amazon EKS, logging melibatkan pengambilan, penyimpanan, dan analisis berbagai jenis data log yang dihasilkan oleh berbagai komponen cluster Kubernetes, termasuk:

Untuk mengelola log di lingkungan Amazon EKS Anda secara efektif, Anda biasanya menggunakan kombinasi Layanan AWS, alat pihak ketiga, dan praktik terbaik. Ini mungkin termasuk menggunakan Amazon CloudWatch, Fluent Bit, Elasticsearch, Kibana, dan alat pencatatan dan analisis lainnya untuk mengumpulkan, menyimpan, dan memvisualisasikan data log.

Bagian berikut mengeksplorasi berbagai aspek logging di Amazon EKS, termasuk praktik terbaik, alat, dan teknik untuk menerapkan strategi logging komprehensif di klaster Kubernetes Anda. AWS

Log sistem

Logging untuk instans EC2 yang mendasari atau node Fargate di Amazon EKS melibatkan pendekatan yang berbeda tergantung pada jenis node.

Untuk menerapkan logging untuk instans EC2 di Amazon EKS, Anda dapat menggunakan alat berikut:

  • CloudWatch agent: Instal dan konfigurasikan CloudWatch agen pada instans EC2 Anda. Konfigurasikan untuk mengumpulkan log sistem seperti /var/log/messages dan/var/log/secure. Anda dapat menggunakan skrip data pengguna atau alat manajemen konfigurasi untuk mengotomatiskan proses ini.

  • Fluent Bit: Terapkan Fluent Bit sebagai a DaemonSet untuk mengumpulkan log dari semua node. Konfigurasikan untuk meneruskan CloudWatch log ke Log atau sistem logging terpusat lainnya.

  • Wawasan Kontainer: Aktifkan Wawasan Kontainer di kluster EKS Anda untuk secara otomatis mengumpulkan metrik dan log dari instans EC2.

  • Skrip khusus: Kembangkan skrip khusus untuk mengumpulkan log tertentu dan mengirimkannya ke tujuan pencatatan pilihan Anda.

  • Agen SSM: Gunakan AWS Systems Manager Agen (Agen SSM) untuk mengumpulkan dan meneruskan log ke CloudWatch Log.

Untuk mengimplementasikan logging untuk node Fargate di Amazon EKS, gunakan alat ini:

  • Fargate logging: Fargate secara otomatis mengumpulkan stdout dan stderr mencatat dari wadah Anda. Konfigurasikan profil Fargate Anda untuk mengirim log ini ke CloudWatch Log.

  • Fluent Bit for Fargate AWS : menyediakan gambar Fluent Bit khusus untuk logging Fargate. Terapkan sebagai wadah sespan di pod Fargate Anda untuk mengumpulkan dan meneruskan log.

  • Wawasan Kontainer untuk Fargate: Aktifkan Wawasan Kontainer untuk mengumpulkan metrik dan log dari node Fargate.

Log komponen Kubernetes

Mengumpulkan log dari komponen Kubernetes seperti server API, scheduler, dan manajer pengontrol di Amazon EKS memerlukan pendekatan yang sedikit berbeda dari pencatatan aplikasi. Komponen-komponen ini berjalan sebagai bagian dari bidang kontrol Amazon EKS, yang dikelola oleh AWS. Berikut cara mengumpulkan dan mengakses log ini:

  • Aktifkan pencatatan bidang kontrol: Anda dapat mengaktifkan pencatatan bidang kontrol untuk cluster EKS Anda melalui alat Konsol Manajemen AWS, AWS Command Line Interface (AWS CLI), atau infrastruktur sebagai kode (IAc) seperti AWS CloudFormationatau Terraform. Saat Anda mengaktifkan pencatatan bidang kontrol, log akan dikirim ke Amazon CloudWatch Logs. Anda dapat melihatnya di CloudWatch konsol di grup /aws/eks/<cluster-name>/cluster log. Dalam grup log ini, setiap komponen bidang kontrol memiliki aliran lognya sendiri sebagai berikut:

    Nama aliran Deskripsi
    apiserver kube Log server API Kubernetes
    penjadwal kube Log keputusan penjadwal
    kube-controller-manager Log manajer pengontrol
    autentikator Log autentikator IAM
    audit Log audit Kubernetes (harus diaktifkan secara eksplisit)

    Untuk melihat log untuk komponen tertentu, navigasikan ke grup log cluster dan filter berdasarkan nama aliran log target.

  • Gunakan Wawasan CloudWatch Log: Anda dapat menggunakan Wawasan CloudWatch Log untuk melakukan kueri kompleks pada log Anda.

  • Ekspor log ke Amazon S3: Untuk penyimpanan jangka panjang atau analisis lebih lanjut, Anda dapat mengekspor log ke Amazon Simple Storage Service (Amazon S3).

  • Gunakan alat pihak ketiga: Anda dapat menggunakan alat seperti Fluent Bit untuk mengumpulkan log ini dan meneruskannya ke sistem logging lain seperti Elasticsearch atau Splunk.

  • Penggunaan AWS CloudTrail: AWS CloudTrailLayanan ini dapat memberikan wawasan tambahan tentang panggilan API yang dilakukan ke kluster EKS Anda.

Log runtime kontainer

Pencatatan log runtime kontainer di Amazon EKS melibatkan pengambilan dan pengelolaan log dari runtime container, yang biasanya untuk containerd Amazon EKS. Inilah cara Anda mendekati log runtime pencatatan container di Amazon EKS:

  • Akses langsung log di node Amazon EC2. Untuk node EC2 yang dikelola sendiri, Anda dapat langsung mengakses log runtime container di host dari lokasi berikut:

    • containerdlog: /var/log/containers/

    • Log Docker (jika Anda menggunakan runtime Docker): /var/log/docker.log

  • Gunakan koleksi DaemonSet untuk log.

  • Menyebarkan agen pengumpulan log (seperti Fluent Bit) sebagai DaemonSet untuk mengumpulkan log dari semua node.

  • Konfigurasikan CloudWatch agen untuk mengumpulkan log runtime kontainer.

  • Aktifkan Wawasan Kontainer untuk mengumpulkan metrik dan log runtime kontainer.

  • Gunakan Fargate. Untuk node Fargate, log runtime kontainer dikumpulkan secara otomatis dan dapat diakses melalui Log. CloudWatch

  • Menerapkan solusi logging kustom dengan menggunakan alat seperti Fluent Bit atau Logstash. Siapkan CloudWatchalarm atau gunakan alat seperti Prometheus untuk memantau pola atau masalah tertentu dalam log runtime kontainer. Pertimbangkan untuk menggunakan solusi logging pihak ketiga yang terintegrasi dengan baik dengan Kubernetes dan Amazon EKS, seperti Datadog, Splunk, atau Elastic Stack (ELK Stack). Gunakan alat agregasi log untuk mengumpulkan log dari berbagai sumber dan meneruskannya ke sistem logging terpusat.

Log aplikasi

Log aplikasi di Amazon EKS adalah bagian penting dari pemeliharaan dan pemecahan masalah aplikasi Anda. Untuk menerapkan pencatatan aplikasi di Amazon EKS, Anda dapat memilih dari opsi ini:

  • Tulis log kestdout/stderr: Cara paling sederhana dan paling asli Kubernetes untuk menangani log aplikasi adalah dengan menuliskannya ke dan. stdout stderr Kubernetes secara otomatis menangkap aliran ini.

  • Terapkan agregasi log: Gunakan agregator log seperti Fluent Bit untuk mengumpulkan log dari semua pod Anda.

  • Konfigurasikan perutean log: Konfigurasikan agregator log Anda untuk merutekan log ke tujuan yang Anda inginkan (seperti CloudWatch Log atau Elasticsearch).

  • Gunakan CloudWatch Wawasan Kontainer: Aktifkan Wawasan Kontainer untuk pencatatan dan pemantauan komprehensif.