

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

# Masuk Amazon EKS
<a name="logging"></a>

Logging adalah aspek penting dalam mengelola dan memelihara aplikasi yang berjalan di Amazon EKS. Praktik pencatatan yang efektif di lingkungan Amazon EKS membantu pengembang, tim operasi, dan administrator sistem mendapatkan wawasan berharga tentang perilaku, kinerja, dan kesehatan aplikasi kontainer dan infrastruktur dasarnya.

Menerapkan strategi logging yang kuat di Amazon EKS sangat penting karena beberapa alasan:
+ **Pemecahan masalah: Log** membantu mengidentifikasi dan mendiagnosis masalah dengan cepat, yang mengurangi waktu henti dan meningkatkan keandalan sistem secara keseluruhan.
+ **Kepatuhan**: Banyak industri memerlukan penebangan komprehensif untuk tujuan audit dan regulasi.
+ **Keamanan**: Analisis log dapat membantu Anda mendeteksi dan menyelidiki potensi ancaman atau pelanggaran keamanan.
+ **Optimalisasi kinerja**: Log memberikan wawasan tentang kinerja aplikasi dan sistem, sehingga Anda dapat mengidentifikasi kemacetan dan mengoptimalkan pemanfaatan sumber daya.
+ **Pemantauan dan peringatan**: Data log dapat digunakan untuk mengatur sistem pemantauan dan memicu peringatan untuk peristiwa atau kondisi tertentu.

**Topics**
+ [Jenis penebangan](log-types.md)
+ [Praktik terbaik](logging-best-practices.md)
+ [Pertimbangan penting](logging-considerations.md)

# Jenis logging di Amazon EKS
<a name="log-types"></a>

Di Amazon EKS, logging melibatkan pengambilan, penyimpanan, dan analisis berbagai jenis data log yang dihasilkan oleh berbagai komponen cluster [Kubernetes](https://kubernetes.io/), termasuk:
+ **Log sistem**: Informasi tentang instans atau node [Amazon Elastic Compute Cloud (Amazon EC2)](https://aws.amazon.com/pm/ec2/) yang mendasari [AWS Fargate](https://aws.amazon.com/fargate/)
+ **Log komponen Kubernetes** [https://kubernetes.io/docs/concepts/scheduling-eviction/kube-scheduler/](https://kubernetes.io/docs/concepts/scheduling-eviction/kube-scheduler/)
+ **Log runtime kontainer**[: Informasi dari runtime container, seperti [Docker](https://www.docker.com/blog/containerd-vs-docker/) atau containerd](https://containerd.io/)
+ **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](https://aws.amazon.com/cloudwatch/), [Fluent Bit](https://fluentbit.io/), [Elasticsearch](https://www.elastic.co/elasticsearch), [Kibana](https://www.elastic.co/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
<a name="system-logs"></a>

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](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/install-CloudWatch-Agent-on-EC2-Instance.html): 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](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Container-Insights-setup-logs-FluentBit.html): Terapkan Fluent Bit sebagai a DaemonSet untuk mengumpulkan log dari semua node. Konfigurasikan untuk meneruskan [CloudWatch log ke Log](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/WhatIsCloudWatchLogs.html) atau sistem logging terpusat lainnya.
+ [Wawasan Kontainer](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/ContainerInsights.html): 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](https://docs.aws.amazon.com/systems-manager/latest/userguide/ssm-agent.html): 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](https://docs.aws.amazon.com/eks/latest/userguide/fargate-logging.html): 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](https://github.com/aws/aws-for-fluent-bit) 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](https://aws-otel.github.io/docs/getting-started/container-insights/eks-fargate): Aktifkan Wawasan Kontainer untuk mengumpulkan metrik dan log dari node Fargate.

## Log komponen Kubernetes
<a name="kubernetes-logs"></a>

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)](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-welcome.html), atau infrastruktur sebagai kode (IAc) seperti [AWS CloudFormation](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/Welcome.html)atau 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:    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/prescriptive-guidance/latest/amazon-eks-observability-best-practices/log-types.html)

  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](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/AnalyzingLogData.html) 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)](https://docs.aws.amazon.com/AmazonS3/latest/userguide/Welcome.html).](https://docs.aws.amazon.com/AmazonS3/latest/userguide/Welcome.html)
+ **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 CloudTrail](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-user-guide.html)Layanan ini dapat memberikan wawasan tambahan tentang panggilan API yang dilakukan ke kluster EKS Anda.

## Log runtime kontainer
<a name="runtime-logs"></a>

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:
  + `containerd`log: `/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](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/AlarmThatSendsEmail.html) 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
<a name="app-logs"></a>

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. `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.

# Praktik terbaik untuk masuk ke Amazon EKS
<a name="logging-best-practices"></a>

Praktik terbaik berikut membantu menciptakan sistem logging yang kuat, dapat diskalakan, dan efisien untuk lingkungan Amazon EKS Anda, serta memberikan pemecahan masalah, pemantauan, dan pengelolaan keseluruhan klaster Kubernetes yang lebih baik.
+ **Memusatkan koleksi log**: Gunakan solusi logging terpusat seperti CloudWatch Log, Elasticsearch, atau layanan pihak ketiga untuk mengumpulkan log dari semua komponen. Ini menyediakan satu titik akses untuk analisis log dan menyederhanakan manajemen.
+ **Terapkan logging terstruktur**: Gunakan format log terstruktur seperti JSON sehingga log dapat diurai dan dicari dengan lebih mudah. Sertakan metadata yang relevan seperti stempel waktu, tingkat log, dan pengidentifikasi sumber.
+ **Gunakan tingkat log dengan tepat**: Menerapkan tingkat log yang tepat (seperti`DEBUG`,`INFO`,`WARN`, dan`ERROR`) dalam aplikasi Anda. Konfigurasikan lingkungan produksi untuk log pada tingkat yang sesuai untuk menghindari logging yang berlebihan.
+ **Aktifkan pencatatan kontainer**: Konfigurasikan kontainer Anda untuk masuk `stdout` dan`stderr`. Hal ini memungkinkan Kubernetes untuk menangkap dan meneruskan log ini ke solusi logging pilihan Anda.
+ **Aktifkan pencatatan aplikasi**: Konfigurasikan aplikasi untuk menulis log ke `stdout` dan `stderr` alih-alih menulis ke file log. Ini mengikuti [metodologi aplikasi 12 faktor](https://12factor.net/logs) dan selaras dengan praktik terbaik cloud-native.
+ **Gunakan Kubernetes DaemonSets untuk pengumpulan log**: Menerapkan agen pengumpulan log (seperti Fluent Bit) DaemonSets untuk memastikan bahwa mereka berjalan di setiap node di klaster Anda.
+ **Menerapkan kebijakan retensi**: Menentukan dan menegakkan kebijakan penyimpanan log untuk mematuhi peraturan dan mengelola biaya penyimpanan.
+ **Data log aman**: Enkripsi log saat transit dan saat istirahat. Menerapkan kontrol akses untuk membatasi siapa yang dapat melihat dan mengelola log.
+ **Memantau konsumsi log**: Siapkan peringatan untuk kegagalan atau penundaan konsumsi log untuk memastikan pencatatan berkelanjutan.
+ **Gunakan anotasi dan label Kubernetes: Gunakan anotasi dan label** Kubernetes untuk menambahkan metadata ke log Anda, untuk meningkatkan kemampuan pencarian dan pemfilteran.
+ **Menerapkan penelusuran terdistribusi**: Gunakan alat penelusuran terdistribusi seperti [AWS X-Ray](https://docs.aws.amazon.com/xray/latest/devguide/aws-xray.html)atau Jaeger untuk menghubungkan log di seluruh layanan mikro.
+ **Optimalkan volume log**: Selektif tentang apa yang Anda log untuk menghindari biaya yang tidak perlu dan masalah kinerja. Gunakan sampling untuk log bervolume tinggi dan bernilai rendah.
+ **Terapkan agregasi log**: Gunakan alat seperti Logstash untuk mengumpulkan log dari berbagai sumber sebelum mengirimnya ke sistem logging pusat Anda.
+ **Gunakan Layanan AWS bila memungkinkan**: Layanan seperti CloudWatch Log dan Wawasan Kontainer menyediakan integrasi tanpa batas dengan yang lain. Layanan AWS
+ **Terapkan analisis dan visualisasi log**: Gunakan alat seperti Wawasan CloudWatch Log, Elasticsearch dengan Kibana, atau solusi pihak ketiga untuk analisis dan visualisasi log.
+ **Terapkan analisis log otomatis**: Gunakan pembelajaran mesin dan alat yang didukung AI untuk mendeteksi anomali dan pola di log Anda secara otomatis.
+ **Dokumentasikan strategi logging Anda**: Pertahankan dokumentasi yang jelas tentang arsitektur, praktik, dan alat logging Anda untuk tim Anda.

# Pertimbangan penting untuk masuk ke Amazon EKS
<a name="logging-considerations"></a>

Bagian ini membahas pertimbangan penting yang perlu diingat saat Anda menerapkan logging di Amazon EKS.
+ **Dampak kinerja**: Pencatatan yang berlebihan dapat memengaruhi kinerja aplikasi. Perhatikan volume dan frekuensi log yang dihasilkan.
+ **Manajemen biaya**: Penyimpanan dan pemrosesan log dapat menimbulkan biaya yang signifikan, terutama dalam skala besar. Menerapkan kebijakan penyimpanan log dan pertimbangkan untuk menggunakan agregasi log untuk mengurangi biaya.
+ **Keamanan dan kepatuhan**: Pastikan log tidak berisi informasi sensitif seperti kata sandi atau data pribadi. Menerapkan enkripsi untuk log dalam perjalanan dan saat istirahat. Pertimbangkan persyaratan kepatuhan seperti Peraturan Perlindungan Data Umum (GDPR) atau Undang-Undang Portabilitas dan Akuntabilitas Asuransi Kesehatan (HIPAA) saat Anda menangani log.
+ **Skalabilitas**: Pastikan solusi logging Anda dapat menskalakan dengan ukuran cluster dan volume log Anda. Pertimbangkan untuk menggunakan buffering dan batching untuk transmisi log.
+ **Retensi log**: Tentukan dan terapkan periode retensi log yang sesuai. Menyeimbangkan persyaratan kepatuhan terhadap biaya penyimpanan.
+ **Kontrol akses**: Menerapkan peran dan kebijakan yang tepat AWS Identity and Access Management (IAM) untuk akses log. Ikuti [prinsip hak istimewa paling sedikit](https://docs.aws.amazon.com/wellarchitected/latest/security-pillar/sec_permissions_least_privileges.html) untuk manajemen log.
+ **Konsistensi log**: Gunakan format log yang konsisten di berbagai aplikasi dan layanan. Gunakan logging terstruktur untuk penguraian dan analisis yang lebih mudah.
+ **Sinkronisasi waktu**: Sinkronisasi waktu di semua node untuk mendapatkan stempel waktu yang konsisten di log.
+ **Alokasi sumber daya**: Alokasikan sumber daya yang sesuai (seperti CPU dan memori) untuk agen logging. Pantau penggunaan sumber daya komponen logging.
+ **Pertimbangan Fargate:** Fargate memiliki mekanisme logging spesifik yang berbeda dari node berbasis EC2. Memahami keterbatasan dan kemampuan logging [Fargate](https://docs.aws.amazon.com/eks/latest/userguide/fargate-logging.html).
+ **Cluster multi-penyewa**: Di lingkungan multi-penyewa, pastikan log diisolasi dengan benar di antara penyewa.
+ **Penguraian dan analisis log**: Pertimbangkan alat dan keterampilan yang diperlukan untuk analisis log yang efektif. Menerapkan penguraian log untuk ekstraksi data terstruktur.
+ **Memantau sistem logging**: Siapkan pemantauan untuk infrastruktur logging itu sendiri. Hasilkan peringatan untuk kegagalan sistem logging atau backlog.
+ **Dampak jaringan**: Waspadai bandwidth jaringan yang digunakan oleh transmisi log. Pertimbangkan untuk menggunakan kompresi untuk data log.
+ Peristiwa **Kubernetes: Jangan mengabaikan peristiwa** Kubernetes sebagai sumber informasi penting.
+ **Kontrol logging pesawat**: Memahami implikasi dan biaya mengaktifkan logging pesawat kontrol.
+ **Kemampuan debugging**: Pastikan bahwa solusi logging Anda memungkinkan debugging dan pemecahan masalah yang mudah.
+ **Integrasi dengan alat yang ada**: Pertimbangkan bagaimana solusi logging Amazon EKS Anda terintegrasi dengan alat pemantauan dan peringatan yang ada.
+ **Pengujian**: Uji pengaturan logging Anda secara teratur, terutama setelah peningkatan klaster.
+ **Dokumentasi**: Pertahankan dokumentasi yang jelas tentang arsitektur dan praktik logging Anda.
+ **Latensi agregasi log: Waspadai latensi** apa pun dalam agregasi log dan bagaimana hal itu dapat memengaruhi pemantauan waktu nyata.