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
-
Log sistem: Informasi tentang instans atau node Amazon Elastic Compute Cloud (Amazon EC2)
yang mendasari AWS Fargate -
Log komponen Kubernetes : Data dari komponen inti Kubernetes seperti server API
, scheduler, dan manajer pengontrol -
Log runtime kontainer: Informasi dari runtime container, seperti Docker
atau containerd -
Log aplikasi: Keluaran dari aplikasi kontainer
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
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/messagesdan/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
stdoutdanstderrmencatat 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>/clusterlog. 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 ke
stdout/stderr: Cara paling sederhana dan paling asli Kubernetes untuk menangani log aplikasi adalah dengan menuliskannya ke dan.stdoutstderrKubernetes 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.